Académique Documents
Professionnel Documents
Culture Documents
Bases de Donnes
Modle Entit Association
Modle Relationnel
Mthode de conception
de bases de donnes
3
1,1 0, n
ETUDIANT Rsider DPARTEMENT
numE numDep
Questions
Conception de BD relationnelles
Objectifs :
viter redondance de donnes
assurer cohrence des donnes
permettre des requtes
10
Le schema relationnel
Comment stocker les donnes sur les tudiants ainsi que leur
dpartement de rsidence sous forme de N et de libell ?
Exemple de table mal construite, non normalise
Redondance
Volume de donnes (espace-disque) plus important
Risque d'incohrence des donnes : anomalie l'insertion/modification
Risque de perte d'information (dpartement) : anomalie la suppression
12
0,1 0,N
ETUDIANT habite DEPARTEMENT
numE dep
nom libDep
prenom
licence
13
Contraintes de colonnes
domaine de donnes (date, entiers,...)
Contraintes entre deux colonnes (cl primaires, cls trangres...)
Contraintes (unique, >10, etc...)
16
0,N
CLIENT
possde 1,1
numC VOITURE
numV
nomC 1,N
prenomC marqueV
concerne modleV
adresseC
1,N 1,1
SALARIE 1,N
ralise REPARATION
numS
numR
nomS
dateR
prenomS
adresseS
22
Relationnel : Cl primaire
Cl primaire - Cl trangre
...
cl primaire cl trangre cl primaire
24
Rgle 1 : entit
Chaque entit donne une table
Son identifiant est la cl de la table
Rgle 2 : association de type 1-N ou 1-1
L'identifiant de l'entit ct N est ajoute du ct 1 o elle
devient cl trangre
Rgle 3: association de type N-M
Cration d'une nouvelle table dont la cl primaires est
l'ensemble des identifiants des entits concernes
Tout attribut de l'association devient attribut de la nouvelle table
27
Schma Entit/Association
1,1 0,n
ETUDIANT rsider DEPARTEMENT
numE numDep
nom libDep
prenom
Schma relationnel
ETUDIANT (numE, nom, prenom, #numDep)
numDep refrence numDep(DEPARTEMENT)
DEPARTEMENT (numDep, libDep)
28
Schma Entit/Association
0,n 1,n
Produit commander Commande
quantit
code-prod num-com
lib-prod date-com
prix
Schma relationnel
PRODUIT (code-prod, lib-prod, prix)
COMMANDE (num-com, date-com)
LIGNE-DE-COMMANDE(#code-prod, #num-com, quantite)
code-prod refrence code-prod(PRODUIT)
num-com refrence numCom(COMMANDE)
29
Schma Entit/Association
1,n 1,n
Etudiant Noter Matire
moyenne
numE codeMatiere
nom libMatiere
adresse
Schma relationnel
ETUDIANT (numE, nom, adresse)
MATIERE (codeMatiere, libMatiere)
NOTER(#numE, #codeMatiere, moyenne)
numE refrence numE(Etudiant)
codeMatiere refrence codeMatiere(Matiere)
30
Schma Entit/Association
1,n 1,n
Etudiant Sport
pratiquer
numE numSport
nom libSport
prenom
Schma relationnel
ETUDIANT (numE, nom, prenom)
SPORT (numSport, libSport)
PRATIQUER (#numE, #numSport)
numE refrence numE(Etudiant)
numSport refrence numSport(Sport)
31
numClub
nomClub
Schma relationnel
ETUDIANT (numE, nom, prenom)
SPORT (numSport, libSport)
CLUB(numClub, nomClub)
PRATIQUER (#numE, #numSport, #numClub )
numE refrence numE(Etudiant)
numSport refrence numSport(Sport)
numClub refrence numClub(Club)
32
1,1 1,1
PREFECTURE DEPARTEMENT
est dans
numPref codeDep
nomVille libDep
nbHab nbHab
nomPrefet
Schma relationnel
PREFECTURE (numPref, nomVille, nbHab, nomPrefet, #codeDep)
codeDep refrence codeDep(DEPARTEMENT)
DEPARTEMENT (codeDep, libDep)
33
EMPLOY 0,1
numE
nomE A pour chef
prenomE
Service
1,n
Schma relationnel
EMPLOYE (numE, nomE, prenomE, Service, #chef)
chef refrence numE(EMPLOYE)
34
Schma Entit/Association
1,1 1,1
PREFECTURE DEPARTEMENT
est dans
numPref codeDep
nomVille libDep
nomPrefet nbHab
nbHab
Schma relationnel
PREFECTURE (numPref, nomVille, nbHab, nomPrefet)
DEPARTEMENT (codeDep, libDep, nbHab, #numPref)
numPref refrence numPref(PREFECTURE)
35
DEPARTEMENT
codeDep
numPref
libDep
nbHabDep
nomVille
nomPrefet
nbHabPref
Schma relationnel
DEPARTEMENT (codeDep, libDep, nbHabDep, numPref, nomVille,
nomPrefet, nbHabPref)
36
Schma Entit/Association
PREFECTURE
numPREF
codeDep
libDep
nbHabDep
nomVille
nomPrefet
nbHabPref
Schma relationnel
PREFECTURE (numPref, codeDep, libDep, nbHabDep, nomVille,
nomPrefet, nbHabPref)
37
Gnration anonyme
1,n W
V AtW1 1,n
AtV1
1,1
r1 AtW2
AtV2
r2
1,n
X
1,n AtX1
AtX2
AtX3
Y
AtY1
1,n r3 AtX4
AtY2
AtY3
1,n
Z 0,n
AtZ1
AtZ2
r4
0,1
38
Exercices de modlisation
Responsable
NResponsable
NomResponsable
PrnomResponsable
40