Escolar Documentos
Profissional Documentos
Cultura Documentos
bogdan.cautis@telecom-paristech.fr
1/30
Design logique
normalisation de schma
2/30
Type dentit
similaire la notion de classe, dfinit la structure commune dun Nom ensemble dentits
Proprit
atomiques
ID
Tlphone
Diagramme ER
Type dentit --> rectangle Proprit --> ovale
lve
Taille
3/30
Proprits identifiantes
Ensemble de proprits dont la valeur ne peut pas appartenir plus quune entit Doit tre fix pour chaque type dentit Soulignes dans le diagramme ER :
Nom Prnom Tlphone
Taille Elve
4/30
Associations
Lien entre deux ou plusieurs types dentit Diagramme ER : losange
lve Assiste Cours
Type dassociations
dfinit des liens entre des types dentit. la valeur dun type dassociation peut tre une table :
une colonne par type dentit participant lassociation une ligne pour chaque combinaison dentits participant une association Elve
Jean Jean Jacques
Cours
Macro Economie Anglais E-Commerce
5/30
Cardinalit
Min:Max Valeurs considrer :
0:1, 1:1 0:N, 1:N, M-N Exemple :
lve
1:M
Assiste
0:N
Cours
6/30
Associations ternaires
Le plus souvent les associations binaires suffisent
Des associations entre trois types dentit (ou plus) peuvent tre ncessaires Exemple : liens entre Elves, Cours et TH
lve
Assiste
Cours
Reprsentation correcte
si chaque lve est tenu de participer a toutes les TH de chaque cours
Compos
TH
7/30
lve
suivre
Cours
lve TH
Jean Jean Jacques
Cours
Macro Economie Anglais E-Commerce
TH
s40#1 s40#2 s40#1
8/30
lve
Assiste
Cours
Simplification de :
Anne
Annes
lve
Assiste
Cours
9/30
Proprit multivalue
Anne
lve
Assiste
Cours
10/30
11/30
Rles
Une entit peut participer plus quune fois la mme association
besoin dassocier des rles diffrents pour une entit
12/30
Sous-classe
Sous-classe --> nombre dentits restreint --> proprits supplmentaires
Exemple : Barman est un buveur
+ ( 1 proprit supplmentaire anciennet et un lien travaille ) Identifiant du barman est celui de buveur
Id
Bar
frquente
Buveur
travaille
Sous-classe et hritage
Point de vue Objet :
1 objet (entit) est associ une seule classe
Il hrite les proprits de sa super-classe
Hritage multiple :
Thoriquement possible Problme rsolution des conflits ?
Contraintes COVER/OVERLAPS
14/30
Host
Nom
15/30
Dautres aspects
Choix attribut ou entit?
Exemple: plusieurs adresses
Relation vs entit:
Exemple: manageur (association avec un attribut budget) budget global?
16/30
Transposition en relationnel
17/30
x:1 Bar
gre
x:1
Buveur
Lidentifiant de Buveur est utilis comme cl trangre dans la relation Bar, ou inversement. Les proprits de lassociation suivent la cl trangre
Bar(Id_Bar, ) et Buveur(Id_Buveur, , Id_Bar, priode) ou Bar(Id_Bar, , Id_Grant, priode) et Buveur(Id_Buveur, )
18/30
x:n
Buveur
Lidentifiant de Bar est utilis comme cl trangre dans la relation Buveur. Les proprits de lassociation suivent la cl trangre
Bar(Id_Bar, ) et Buveur(Id_Buveur, , Id_Bar)
19/30
x:n
Buveur
Lassociation donne lieu une relation. La cl primaire de la relation frquente est compose des cls des relations Buveur et Bar.
Bar(Id_Bar, ) et Buveur(Id_Buveur, ) Frquente (Id_Bar, Id_Buveur, )
20/30
1:1 Famille
Point de vue ER
Buveur(Nom, Adresse) et Barman (Nom, anciennet)
22/30
1:m
lve Assiste
1:n
Cours
23/30
Conclusion
Modlisation simple du monde rel Transposition relationnelle automatisable Outils daide la conception E/A disponibles sur le march
24/30
Equipier profession 1,n engag role Epreuve date port1 port2 1,n 1,n Classement rang
Heritage
Skipper
dirige 1,1 0,n 0,n 1,1 Bateau Immatriculation nom longueur 0,n finance 1,n montant
25/30
NUM = NUM
NUM = NUM
NUM = NUM
DATE = DATE
EPREUVE DATE <non dfini> PORT1 <non dfini> PORT2 <non dfini>
CLASSEMENT DATE <non dfini> IMM <non dfini> RANG <non dfini>
IMM = IMM
26/30
27/30
-- ============================================= -- Table : CLASSEMENT -- ============================================= create table CLASSEMENT ( DATE CHAR(10) not null, IMM CHAR(10) not null, RANG CHAR(10) null , constraint PK_CLASSEMENT primary key (DATE, IMM) ) / -- ============================================== -- Table : FINANCE -- ============================================== create table FINANCE ( IMM CHAR(10) not null, NOM_SPONSOR CHAR(10) not null, MONTANT CHAR(10) null , constraint PK_FINANCE primary key (IMM, NOM_SPONSOR) ) / -- =============================================== -- Table : ENGAGE -- =============================================== create table ENGAGE ( NUM CHAR(10) not null, DATE CHAR(10) not null, IMM CHAR(10) not null, ROLE CHAR(10) null , constraint PK_ENGAGE primary key (NUM, DATE, IMM) ) /
alter table EQUIPIER add constraint FK_EQUIPIER_HERITAGE2_PARTICIP foreign key (NUM) references PARTICIPANT (NUM) / alter table SKIPPER add constraint FK_SKIPPER_DIRIGE2_BATEAU foreign key (IMM) references BATEAU (IMM) / alter table SKIPPER add constraint FK_SKIPPER_HERITAGE_PARTICIP foreign key (NUM) references PARTICIPANT (NUM) / alter table CLASSEMENT add constraint FK_CLASSEME_LIEN_15_EPREUVE foreign key (DATE) references EPREUVE (DATE) / alter table CLASSEMENT add constraint FK_CLASSEME_LIEN_16_BATEAU foreign key (IMM) references BATEAU (IMM) / alter table FINANCE add constraint FK_FINANCE_LIEN_24_BATEAU foreign key (IMM) references BATEAU (IMM) / alter table FINANCE add constraint FK_FINANCE_LIEN_25_SPONSOR foreign key (NOM_SPONSOR) references SPONSOR (NOM_SPONSOR) / alter table ENGAGE add constraint FK_ENGAGE_LIEN_47_EQUIPIER foreign key (NUM) references EQUIPIER (NUM) / alter table ENGAGE add constraint FK_ENGAGE_LIEN_48_EPREUVE foreign key (DATE) references EPREUVE (DATE) / alter table ENGAGE add constraint FK_ENGAGE_LIEN_49_BATEAU foreign key (IMM) references BATEAU (IMM) /
28/30
TD : base Xtlcom
29/30
30/30