Vous êtes sur la page 1sur 41

Bases de données :

du modèle à la base de données

Karën Fort

karen.fort@sorbonne-universite.fr

1 / 41
Sources d’inspiration

I Très largement : Conception méthodique des bases de


donné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 / 41
Retours

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

Cas particuliers

Pour finir

3 / 41
Retours
Questions

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

Cas particuliers

Pour finir

4 / 41
5 / 41
Retours

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


Rappel sur les niveaux d’abstraction
Changement de formalisme
Règles de passage du MCD au MLD
Exercices

Cas particuliers

Pour finir

6 / 41
Retours

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


Rappel sur les niveaux d’abstraction
Changement de formalisme
Règles de passage du MCD au MLD
Exercices

Cas particuliers

Pour finir

7 / 41
Rappel sur les niveaux d’abstraction

Clarification Modélisation  Modélisation  Implémentation


conceptuelle logique

8 / 41
Rappel sur les niveaux d’abstraction

Domaine
Problème Représenter
posé
Modèle 
conceptuel

Traduire

Implémenter
BD
Solution
proposée
Modèle
logique

9 / 41
Retours

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


Rappel sur les niveaux d’abstraction
Changement de formalisme
Règles de passage du MCD au MLD
Exercices

Cas particuliers

Pour finir

10 / 41
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é primaire
I NomEnt : nom de l’entreprise
I AdrEnt : adresse de l’entreprise
I #CatEnt : catégorie de l’entreprise, clé étrangère

11 / 41
Du MCD au MLD : changement de terminologie

I tables
I clé primaire, clé étrangère
I champs
I enregistrements

12 / 41
Du MCD au MLD : terminologie

Entreprise (NumEnt, NomEnt, AdrEnt, #CatEnt)

Table Entreprise, avec les champs :


I NumEnt : numéro de l’entreprise dans la BD, clé primaire
I NomEnt : nom de l’entreprise
I AdrEnt : adresse de l’entreprise
I #CatEnt : catégorie de l’entreprise, clé étrangère

Enregistrement :
11234, Amabone, 13 rue de l’arnaque F764354 Baris, 35

13 / 41
Retours

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


Rappel sur les niveaux d’abstraction
Changement de formalisme
Règles de passage du MCD au MLD
Exercices

Cas particuliers

Pour finir

14 / 41
Règle 1 : chaque entité devient une table

Entité :

Client
Table :
Id_Client →
Nom Client (ID_Client, Nom, Prénom,
Prénom Adresse, Num_Tel)
Adresse
Num_Tel

identifiant → clé primaire

15 / 41
Exercice : passer du MCD au MLD

Chambre

Id_Chambre
  Nb_Places
  Tarif

16 / 41
Exercice : passer du MCD au MLD

Chambre

Id_Chambre
  Nb_Places
  Tarif


Chambre (ID_Chambre, Nb_Places, Tarif)

17 / 41
Règle 2 : associations de cardinalités 1, n ou 0, n
associations 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

1,n

Participer
Participer
TempsRéalisé →
   (NuméroCoureurNuméroEtape,
TempsRéalisé)
1,n

Etape

NuméroEtape
  Date
  VilleDépart
  VilleArrivée
  NbKm

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

Chaque association de ce type devient une table dont la clé


primaire regroupe les identifiants des entités impliquées :

Personne
EtreMariéA
0,n
Id_Pers EtreMariéA
Date
Lieu
  Nom →
  Prénom (ID_PersID_Pers, Date,
0,n
Lieu)

19 / 41
Exercice : passer du MCD au MLD

Client Produit
0,n Commande 0,n
Id_Client Id_Produit
Date_Commande   Nom
Nom

20 / 41
Exercice : passer du MCD au MLD

Client Produit
0,n Commande 0,n
Id_Client Id_Produit
Date_Commande
Nom   Nom


Client (ID_Client, Nom)
Produit (ID_Produit, Nom)
Commande (ID_ClientID_Produit, Date_Commande)

21 / 41
Règle 3 : autres associations

Les associations dont les cardinalités sont du type :


I 1, n - 1, 1
I 0, n - 1, 1
I 1, n - 0, 1
I 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
→ quand il existe des propriétés dans l’association, elles basculent
dans la table forte

22 / 41
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
→ quand il existe des propriétés dans l’association, elles basculent
dans la table forte

Livre Genre
1,1 Relève_De 0,n
Id_Catalogue Id_Genre
Titre Intitulé


Livre (ID_Catalogue, Titre, #ID_Genre)
Genre (ID_Genre, Intitulé)

23 / 41
Exercice : passer du MCD au MLD
Coureur

NuméroCoureur
  NomCoureur

1,1

Appartenir

1,n

Equipe

CodeEquipe
  NomEquipe
  DirecteurSportif

24 / 41
Exercice : passer du MCD au MLD

Coureur

NuméroCoureur
  NomCoureur

1,1

Appartenir

1,n

Equipe

CodeEquipe
  NomEquipe
  DirecteurSportif


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

25 / 41
Retours

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


Rappel sur les niveaux d’abstraction
Changement de formalisme
Règles de passage du MCD au MLD
Exercices

Cas particuliers

Pour finir

26 / 41
Exercice 1 : passer du MCD au MLD
Coureur Pays
1,1 Provenir 0,n
NuméroCoureur CodePays
  NomCoureur   NomPays

1,n 1,1

Participer
Appartenir
TempsRéalisé
  

1,n 1,n

Etape Equipe

NuméroEtape CodeEquipe
  Date   NomEquipe
  VilleDépart   DirecteurSportif
  VilleArrivée
  NbKm

27 / 41
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é)

28 / 41
Exercice 2 : passer du MCD au MLD

Facture Client
1,1 Payer 1,n
NumFacture NumClient
  DateFacture   NomClient
  AdresseClient

1,n

Produit

Concerne 1,n RefProd


  LibProd
Qté   PUHTProd
  

29 / 41
Solution de l’exercice 2

Facture (NumFacture, DateFacture, #NumClient)


Client (NumClient, NomClient, AdresseClient)
Produit (RefProd, LibProd, PUHTProd)
Concerne (NumFactureRefProd, Qté)

30 / 41
Remarques

I dans le cas 1, 1, la clé étrangère est obligatoire


I dans le cas 0, 1, elle ne l’est pas
I le passage du MCD au MLD n’est pas réversible

31 / 41
Retours

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

Cas particuliers
Doubles dépendances fonctionnelles

Pour finir

32 / 41
Retours

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

Cas particuliers
Doubles dépendances fonctionnelles

Pour finir

33 / 41
Doubles dépendances fonctionnelles entre entités
1,1 et 1,1

Entité 2
Entité 1
1,1 Association 1,1 Id_2
Id_1   P2
P1

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


⇒ erreur

34 / 41
Doubles dépendances fonctionnelles : solution

Entité

Id_1
P1
P2
Id_2

Soit Id_2 :
I possède une réalité dans le système et devient une propriété
comme les autres
I soit elle est supprimée

35 / 41
Exemple

Chaque commande est facturée et chaque facture cor-


respond à une et une seule commande

36 / 41
Exemple

Chaque commande est facturée et chaque facture cor-


respond à une et une seule commande

Facture
Commande
1,1 Correspondre 1,1 NumFact
NumCom
  DateFact
DateCom   MontantFact
LibelléCom

37 / 41
Exemple
Chaque commande est facturée et chaque facture cor-
respond à une et une seule commande

Facture
Commande
1,1 Correspondre 1,1 NumFact
NumCom   DateFact
DateCom
  MontantFact
LibelléCom


CommandeFacturée

NumCom
DateCom
LibelléCom
NumFact
  DateFact
  MontantFact

38 / 41
Cas rare où la double DF est acceptable
Une facture peut être réglée en plusieurs fois

I les deux entités correspondent à des réalités sémantiques


différentes et
I leur regroupement en une seule entité fait perdre au modèle de
sa pertinence

Facture
Commande
1,1 Correspondre 1,1 NumFact
NumCom   DateFact
DateCom   MontantFact
LibelléCom

1,n

Règlement 1,n Régler


DateRèglement
MontantRéglé

39 / 41
Retours

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

Cas particuliers

Pour finir
CQFR : Ce Qu’il Faut Retenir

40 / 41
I Représentations
I Règles du passage du MCD au
MLD

41 / 41

Vous aimerez peut-être aussi