290 likes | 425 Views
Conversion relationnelle. yves.pigneur@hec.unil.ch gabor.maksay@eivd.ch. Référence. Bases de données et modèles de calcul, Outils et méthodes pour l'utilisateur, Jean-Luc Hainault , Dunod, 3ème édition, 2002 Chapitre 9, pp. 241-247. Agenda. Conversion des Types d’Entités Attributs
E N D
Conversion relationnelle yves.pigneur@hec.unil.ch gabor.maksay@eivd.ch
Référence • Bases de données et modèles de calcul, Outils et méthodes pour l'utilisateur, Jean-Luc Hainault, Dunod, 3ème édition, 2002 • Chapitre 9, pp. 241-247 2
Agenda Conversion des • Types d’Entités • Attributs • Types d’Associations • Identifiants 3
Type d’Entité & attribut • Type d’Entité -> Table • même nom • attribut -> colonne • même nom • type et longueur • obligatoire ou facultative 4
Type d’associationun-à-plusieurs • soit R un Type d’association un-à-plusieurs entre A et B • IA identifiant de A on représente R par: • nouvelle(s) colonne(s) IA’ dans B, • de même type que IA, • clé étrangère de B vers A • obligatoire ou facultative 5
Type d’associationun-à-plusieurs DEPARTEMENT Nom Adresse EMPLOYE Matricule Nom Fonction DpmtNom 6
Type d’associationun-à-un • soit R un Type d’association un-à-un entre A et B on représente R par: • une nouvelle clé étrangère dans A (vers B) ou par: • une nouvelle clé étrangère dans B (vers A) celle-ci est un nouvel identifiant pour la table 8
Type d’associationun-à-un DEPARTEMENT Nom Adresse Directeur EMPLOYE Matricule Nom Fonction 9
Type d’associationplusieurs-à-plusieurs • soit R un Type d’association plusieurs-à-plusieurs entre A et B on représente R par: • un nouveau Type d’entité • deux Types d’associations 11
Type d’associationplusieurs-à-plusieurs T.A. -> T.E. 12
Type d’associationplusieurs-à-plusieurs T.E.1-1 -> rel. id: CLIENT, PRODUIT 13
Type d’association plusieurs-à-plusieurs CLIENT PRODUIT Quantité No Nom Adresse No Libellé ACHAT ClientNo ProduitNo 14
Identifiants • attribut(s) • colonne(s) • attribut(s) et Type(s) Entités • colonne(s) • clé(s) étrangère(s) 17
Identifiant hybride DIRECTION Nom Président DEPARTEMENT Nom DirNom Directeur 18
Exemple -relation (I) PRODUIT NO LIBELLE PRIX QSTOCK CLIENT NO NOM ADRESSE LOCALITE (CAT) COMPTE COMMANDE NO CLINO DATE LIGNECOM CLNO PRNO QCOM 21
Exemple - relation (II) DB-Main CLIENT No Nom Adresse CONTRAT VEHICULE CliNo No Type Date No ... CrtNo CliNo CrtCliNo ACCIDENT No Date (Montant) CONCERNE VehNo AccNo 24
Exemple - SQL (II) CREATE TABLE Client ( No CHAR (12) NOT NULL, Nom CHAR (38) NOT NULL, Adresse CHAR (60) NOT NULL, PRIMARY KEY (No)) CREATE TABLE CONTRAT ( ClientNo CHAR (12) NOT NULL, No CHAR (8) NOT NULL, Type DECIMAL (4) NOT NULL, Date DATE NOT NULL PRIMARY KEY (ClientNo, No) FOREIGN KEY (ClientNo) REFERENCES CLIENT) 26
Exemple - SQL (II) CREATE TABLE VEHICULE ( No CHAR (16) NOT NULL, Marque CHAR (30) NOT NULL, Modele CHAR (30) NOT NULL, Annee decimal (4) NOT NULL, Cylindree decimal (6) NOT NULL, ClientNo CHAR (12) NOT NULL, ContratClientNo CHAR (12) NOT NULL, ContratNo DECIMAL (8) NOT NULL, PRIMARY KEY (No), UNIQUE(ContratClientNo, ContratNo), FOREIGN KEY (ClientNo) REFERENCES CLIENT, FOREIGN KEY (ContratClientNo, ContratNo) REFERENCES CONTRAT) 27
Exemple - SQL (II) CREATE TABLE ACCIDENT ( No CHAR (10) NOT NULL, Date DATE NOT NULL, Montant DECIMAL (6), PRIMARY KEY (No)) CREATE TABLE SURVENANCE ( VehiculeNo CHAR (16) NOT NULL, AccidentNo CHAR (10) NOT NULL, PRIMARY KEY (VehiculeNo, AccidentNo), FOREIGN KEY (VehiculeNo) REFERENCES VEHICULE, FOREIGN KEY (AccidentNo) REFERENCES ACCIDENT) 28