40
Bases de données : du modèle à la base de données Karën Fort [email protected] 1 / 40

Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort [email protected] 1/40

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Bases de données :du modèle à la base de données

Karën Fort

[email protected]

1 / 40

Page 2: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Sources d’inspiration

I Très largement : Conception méthodique des bases dedonnées, G. Bueno, Ellipses, 2008

I Cours de B. Habert (ENS Lyon)I Cours de N. Chaignaud (Rouen)I Cours de G. Lejeune (SU)

2 / 40

Page 3: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)

Cas particuliers

Pour finir

3 / 40

Page 4: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

RetoursQuestions

Du modèle conceptuel au modèle logique (de données)

Cas particuliers

Pour finir

4 / 40

Page 5: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

5 / 40

Page 6: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)Rappel sur les niveaux d’abstractionChangement de formalismeRègles de passage du MCD au MLDExercices

Cas particuliers

Pour finir

6 / 40

Page 7: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)Rappel sur les niveaux d’abstractionChangement de formalismeRègles de passage du MCD au MLDExercices

Cas particuliers

Pour finir

7 / 40

Page 8: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Rappel sur les niveaux d’abstraction

Clarification Modélisation conceptuelle

Modélisation logique

Implémentation

8 / 40

Page 9: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Rappel sur les niveaux d’abstraction

Domaine

Problèmeposé

BD

Solutionproposée Modèle

logique

Modèle conceptuel

Représenter

Traduire

Implémenter

9 / 40

Page 10: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)Rappel sur les niveaux d’abstractionChangement de formalismeRègles de passage du MCD au MLDExercices

Cas particuliers

Pour finir

10 / 40

Page 11: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Du MCD au MLD : changement de représentation

On peut représenter le MLD sous forme graphique ou textuelle :

Entreprise (NumEnt, NomEnt, AdrEnt, #CatEnt)

Table Entreprise, avec les champs :I NumEnt : numéro de l’entreprise dans la BD, clé primaireI NomEnt : nom de l’entrepriseI AdrEnt : adresse de l’entrepriseI #CatEnt : catégorie de l’entreprise, clé étrangère

11 / 40

Page 12: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Du MCD au MLD : changement de terminologie

I tablesI clé primaire, clé étrangèreI champsI enregistrements

12 / 40

Page 13: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)Rappel sur les niveaux d’abstractionChangement de formalismeRègles de passage du MCD au MLDExercices

Cas particuliers

Pour finir

13 / 40

Page 14: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Règle 1 : chaque entité devient une table

Entité :

Client

Id_ClientNomPrénomAdresseNum_Tel

→Table :

Client (ID_Client, Nom, Prénom,Adresse, Num_Tel)

identifiant → clé primaire

14 / 40

Page 15: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice : passer du MCD au MLD

Chambre

Id_Chambre  Nb_Places  Tarif

15 / 40

Page 16: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice : passer du MCD au MLD

Chambre

Id_Chambre  Nb_Places  Tarif

Chambre (ID_Chambre, Nb_Places, Tarif)

16 / 40

Page 17: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Règle 2 : associations de cardinalités 1, n ou 0, nassociations multiples

Chaque association de ce type devient une table dont la cléprimaire regroupe les identifiants des entités impliquées :

Coureur

NuméroCoureur  NomCoureur

Etape

NuméroEtape  Date  VilleDépart  VilleArrivée  NbKm

Participer

TempsRéalisé  

1,n

1,n

→ Participer(NuméroCoureurNuméroEtape,

TempsRéalisé)

17 / 40

Page 18: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Règle 2 : associations de cardinalités 1, n ou 0, nassociations multiples

Chaque association de ce type devient une table dont la cléprimaire regroupe les identifiants des entités impliquées :

Personne

Id_Pers  Nom  Prénom

EtreMariéA

DateLieu

0,n

0,n

→ EtreMariéA(ID_PersID_Pers, Date,

Lieu)

18 / 40

Page 19: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice : passer du MCD au MLD

Produit

Id_Produit  Nom

Client

Id_ClientNom

Commande

Date_Commande

0,n 0,n

19 / 40

Page 20: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice : passer du MCD au MLD

Produit

Id_Produit  Nom

Client

Id_ClientNom

Commande

Date_Commande

0,n 0,n

Client (ID_Client, Nom)Produit (ID_Produit, Nom)

Commande (ID_ClientID_Produit, Date_Commande)

20 / 40

Page 21: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Règle 3 : autres associations

Les associations dont les cardinalités sont du type :I 1, n - 1, 1I 0, n - 1, 1I 1, n - 0, 1I 0, n - 0, 1

→ donnent une clé étrangère dans la table correspondant àl’entité concernée par les cardinalités 1, 1 ou 0, 1.

→ cette clé étrangère prend ses valeurs dans celles de la cléprimaire de l’entité concernée par les cardinalités 1, n ou 0, n

21 / 40

Page 22: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Règle 3 : autres associations

→ donnent une clé étrangère dans la table correspondant àl’entité concernée par les cardinalités 1, 1 ou 0, 1.

→ cette clé étrangère prend ses valeurs dans celles de la cléprimaire de l’entité concernée par les cardinalités 1, n ou 0, n

Genre

Id_GenreIntitulé

Livre

Id_CatalogueTitre

Relève_De1,1 0,n

↓Livre (ID_Catalogue, Titre, #ID_Genre)

Genre (ID_Genre, Intitulé)

22 / 40

Page 23: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice : passer du MCD au MLD

Coureur

NuméroCoureur  NomCoureur

Equipe

CodeEquipe  NomEquipe  DirecteurSportif

Appartenir

1,1

1,n

23 / 40

Page 24: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice : passer du MCD au MLD

Coureur

NuméroCoureur  NomCoureur

Equipe

CodeEquipe  NomEquipe  DirecteurSportif

Appartenir

1,1

1,n

Coureur (NuméroCoureur, NomCoureur, #CodeEquipe)Equipe (CodeEquipe, NomEquipe, DirecteurSportif)

24 / 40

Page 25: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)Rappel sur les niveaux d’abstractionChangement de formalismeRègles de passage du MCD au MLDExercices

Cas particuliers

Pour finir

25 / 40

Page 26: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice 1 : passer du MCD au MLD

Pays

CodePays  NomPays

Coureur

NuméroCoureur  NomCoureur

Provenir

Equipe

CodeEquipe  NomEquipe  DirecteurSportif

Etape

NuméroEtape  Date  VilleDépart  VilleArrivée  NbKm

Participer

TempsRéalisé  

Appartenir

1,1

1,n

1,n

1,n

1,1 0,n

26 / 40

Page 27: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Solution de l’exercice 1

Coureur (NuméroCoureur, NomCoureur, #CodeEquipe,#CodePays)Equipe (CodeEquipe, NomEquipe, DirecteurSportif)Pays (CodePays, NomPays)Etape (NuméroEtape, Date, VilleDépart, VilleArrivée, NbKm)Participer (NuméroCoureurNuméroEtape, TempsRéalisé)

27 / 40

Page 28: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exercice 2 : passer du MCD au MLD

Client

NumClient  NomClient  AdresseClient

Facture

NumFacture  DateFacture

Payer

Produit

RefProd  LibProd  PUHTProd

Concerne

Qté  

1,n

1,n

1,1 1,n

28 / 40

Page 29: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Solution de l’exercice 2

Facture (NumFacture, DateFacture, #NumClient)Client (NumClient, NomClient, AdresseClient)Produit (RefProd, LibProd, PUHTProd)Concerne (NumFactureRefProd, Qté)

29 / 40

Page 30: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Remarques

I dans le cas 1, 1, la clé étrangère est obligatoireI dans le cas 0, 1, elle ne l’est pasI le passage du MCD au MLD n’est pas réversible

30 / 40

Page 31: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)

Cas particuliersDoubles dépendances fonctionnelles

Pour finir

31 / 40

Page 32: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)

Cas particuliersDoubles dépendances fonctionnelles

Pour finir

32 / 40

Page 33: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Doubles dépendances fonctionnelles entre entités1,1 et 1,1

Entité 2

Id_2  P2

Entité 1

Id_1P1

Association1,1 1,1

I extrêmement rare en pratique : deux entités n’en font qu’une⇒ erreur

33 / 40

Page 34: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Doubles dépendances fonctionnelles : solution

Entité

Id_1P1P2Id_2

Soit Id_2 :I possède une réalité dans le système et devient une propriété

comme les autresI soit elle est supprimée

34 / 40

Page 35: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exemple

Chaque commande est facturée et chaque facture cor-respond à une et une seule commande

35 / 40

Page 36: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Exemple

Chaque commande est facturée et chaque facture cor-respond à une et une seule commande

Facture

NumFact  DateFact  MontantFact

Commande

NumComDateComLibelléCom

Correspondre1,1 1,1

36 / 40

Page 37: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

ExempleChaque commande est facturée et chaque facture cor-

respond à une et une seule commande

Facture

NumFact  DateFact  MontantFact

Commande

NumComDateComLibelléCom

Correspondre1,1 1,1

↓CommandeFacturée

NumComDateComLibelléComNumFact

  DateFact  MontantFact

37 / 40

Page 38: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Cas rare où la double DF est acceptableUne facture peut être réglée en plusieurs fois

I les deux entités correspondent à des réalités sémantiquesdifférentes et

I leur regroupement en une seule entité fait perdre au modèle desa pertinence

Facture

NumFact  DateFact  MontantFact

Commande

NumComDateComLibelléCom

Correspondre1,1 1,1

Régler

MontantRéglé

Règlement

DateRèglement1,n

1,n

38 / 40

Page 39: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

Retours

Du modèle conceptuel au modèle logique (de données)

Cas particuliers

Pour finirCQFR : Ce Qu’il Faut Retenir

39 / 40

Page 40: Bases de données : du modèle à la base de données · 2020. 12. 27. · Bases de données : du modèle à la base de données KarënFort karen.fort@sorbonne-universite.fr 1/40

I ReprésentationsI Règles du passage du MCD au

MLD

40 / 40