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, Adresse,
Prénom 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

TempsRéalisé → Participer (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
Date
Lieu
Nom
Prénom
→ EtreMariéA (ID_PersID_Pers,
0,n Date, 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 correspond à une et une


seule commande

36 / 41
Exemple

Chaque commande est facturée et chaque facture correspond à 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 correspond à 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