du modèle conceptuel des donnéesmcd pour réfléchir au modèle logique de donnéesmld
DESCRIPTION
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 de donnéesMPD pour programmer. Le Modèle Logique de Données. - PowerPoint PPT PresentationTRANSCRIPT
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
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é ?
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
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
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
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.
Modèle Logique de données 7
La base de données du Père Noël
Modèle Logique de données 8
La traduction en tables de la base PèreNoël• « résider »
Modèle Logique de données 9
La traduction du MCD:PèreNoël
Modèle Logique de données 10
La traduction du MCD:PèreNoël
• « commander » et « obtenir »
Modèle Logique de données 11
La traduction du MCD:PèreNoël
• Les fournisseurs de cadeaux:
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 ?
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 )
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.
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.
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)
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é
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
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)
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);
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
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
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.
Modèle Logique de données 24
Exemple de la règle 1 bis
MCD
MLD
Modèle Logique de données 25
Règle 1
Pour chaque occurrence, 1 valeur à mémoriser une propriété suffit
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
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.
Modèle Logique de données 28
Passage au MLD relationnel
• Exemple de la règle 2 :
MCD
MLD
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.
Modèle Logique de données 30
Exemple de la règle 2
MLD
MCD
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);
Modèle Logique de données 32
Règle 2
Pour chaque occurrence, n valeurs à mémoriser une table supplémentaire
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.
Modèle Logique de données 34
Exemple de la règle 3 MLDMCD
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 ?
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.