Vous êtes sur la page 1sur 36

Du Modèle Conceptuel des données MCD

pour réfléchir
Au modèle Logique de données MLD
modèle « mathématique »
Au modèle Physique de données MPD
pour programmer

Modèle Logique de données 1


Le Modèle Logique de Données

• La modélisation conceptuelle a décrit de


manière exhaustive les données du système
d’information et leurs structures avec deux
outils:
 ENTITES - ASSOCIATIONS
 Comment intégrer les contraintes
techniques pour une implantation
informatique, un SI automatisé ?

Modèle Logique de données 2


Les techniques d’implantation d’un SI
IMPLANTATION SUR MACHINE = MODELE PHYSIQUE

• Le modèle fichier (S.G.F)


• Le modèle SGBD :
On implante le SI à partir d’un logiciel appelé
Système de Gestion de Bases de Données

Modèle Logique de données 3


Le Modèle Logique de Données

• Le MLD prend en compte la nature de


l’outil logiciel avec lequel sera implanté la
future base de données.
• Différents SGBD basés sur
– le modèle hiérarchique ou réseau IMS/DL1 chez IBM
– le modèle relationnel ORACLE, MySQL
– le modèle objet db4O

Modèle Logique de données 4


Modèle logique relationnel : MLR

• Edgar Frank Codd : A Relational Model of Data for Large


Shared Data Bank ; CCAM 13; N°6, june 1970
• Simple à appréhender
• Basé sur la théorie des ensembles en mathématique
• Représentation de l’ORGANISATION : Manipulation de
listes de données
• Indépendance totale avec le système d’exploitation et le
stockage physique
• Règles de normalisation

Modèle Logique de données 5


Plan de l’étude :

1- Exemples de bases de données


relationnelles.
2- Définitions du modèle relationnel.
3- Passage du MCD au MLD relationnel.
4- Exemples complexes.

Modèle Logique de données 6


La base de données du Père Noël

Modèle Logique de données 7


La traduction en tables de la base
• « résider » PèreNoël

Modèle Logique de données 8


La traduction du MCD:PèreNoël

Modèle Logique de données 9


La traduction du MCD:PèreNoël
• « commander » et « obtenir »

Modèle Logique de données 10


La traduction du MCD:PèreNoël
• Les fournisseurs de cadeaux:

Modèle Logique de données 11


Le passage au MLD

• Les entités sont-elles transformées en tables ?

• Toute association est-elle transformée en tables ?

• Si non , quelles sont les associations transformées


en tables ? Quelle est la structure de ces tables ?

Modèle Logique de données 12


Les tables de la base PèreNoël
• ENFANT ( noEnfant , nomEnfant, prénomEnfant,
gentil, codeAdresse )
• ADRESSE ( codeAdresse, rueAdresse, cp , ville,
cheminée, fénêtre, souterrain )
• COMMANDER ( noEnfant, noCadeau )
• OBTENIR(noEnfant, noCadeau )
• FOURNISSEUR ( noFsseur, nomFsseur, adrFsseur )
• CADEAU ( noCadeau, nomCadeau, noFsseur )
Modèle Logique de données 13
2- Le modèle relationnel
• Une base de données relationnelle est
constituée d’ un ensemble de tables aussi
appelées relations liées entre elles.
• La table ou relation ENFANT:
ENFANT ( noEnfant , nomEnfant,
prénomEnfant, gentil, codeAdresse )
• Clé primaire : noEnfant ; la connaissance
de la valeur de la clé primaire permet de
connaître la valeur des autres propriétés.
Modèle Logique de données 14
La clé étrangère

ENFANT ( noEnfant , nomEnfant, prénomEnfant,


gentil, codeAdresse )

• Clé étrangère: codeAdresse


Clé présente dans une table dont elle n’est pas la
clé primaire,
tout en étant clé primaire d’une autre table.

Modèle Logique de données 15


Deux types de tables
• Les tables statiques:
aucune colonne n’est clé primaire d’une
autre table :
(exemples : tables ADRESSE, FOURNISSEUR)
• Les tables dynamiques:
Il existe au moins une colonne qui est clé
primaire d’une autre table
(exemples : tables COMMANDER , OBTENIR ,
etc)

Modèle Logique de données 16


Passage au MLD relationnel
• Règle 0 : traitement des entités

Une entité est traduite par une table ( une


relation ) de même nom dont les colonnes
correspondent aux propriétés de l’entité .

La clé primaire de cette table est l’identifiant


de l’entité
Modèle Logique de données 17
Passage au MLD relationnel
Traitement des associations :
Tenir compte des cardinalités maximales de chaque association :

1 et n

Modèle Logique de données 18


Passage au MLD
Règle 1 : association binaire
avec cardinalités maximales : 1 et n

L’association n’est pas transformée en table .

L’identifiant de l’entité but (0, n) devient clé


étrangère dans la table source (1,1)

Modèle Logique de données 19


Exemple de la règle 1
source but

CREATE TABLE PRODUIT ALTER TABLE PRODUIT


( REFPRODUIT VARCHAR(5) NOT NULL, ADD CONSTRAINT FK_PRODUIT_FOURNISSEUR
NOMPRODUIT VARCHAR(60), FOREIGN KEY NOFOURNISSEUR
NOFOURNISSEUR VARCHAR(5) NOT NULL REFERENCES FOURNISSEUR (NOFOURNISSEUR);
)
Modèle Logique de données 20
Exemple de la règle 1

MCD

MLD

NB : Le no de messager n’est pas obligatoirement renseigné dans


COMMANDES
Modèle Logique de données 21
Passage au MLD relationnel
Traitement des associations :
Tenir compte des cardinalités maximales de chaque association :

1 et 1

Modèle Logique de données 22


Passage au MLD

• Règle 1 bis : association binaire


avec cardinalités maximales : 1 et 1

La cardinalité 1,1 est une contrainte plus forte


que la cardinalité 0,1. Donc:

L’ identifiant de l’entité but du lien 1,1 devient


clé étrangère dans la table issue de l’entité
source.
Modèle Logique de données 23
Exemple de la règle 1 bis

MCD

MLD

Modèle Logique de données 24


Règle 1
Pour chaque occurrence, 1 valeur à mémoriser
 une propriété suffit

Modèle Logique de données 25


Passage au MLD relationnel
Traitement des associations :
Tenir compte des cardinalités maximales de chaque association :

n et n

Modèle Logique de données 26


Passage au MLD relationnel
Règle 2 : association binaire
avec cardinalités maximales : n et n,
non porteuses de données:

L’association est traduite en table avec pour clé


primaire, la concaténation des identifiants des
entités reliées par l’association.

Cette table contient deux clés étrangères.


Modèle Logique de données 27
Passage au MLD relationnel
• Exemple de la règle 2 :

MCD

MLD

Modèle Logique de données 28


Passage au MLD
• Règle 2 bis : association binaire
avec cardinalités maximales : 1 et n
porteuse de données:

L’association est traduite en table avec pour clé


primaire , la concaténation des identifiants des
entités reliées.

Cette table contient deux clés étrangères et les


propriétés portées par l’association.
Modèle Logique de données 29
Exemple de la règle 2

MCD

MLD

Modèle Logique de données 30


Exemple de la règle 2
CREATE TABLE DETAILCOMMANDES
(REFPRODUIT VARCHAR(5) NOT NULL,
NOCOMMANDE INTEGER NOT NULL,
QUANTITE INTEGER,
MPD
REMISE INTEGER
);

ALTER TABLE DETAILCOMMANDE


ADD CONSTRAINT PK_DETAILCOMMANDE PRIMARY KEY (REFPRODUIT, NOCOMMANDE);

ALTER TABLE DETAILCOMMANDE


ADD CONSTRAINT FK_DC_PRODUIT FOREIGN KEY (REFPRODUIT)
REFERENCES PRODUITS(REFPRODUIT);

ALTER TABLE DETAILCOMMANDE


ADD CONSTRAINT FK_DC_COMMANDE FOREIGN KEY (NOCOMMANDE)
REFERENCES COMMANDES(NOCOMMANDE);

Modèle Logique de données 31


Règle 2
Pour chaque occurrence, n valeurs à mémoriser
 une table supplémentaire

Modèle Logique de données 32


Passage au MLD
• Règle 3 : une association ternaire et plus de
cardinalités 0,n- 0,n – 0,n –

L’association est traduite par une table ayant


pour clé primaire :

la concaténation des clés étrangères


provenant des entités participant à
l’association.

Modèle Logique de données 33


Exemple de la règle 3
MCD MLD

Modèle Logique de données 34


Passage au MLD

On convient de ne pas créer les tables


comportant comme unique propriété son
identifiant.

Exemple : la table DATE ………..

Et qui voudrait la remplir à chaque réveillon ?


Modèle Logique de données 35
Du MLD au Modèle Physique
Si le modèle physique de données est
conforme au modèle logique relationnel, on
est sûr de ne pas avoir de soucis de
redondance d’informations. Les traitements
en seront simplifiés.
On garde cette garantie en STS1
Le modèle physique de données peut être
dénormalisé (dans les règles !!) s’il est
nécessaire d’optimiser certains traitements.
Modèle Logique de données 36

Vous aimerez peut-être aussi