Transformation du diagramme de classe en modèle relationnel
description
Transcript of Transformation du diagramme de classe en modèle relationnel
![Page 1: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/1.jpg)
1
Transformation du diagramme de classe en modèle relationnel
![Page 2: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/2.jpg)
2
1. Règle1: présence de la cardinalité (?..1) d’un côté de l’association
Chaque classe se transforme en une table Chaque attribut de classe se transforme en un champs de table L’identifiant de la classe qui est associée à la cardinalité (?..1) (ex:
Livre) devient le clé étrangère de l’autre classe (ex: Exemplaire)
Contrainte d’intégrité référentielle: CléEtrangère CléPrimaireEx: Exemplaire.Code-Livre Livre.Code-Livre
LivreCode-LivreAuteurTitreEdition
ExemplaireN°-ExemplaireLocalisation0..n1..1 0..n1..1
a l'exemplaireest un exemplaire du
![Page 3: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/3.jpg)
3
Règle1 - ExempleLivre Code-Livre Auteur Titre Edition 1 Chirac Titre1 Edition 1 2 Clinton Titre2 Edition 2 3 Eltsin Titre3 Edition 3 4 Blair Titre4 Edition 4 Exemplaire N°-Exemplaire Localisation Code-Livre 10 Localisation 1 1 20 Localisation 2 1 30 Localisation 1 2 40 Localisation 3 3 50 Localisation 4 5 ! ! !
Contrainte d’intégrité référentielle : Exemplaire.Code-Livre Livre.Code-Livre
•Quel est l’auteur de l’exemplaire dont le N°Exemplaire est 30 ?
•Quels sont les exemplaires (N°Exemplaire) du livre dont le CodeLivre est 1 ?
•Quel est l’auteur de l’exemplaire dont le N°Exemplaire est 50 ?
pas de sens !!!
![Page 4: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/4.jpg)
4
2. Règle2: présence de (?..N) des deux côtés de l’association
Chaque classe se transforme en une table Chaque attribut de classe se transforme en un champs de table L’association se transforme en une table. Cette table a comme
champs l’identifiant de chacune des deux classes, plus d’éventuels autres attributs.
Emprunte.Code-Personne Personne.Code-Personne Emprunte.Code-Livre Livre.Code-Livre
PersonneCode-PersonneNomPrenomAdresse
LivreCode-LivreAuteurTitreEdition0..n0..n
EmprunteEst emprunté par
0..n0..n
EmprunteCode-EmprunteDateDate-De-Retour
![Page 5: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/5.jpg)
5
Règle2 - ExemplePersonne Code-Personne Prénom Nom Adresse 1 David Massart Adr 1 2 Stéphane Faulkner Adr 2 3 Mohamed Dahchour Adr 3 4 Pierre Dupont Adr 4 Livre Code-Livre Titre Auteur Edition 1 Happy Baby Book Kathelyn Ed1 2 LATEX Borceux Ed2 3 Principle of Database Ullman Ed3 Emprunte Code-Personne Code-Livre Date DateDeRetour Code-Emprunte 1 1 1/1/98 1/2/98 1 2 1 1/1/99 1/2/99 2 2 3 10/1/99 20/1/99 3 3 3 1/1/98 10/1/98 4 5 ! ! ! 2 1/6/98 1/7/98 5 4 9 ! ! ! 1/1/98 1/1/99 6
•Qui a emprunté le « Happy baby book » ?•Quels sont les livres (titres) qui sont empruntés par Stéphane Faulkner ?•Qui a emprunté le livre « LaTEX » ? pas de sens•Quels sont les livres (titres) qui sont empruntés par Pierre Dupont ? pas de sens
Contraintes d’intégrité référentielle : Emprunte.Code-Personne Personne.Code-PersonneEmprunte.Code-Livre Livre.Code-Livre
![Page 6: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/6.jpg)
6
3. Règle3: présence d’une généralisation• Méthode 1:
Créer une table avec tous les attributs des classes Ajouter un attribut pour distinguer les types des
objets
PersonneCode-PersonneNomPrenomAdresse
EtudiantNomaNote-Moyenne
ProfesseurSalaire
{Professeur, Etudiant}
![Page 7: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/7.jpg)
7
3. Règle3: présence d’une généralisation• Méthode 2:
Créer une table pour chaque sous type, chaque table se compose des attributs génériques et d’attributs spécifiques
PersonneCode-PersonneNomPrenomAdresse
EtudiantNomaNote-Moyenne
ProfesseurSalaire
![Page 8: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/8.jpg)
8
3. Règle3: présence d’une généralisation• Méthode 3:
Créer une table par classe et des associations
PersonneCode-PersonneNomPrenomAdresse
EtudiantNomaNote-Moyenne
ProfesseurSalaire
![Page 9: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/9.jpg)
9
Exercice 1• Construire le modèle relationnel correspondant au
diagramme de classe suivant:
![Page 10: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/10.jpg)
10
Exercice 1: Solution
![Page 11: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/11.jpg)
11
Client N_Client NomClient Adresse Tel
1 Michel Bruxelles 123456 2 David Namur 456298 3 Manuel Dinant 876230 4 Lucas Bruge 937402 5 Tintin Bruxelles 384043 Commande
N_Commande DateCommande N_Client 1 12/09/98 1 2 15/03/97 1 3 12/09/98 3 4 10/01/00 3 5 20/10/00 4 6 15/02/00 5
Constitution
QtProduit N_Commande N_Produit 1 5 200 1 5 400 2 3 500 3 6 500 2 5 600 2 4 600
Produit
N_Produit NomProduit Prix 100 Walkman 5.000,00 FB 200 TV 20.000,00 FB 300 GSMNokia 10.000,00 FB 400 PlayStation2 200.000,00 FB 500 Leonidas 500,00 FB 600 Godiva 1.200,00 FB
Contraintes d’intégrité référentielle : Commande.N_Client Client.N_ClientConstitution.N_Commande Commande.N_CommandeConstitution.N_Produit Produit.N_Produit
•Quel est le prix et numéro produit du GSMNokia
•Quels sont les clients (nom) qui habitent à Bruxelles
•Quels sont les clients (nom et adresse) qui ont achetés de produits le 12/09/98
•Qui (nom et adresse) ont achetés le chocolat Leonidas
•Quels sont les produits (nomProduit) achetés par Lucas
![Page 12: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/12.jpg)
12
Exercice 2Construire le modèle relationnel correspondant au diagramme de classe suivant:
ClientN°-ClientNom-ClientAdresse-ClientTelephone-Client
Demande-ReservationN°-ReservationDate-debutDate-finRegion
0..n1..1émet
0..némise par
1..1
Type-ChambreCode-TypeNombre-PersonnesCommodités
0..n
1..n
intervient dans 0..n
consite en 1..n
ConstitutionNombre-Chambres
![Page 13: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/13.jpg)
13
Exercice 2: Solution
![Page 14: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/14.jpg)
14
Exercice 3Construire le modèle relationnel correspondant au diagramme de classe suivant:
SalleInfoNombre-Ordinateurs
AuditoireNombre-Places
CoursCode-CoursNom-CoursDescriptionNombre-ECT
SalleCode-SalleLocalisation1..n0..n
occupeest occupée par1..n0..n
OccupationDateHeureDurée
![Page 15: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/15.jpg)
15
Exercice 3: Solution
![Page 16: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/16.jpg)
16
Exercice 4Construire le modèle relationnel correspondant au diagramme de classe suivant:
![Page 17: Transformation du diagramme de classe en modèle relationnel](https://reader035.fdocuments.in/reader035/viewer/2022062816/56814a71550346895db78aa8/html5/thumbnails/17.jpg)
17
Exercice 4: Solution