Transcript
Page 1: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 1

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

Page 2: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 2

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é ?

Page 3: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 3

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

Page 4: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 4

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

Page 5: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 5

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

Page 6: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 6

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.

Page 7: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 7

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

Page 8: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 8

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

Page 9: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 9

La traduction du MCD:PèreNoël

Page 10: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 10

La traduction du MCD:PèreNoël

• « commander » et « obtenir »

Page 11: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 11

La traduction du MCD:PèreNoël

• Les fournisseurs de cadeaux:

Page 12: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 12

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 ?

Page 13: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 13

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 )

Page 14: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 14

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.

Page 15: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 15

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.

Page 16: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 16

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)

Page 17: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 17

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é

Page 18: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 18

Passage au MLD relationnel

Traitement des associations :Tenir compte des cardinalités maximales de chaque association :

1 et n

Page 19: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 19

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)

Page 20: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 20

Exemple de la règle 1

source but

CREATE TABLE PRODUIT

( REFPRODUIT VARCHAR(5) NOT NULL,

NOMPRODUIT VARCHAR(60),

NOFOURNISSEUR VARCHAR(5) NOT NULL

)

ALTER TABLE PRODUIT

ADD CONSTRAINT FK_PRODUIT_FOURNISSEUR

FOREIGN KEY NOFOURNISSEUR

REFERENCES FOURNISSEUR (NOFOURNISSEUR);

Page 21: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 21

Exemple de la règle 1

MCD

MLD

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

Page 22: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 22

Passage au MLD relationnel

Traitement des associations :Tenir compte des cardinalités maximales de chaque association :

1 et 1

Page 23: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 23

Passage au MLD

• Règle 1 bis : association binaireavec 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.

Page 24: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 24

Exemple de la règle 1 bis

MCD

MLD

Page 25: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 25

Règle 1

Pour chaque occurrence, 1 valeur à mémoriser une propriété suffit

Page 26: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 26

Passage au MLD relationnel

Traitement des associations :Tenir compte des cardinalités maximales de chaque association :

n et n

Page 27: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 27

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.

Page 28: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 28

Passage au MLD relationnel

• Exemple de la règle 2 :

MCD

MLD

Page 29: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 29

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.

Page 30: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 30

Exemple de la règle 2

MLD

MCD

Page 31: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 31

Exemple de la règle 2

MPD

CREATE TABLE DETAILCOMMANDES

(REFPRODUIT VARCHAR(5) NOT NULL,

NOCOMMANDE INTEGER NOT NULL,

QUANTITE INTEGER,

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);

Page 32: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 32

Règle 2

Pour chaque occurrence, n valeurs à mémoriser une table supplémentaire

Page 33: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 33

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.

Page 34: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 34

Exemple de la règle 3 MLDMCD

Page 35: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 35

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 ?

Page 36: Modèle Logique de données1 Du Modèle Conceptuel des donnéesMCD pour réfléchir Au modèle Logique de donnéesMLD modèle « mathématique » Au modèle Physique

Modèle Logique de données 36

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.


Recommended