Cha1 2
Cha1 2
Cha1 2
Bases de Données
Conception - Implémentation – Utilisation
Pr. M. QBADOU
Objectifs
3
Exemples de SGBD
Sommaire
III. Fondement du Modèle Entité-Association
Objectifs du modèle
Concepts du modèle
▪ Attribut, Entité, Identifiant,
▪ Association, Cardinalités, Rôles.
▪ Types d’association
Démarche d’élaboration d’un modèle Entité-Association
Règles de validation d’un Modèle Entité-Association
Pr M.QBADOU
▪ Buts recherchés
▪ Formes normales
Exemple d’application
Etudes de cas
4
Sommaire
IV. Fondement du Modèle Relationnel
Objectifs du modèle
Concepts du modèle
▪ Domaine, attribut, relation(table), clés, schéma
▪ Règles d’intégrité :
o contraintes de domaine
o clé primaire, contrainte de référence,
Règles de passage du MCD au MLDR
Opérations de l’algèbre relationnelle
▪ Opérations ensemblistes (Union, Intersection, Différence …)
Pr M.QBADOU
V. Le langage SQL
6
Sommaire
Définition de données
7
I. Introduction aux Bases de Données
1. Exemple introductif : Vues pour l’Achat en ligne de billets de train
Pr M.QBADOU
8 8888888888
8
I. Introduction aux Bases de Données
2. Les niveaux d’un Système Informatique
IHM
Vues utilisateurs Navigateur Navigateur
Navigateur Web
Applications
Programmes Application Application
Serveurs Web
Serveurs d’application
Pr M.QBADOU
10
I. Introduction aux Bases de Données
2. Système d’information
Activités du DBA
Pr M.QBADOU
11
I. Introduction aux Bases de Données
2. Système d’information
Cycle de vie du développement de systèmes d’information
Phase Action(s)
Planning
Analysis
Detailed
System design
Pr M.QBADOU
Implementation
Maintenance
12
I. Introduction aux Bases de Données
3. Définitions
3.1. Base de données
Collection de données structurées, mémorisées sans redondance
inutiles, pour servir plusieurs applications(utilisateurs) de façon
sélective et en temps très court, on y enregistre les données de façon qui
permet une indépendantes des programmes qui les utilisent, on utilise
une approche commune et contrôlée pour ajouter, modifier, retrouver
des données”. Elle contient également la description de ses données.
14
I. Introduction aux Bases de Données
5. Exemples de BD
Les Bases de Données sont nécessaires à tous les domaines d'activité :
industrie, commerce, services, recherche scientifique, …
15
I. Introduction aux Bases de Données
6. Cycle de vie d’une base de données
Le développement d’une BD passe par quatre phases :
Planification et Conception de la BD
Implantation, test et évaluation de la BD dans un SGBD
Utilisation de la BD
Maintenance et évolution de la BD
Pr M.QBADOU
16
I. Introduction aux Bases de Données
Etapes de conception d’une BD 1
Interview
Documents
2 (Besoins)
Modélisation
Entité-Association
Modèle Schéma
Conceptuel Entité-Association
3
Transformation en
1 Analyse de la situation existante et des besoins
schéma relationnel
2 Création d'une série de modèles conceptuels
(canonique et vues externes) qui permettent de
Pr M.QBADOU
18
I. Introduction aux Bases de Données
Modèle E-A – Exemple 1
Objectifs? Perception
Énoncé
Monde réel
Analyse Personnes 0,N Voitures
conceptuelle 1,N Possède 1,1
N° CIN. N° plaque.
Nom Marque
0,N Modèle
Adresse 1,N 1,N
Schéma Louer ...
...
Durée
conceptuel
Calendrier
Pr M.QBADOU
1,N
DateLocation
Règles :(contraintes)
• Seules les voitures dont la modèle est >=2018 sont considérés,
• La durée de location est exprimée en jours et doit être au moins égale à 1,
19 • Une même voiture ne peut être louer à la même date plus qu’une fois.
I. Introduction aux Bases de Données
Modèle E-A – Exemple 2 CLIENT
0,N
0,N
NumClient Signe
Nom (1,1)
Appartient
Adresse CONTRAT
1,1 NumContrat
1,1 0,1 TypeContrat
VEHICULE Couvert DateDebut
DateFin
NumVehicule 0,N
0,N
Marque Concerne ACCIDENT
Modele NumAccident
Annee DateAccident
Adresse
Eléments d’un modèle E-A
Pr M.QBADOU
N°CIN
Exemple 1
Nom LOCATIONS
Adresse N°CIN *
… N°Plaque *
Pr M.QBADOU
DateLocation*
VOITURES
Durée
N° plaque
Marque
Modèle
…
N°CIN *
21
I. Introduction aux Bases de Données
Exemple 2
Gestion d’un ensemble de polycliniques lieus de travail de Médecins
spécialistes
1-1
Travaille Possède 0-N
MEDCINS
0-N MEDCINS SPECIALITE
SPECIALITE NumMatr
NumMatr Nom CodeSp
CodeSp
CodeSp * Libellé
Nom Libellé
22
I. Introduction aux Bases de Données
6.2. Implantation de la BD
Transmission de ce schéma au SGBD en utilisant :
▪ Le Niveau visuel ne nécessitant aucune programmation
▪ Le Niveau programmation en utilisant SQL de description de
données DDL(Data Description Language)
/* implémentation C */
struct Type_Pers Personnes{
char N_CIN[12];
char Nom[30]; /* Implémentation BD- Ordre SQL */
char Adresse[100]; CREATE TABLE Personne(
Pr M.QBADOU
Démonstration
Pr M.QBADOU
24
I. Introduction aux Bases de Données
◆ TP – AirCompagnie
◼ Etant donné le modèle conceptuel ci-dessous, réaliser le modèle logique
correspondant
Pr M.QBADOU
26
I. Introduction aux Bases de Données
Corrigé TP
Compagnie Aérienne – Modèle physique
Pr M.QBADOU
27
I. Introduction aux Bases de Données
Compagnie Aérienne : Script SQL
create table Pilote( create table Vol(
Matricule long Constraint PkPilote Primary key, NumVol long Primary key,
Nom char(50) not null, HeureDep date not null,
Prenom char(50) not null, HeureArr Date not null,
Ville char(50) not null, VilleDep char(50) not null,
Age integer not null,Salaire currency not null VilleArr char(50) not null);
); create index IndVilleArr on Vol(VilleArr);
create index IndVille on Pilote(Ville); create table Depart(
create table Passager( NumVol long Constraint DepartVol references Vol,
NumPa long Constraint PkPassager Primary key, DateDep Date,
Nom char(50) not null Matricule long Constraint DepartPilote references Pilote,
); NumAv long references Avion,
Pr M.QBADOU
28
I. Introduction aux Bases de Données
Compagnie Aérienne : Exemple de données
AVION NUMAV TYPE CAPACITE ENTREPOT
1 A300 300 NICE
2 A310 300 NICE
3 B707 250 PARIS
4 A300 280 LYON
5 B747 460 PARIS
2 1 31-12-95
3 1 31-12-95
4 1 19-12-95
5 1 19-12-95
1 2 29-10-95
6 2 29-10-95
30
I. Introduction aux Bases de Données
6.3. Utilisation de la DB
Interrogation et mise à jour de la base en utilisant un langage de
manipulation de données (DML). Ce langage permet de créer :
▪ Des requêtes d ’interrogation : sélection de données
Ajout,
suppression,
modification
Pr M.QBADOU
32
II. Introduction aux SGBD
1 Qu’est ce qu’un SGBD ?
SGBD = ensemble d'outils logiciels permettant la création, l’administration,
l'utilisation et la maintenance de bases de données. Il représente l’interface
entre les applications (programmes) et les bases de données
34
II. Introduction aux SGBD
3 Architecture d’un SGBD
SGBD BD
Livres
SGBD Chambres
Mac
Appli Java
Méta Modèle :
Description
Appli C BD
35
PC Linux
II. Introduction aux SGBD
Couches d’un SGBD
Pour garantir l ’indépendance physique/logique, un SGBD est structuré
en trois couches
Schéma conceptuel
Pr M.QBADOU
• SGBD NewSQL,
• …
38
II. Introduction aux SGBD
4.1. SGBD hiérarchiques (1950)
Les données sont représentées sous forme d’une structure
arborescence d’enregistrements (Records, Record types).
Cette structure, implantée à l’aide de pointeurs, détermine
le chemin d’accès aux données (Relation père fils
(pointeur, arbre))
Record types
Record
Pr M.QBADOU
39
Limitation : Très limité en terme d’arbre et de relation
II. Introduction aux SGBD
4.2. SGBD réseaux ( Années 1960)
les données sont représentées dans la base sous la forme d'un
graphe quelconque qui utilise des pointeurs et qui détermine le
chemin d'accès aux données. Les nœuds constituent des articles
et les arcs du graphe constituent des pointeurs
Set
Record types
Record
Pr M.QBADOU
Limites
▪ Gestion complexe des pannes → problème de fiabilité,
▪ Gestion de la concurrence (transactions) plus difficile à mettre en œuvre,
42