Vous êtes sur la page 1sur 19

Modèle Logique de Données (MLD)

•Souheib Baarir
•Souheib.baarir@u-paris10.fr
•Université Paris Ouest Nanterre la défense.

1
Quel formalisme ?

• Norme CODASYL :
– Conference On Data SYstems Languages.

• Bases de données relationnelles.

2
Les concepts de la base de données
relationnelle
• Table
• Attribut
• Clef primaire

Artiste ARTISTE
PK_ARTISTE
N° artiste N°_ARTISTE
Nom artiste NOM_ARTISTE
Description artiste DESCRIPTION_ARTISTE
Pourcentage galerie POURCENTAGE_GALERIE

Entité Table
3
Association binaire fonctionnelle.
• Le lien remplace l’association binaire fonctionnelle.
• Clef externe.
MCD Oeuvre
Artiste
N° oeuvre
N° artiste Producteur Titre oeuvre
Nom artiste 0,n 1,1
Prix minimum
Description artiste
Pourcentage galerie Montant acompte
Prix vente

OEUVRE
ARTISTE PK_OEUVRE
PK_ARTISTE N°_OEUVRE
N°_ARTISTE N°_ARTISTE
NOM_ARTISTE Producteur TITRE_OEUVRE
DESCRIPTION_ARTISTE PRIX_MINIMUM
POURCENTAGE_GALERIE MONTANT_ACOMPTE
MLD PRIX_VENTE 4
Association binaire non fonctionnelle (1/2)

 L’association devient une table.


 Chacune des pattes devient un lien.

MCD Oeuvre
Exposition N° oeuvre
Catalogue Titre oeuvre
N° exposition 1,n 0,n
Prix expo Prix minimum
Date début
Montant acompte
Prix vente
5
Association binaire non fonctionnelle (2/2)
MCD Oeuvre
Exposition N° oeuvre
Catalogue Titre oeuvre
N° exposition 1,n 0,n
Prix expo Prix minimum
Date début
Montant acompte
Prix vente

OEUVRE
EXPOSITION CATALOGUE PK_OEUVRE
N°_OEUVRE
PK_EXPOSITION PK_CATALOGUE
N°_EXPOSITION N°_OEUVRE N°_ARTISTE
N°_EXPOSITION TITRE_OEUVRE
DATE
PRIX_MINIMUM
DATE_DÉBUT PRIX_EXPO
MONTANT_ACOMPTE
MLD PRIX_VENTE
6
Association ternaire

Fournisseur Entrepôt FOURNISSEUR ENTREPÔT


N° fournisseur N° entrepôt PK_FOURNISSEUR PK_ENTREPÔT
Nom fournisseur Adresse entrepôt N°_FOURNISSEUR N°_ENTREPÔT
0,n 0,n
NOM_FOURNISSEUR ADRESSE_ENTREPÔT

Fournir
FOURNIR
0,n PRODUIT PK_FOURNIR
PK_PRODUIT N°_FOURNISSEUR
Produit N°_PRODUIT N°_ENTREPÔT
N° produit LIBELLÉ_PRODUIT N°_PRODUIT
Libellé produit

MCD MLD

7
Ternaire avec CIF

Fournisseur Entrepôt
N° fournisseur N° entrepôt FOURNISSEUR ENTREPÔT
Nom fournisseur Adresse entrepôt PK_FOURNISSEUR PK_ENTREPÔT
0,n 0,n N°_FOURNISSEUR N°_ENTREPÔT
Fournir NOM_FOURNISSEUR ADRESSE_ENTREPÔT

0,n
FOURNIR
Produit PRODUIT PK_FOURNIR
N° produit CIF PK_PRODUIT N°_ENTREPÔT
Libellé produit N°_PRODUIT N°_PRODUIT
LIBELLÉ_PRODUIT N°_FOURNISSEUR

MCD MLD

8
Association binaire fonctionnelle
avec cardinalités (0,1) / (?, n)
Oeuvre
MCD
N° oeuvre Facture client
Titre oeuvre Acheteur
0,1 1,n N° facture
Prix minimum
Date facture
Montant acompte
Prix vente

• Pas de problème si clef externe non renseignée autorisée.


• Comment faire sinon ?
OEUVRE MLD
PK_OEUVRE FACTURE_CLIENT
N°_OEUVRE ACHETEUR
PK_FACTURE_CLIENT
N°_ARTISTE PK_ACHETEUR
N°_FACTURE
TITRE_OEUVRE N°_OEUVRE
N°_CLIENT
PRIX_MINIMUM N°_FACTURE
DATE_FACTURE
MONTANT_ACOMPTE
PRIX_VENTE
9
Association entre occurrences de la
même entité

• Deux particularités :

1. Faire apparaître les rôles différents des pattes.

2. Cardinalités minimum nulles.

10
Cas d’une ternaire

0,n
MCD
Titulaire
Acteur
Rôle Distribué
0,n N° acteur
N° rôle
Nom acteur
Nom personnage
Prénom acteur
0,n
Doublure

N°_ACTEUR = N°_ACTEUR_TITULAIRE
DISTRIBUÉ ACTEUR
RÔLE
PK_DISTRIBUÉ PK_ACTEUR
PK_RÔLE
N°_RÔLE N°_ACTEUR
N°_RÔLE
N°_ACTEUR_TITULAIRE NOM_ACTEUR
NOM_PERSONNAGE N°_ACTEUR_DOUBLURE PRÉNOM_ACTEUR

MLD N°_ACTEUR = N°_ACTEUR_DOUBLURE 11


Cas
2. Cas d’une binaire d’une binaire

0,1
Fils
Personne
N° personne Filiation
Nom famille
Prénom
0,n
Père

MCD

12
Cas d’une binaire : avec Null autorisé

PERSONNE
PK_PERSONNE
N°_PERSONNE
N°_PERSONNE_PÈRE N°_PERSONNE = N°_PERSONNE_PÈRE
NOM_FAMILLE
PRÉNOM

13
Cas d’une binaire : avec Null interdit

N°_PERSONNE = N°_PERSONNE_FILS

PERSONNE
FILIATION
PK_PERSONNE
PK_FILIATION
N°_PERSONNE
N°_PERSONNE_FILS
NOM_FAMILLE
N°_PERSONNE_PÈRE
PRÉNOM

N°_PERSONNE = N°_PERSONNE_PÈRE

MLD
14
Historisation (1/2)

MCD Produit
Fournisseur Fournir N° Produit
N° Fournisseur 0,n 1,1 Nom produit
Nom Fournisseur Description
Prix d'achat (H)

15
Historisation (2/2)
PRODUIT
FOURNISSEUR PK_PRODUIT
N°_PRODUIT
PK_FOURNISSEUR
N°_FOURNISSEUR Fournir N°_FOURNISSEUR
NOM_PRODUIT
NOM_FOURNISSEUR
DESCRIPTION

MLD
H_PRIX_D'ACHAT_PRODUIT
PK_H_PRIX_D'ACHAT_PRODUIT
N°_PRODUIT
DATE_HISTO
PRIX_D'ACHAT

16
Identifiant relatif (1/2)
• L’identifiant relatif correspond très précisément à une clef
primaire composée.
Chambre
Bâtiment N° Chambre
Etage
N° Bâtiment Nombre de lits
Adresse N° étage Prix
(R) (R)
1,n 1,1 1,n 1,1

MCD
Comporte Compose

• Ce qui était implicite dans le Modèle Conceptuel de Données,


devient explicite dans le Modèle Logique de Données.
17
Identifiant relatif (2/2)

BÂTIMENT CHAMBRE
PK_BÂTIMENT PK_CHAMBRE
N°_BÂTIMENT N°_BÂTIMENT
ADRESSE N°_ÉTAGE
N°_CHAMBRE
NOMBRE_DE_LITS
PRIX
Comporte
Compose
ETAGE
PK_ETAGE
N°_BÂTIMENT
N°_ÉTAGE MLD

18
Héritage
• La traduction d’une entité complexe (légataire et
héritiers), peut se faire de plusieurs façons.
• La plus immédiate est que chacune des composantes
devienne une table.
CLIENT
Client PK_CLIENT
N°_CLIENT
N° client NOM_CLIENT
Nom client ADRESSE_CLIENT
Adresse client
Her_1 Her_1

XT PERSONNE_PHYSIQUE PERSONNE_MORALE
PK_PERSONNE_PHYSIQUE PK_PERSONNE_MORALE
N°_CLIENT N°_CLIENT
Personne physique Personne morale PRÉNOM STATUT
SEXE NOM_RESPONSABLE
Prénom Statut NOM_CLIENT NOM_CLIENT
Sexe Nom responsable ADRESSE_CLIENT ADRESSE_CLIENT

MCD MLD 19

Vous aimerez peut-être aussi