Ce document, destiné aux étudiants universitaires en génie informatique, offre une introduction approfondie à la Modélisation Logique de Données (MLD). Il vise à éclairer les concepts clés et les pratiques de modélisation nécessaires à la conception de bases de données relationnelles.
Il couvre les notions suivantes :
- La définition et les caractéristiques du Modèle Logique de Données.
- Les différents types de Systèmes de Gestion de Bases de Données (SGBD), avec un focus sur le modèle relationnel.
- Les règles de transformation détaillées du Modèle Conceptuel de Données (MCD) vers le MLD relationnel.
- Des exemples illustratifs pour consolider la compréhension des concepts.
Modélisation Merise : Cours Modèle Logique de Données MLD
Télécharger PDFModèle Logique de Données (MLD)
Introduction à la Modélisation Logique de Données
La modélisation logique des données est une représentation structurée des données, issue de la modélisation conceptuelle des données (MCD). Elle est exprimée dans un formalisme général et compatible avec l'état de l'art technique, tout en prenant en compte les aspects coûts et performances liés aux traitements.
Alors qu'un modèle conceptuel de données est indépendant de l'état de l'art technologique, le MLD doit s'adapter aux différentes sortes de Systèmes de Gestion de Bases de Données (SGBD) qui ont chacun leur propre modèle.
Types de Systèmes de Gestion de Bases de Données
À ces modèles sont associés différents types de systèmes de gestion :
- Systèmes de Gestion de Fichiers (SGF), qui ne sont pas considérés comme de véritables SGBD.
- SGBD hiérarchiques, organisés selon une structure arborescente.
- SGBD réseau (ou CODASYL).
- SGBD relationnels, les plus répandus.
- SGBD Orientés Objets (SGBDOO).
Le Modèle Relationnel
Le modèle relationnel a été défini par E.F. Codd en 1970 à IBM San José.
Aspects fondamentaux du modèle relationnel :
- Une algèbre permettant de manipuler des tables et des relations.
- Une démarche de conception permettant de définir une collection de relations.
Un modèle est dit relationnel dans la mesure où il permet de parcourir la structure des données en empruntant des chemins non prédéfinis, constitués dynamiquement par des requêtes. Les concepts du modèle relationnel découlent de la théorie des ensembles.
Règles de Transformation du MCD en MLD Relationnel
Transformation des Entités
- Toute entité devient une table.
- L'identifiant de l'entité devient une clé primaire de cette table.
- Les propriétés de l'entité deviennent des attributs.
Règle I : Association Binaire de type (*,*)-(c,1)
Cette règle s'applique aux associations binaires avec des cardinalités de type un à plusieurs, comme par exemple :
- (0,n)-(1,1)
- (1,n)-(1,1)
- (0,n)-(0,1)
- (1,n)-(0,1)
- (0,1)-(1,1)
- (0,1)-(0,1)
La clé primaire de la table issue de l'entité côté cardinalités multiples (*,*) est dupliquée dans la table issue de l'entité côté cardinalité simple (*,1), où elle devient une clé externe. Cette clé externe peut potentiellement être une valeur NULLE si la cardinalité minimale est zéro.
Règle II : Association Binaire de type (*,n)-(*,n)
Cette règle concerne les associations binaires avec des cardinalités de type plusieurs à plusieurs, telles que :
- (0,n)-(0,n)
- (1,n)-(1,n)
- (1,n)-(0,n)
Une nouvelle table est créée pour l'association. Sa clé primaire est une clé composée des identifiants des deux entités participantes. Les éventuelles propriétés de l'association deviennent les attributs de cette nouvelle table.
Règle III : Relation Ternaire ou Supérieure
Pour une association ternaire ou d'un degré supérieur (impliquant plus de deux entités), une nouvelle table est créée. Sa clé primaire est une clé composée des identifiants de toutes les entités impliquées. Les éventuelles propriétés de l'association deviennent des attributs de cette table.
Associations Réflexives 1 : Type (0,n)-(0,1)
Dans le cas d'une association réflexive de type (0,n)-(0,1), la clé primaire de l'entité est dupliquée dans la même table. Cette clé dupliquée devient une clé externe qui peut être une valeur NULLE. Les éventuelles propriétés de l'association sont ajoutées comme attributs de la table.
Associations Réflexives 2 : Type (*,n)-(*,n)
Pour une association réflexive de type (*,n)-(*,n), comme (0,n)-(0,n), (1,n)-(1,n) ou (1,n)-(0,n), une nouvelle table est créée. Sa clé primaire est une clé composée de deux fois l'identifiant de l'entité. Les éventuelles propriétés de l'association deviennent des attributs de cette nouvelle table.
Exemples de Transformation MCD en MLD Relationnel
Exemple 1 : Entité Simple
Entité du MCD : CLIENT (N° Client, Nom, Prénom, Date_naissance)
Table relationnelle (MLD) : CLIENT (N° Client, Nom, Prénom, Date_naissance)
Exemple 2 : Association Binaire (1,n)-(1,1)
Association du MCD : CLIENT (1,n) -- Passer -- (1,1) COMMANDE
Tables relationnelles (MLD) :
- CLIENT (N°Client, Nom, Prénom, Date_naissance)
- COMMANDE (N°Cmde, Date_Cmde, N°Client)
Exemple 3 : Association Binaire (0,n)-(1,n)
Association du MCD : PRODUIT (0,n) -- Concerner (Quantité) -- (1,n) COMMANDE
Tables relationnelles (MLD) :
- PRODUIT (N°Produit, Libellé, Prix)
- COMMANDE (N°Cmde, Date_Cmde)
- CONCERNER (N°Produit, N°Cmde, Quantité)
Exemple 4 : Association Réflexive (0,n)-(0,1)
Association réflexive du MCD : PERSONNE (0,n) -- hiérarchie (est chef de / est subordonné de) -- (0,1) PERSONNE
Table relationnelle (MLD) :
- PERSONNE (N° Employé, Nom, Prénom, Date_naissance, N° Chef)
Exemple 5 : Association Réflexive (*,n)-(*,n)
Association réflexive du MCD : PERSONNE (0,n) -- hiérarchie (est chef de / est subordonné de) -- (0,n) PERSONNE
Tables relationnelles (MLD) :
- PERSONNE (N° Employé, Nom, Prénom, Date_naissance)
- HIERARCHIE (N° Employé, N° Employé_chef)
Exemple 6 : Association Ternaire
Association ternaire du MCD : ARTICLE (1,n) -- Fabriquer (Qté à fabriquer) -- SITE (0,n) -- ORDRE_FABRICATION (0,n)
Tables relationnelles (MLD) :
- SITE (N° Site)
- ARTICLE (N° Article, Libellé_article)
- ORDRE_FABRICATION (N°OF, Date_OF)
- FABRIQUER (N° Site, N° Article, N°OF, Qté_à_fabriquer)
Foire Aux Questions (FAQ) sur le MLD
Qu'est-ce qu'un Modèle Logique de Données (MLD) ?
Le Modèle Logique de Données (MLD) est une étape de conception d'une base de données qui représente les données de manière structurée, en tenant compte des contraintes et des spécificités techniques d'un Système de Gestion de Bases de Données (SGBD) particulier, souvent relationnel. Il dérive du Modèle Conceptuel de Données (MCD) et prépare la mise en œuvre physique de la base.
Quelle est la principale différence entre un MCD et un MLD ?
La principale différence réside dans leur niveau d'abstraction et leur indépendance technique. Le Modèle Conceptuel de Données (MCD) est agnostique à toute technologie, se concentrant uniquement sur la signification des données et leurs relations. Le Modèle Logique de Données (MLD), en revanche, est dépendant d'un type de SGBD (par exemple, relationnel) et intègre des notions comme les tables, les clés primaires et les clés étrangères, tout en étant indépendant du matériel.
Comment les cardinalités des associations influencent-elles la transformation en MLD ?
Les cardinalités sont cruciales pour déterminer la structure du MLD. Par exemple :
- Une association binaire de type (1,n)-(1,1) (un à plusieurs) entraîne l'ajout de la clé primaire de l'entité "un" comme clé étrangère dans la table de l'entité "plusieurs".
- Une association de type (*,n)-(*,n) (plusieurs à plusieurs) requiert la création d'une nouvelle table pour l'association, dont la clé primaire est une combinaison des clés primaires des deux entités associées.