Référence MLD
Wiki MLD
Tables, clés et règles de transformation MCD → MLD.
- fiches
- 20
- catégories
- 4
- Niveau
- Logique
Concepts MLD
Tables, clés primaires et clés étrangères.
- TableAu MLD, chaque entité devient une table : ses attributs deviennent des colonnes et chaque occurrence une ligne. La table s'écrit sans type SQL, qui n'arrive qu'au MPD.
- Clé primaire (PK)La clé primaire est la colonne, ou le groupe de colonnes, qui identifie chaque ligne sans ambiguïté. Elle vient de l'identifiant du MCD et ne peut être ni vide ni dupliquée.
- Clé étrangère (FK)Une clé étrangère est une colonne qui reprend la clé primaire d'une autre table pour matérialiser un lien du MCD. Le SGBD vérifie alors que la ligne référencée existe bien.
MCD → MLD
Règles de passage selon les cardinalités, réflexives, entités faibles et généralisation.
- Entité → TableLe passage du MCD au MLD suit des règles fixes : chaque entité devient une table, son identifiant la clé primaire et ses attributs des colonnes. Les associations se traitent ensuite, une par une.
- Cardinalités (x,n) — (x,1) : association fonctionnelleDans une association (x,n)–(x,1), la clé étrangère va dans la table dont la cardinalité maximale vaut 1. Elle est NOT NULL en (1,1) et nullable en (0,1) : c'est la règle la plus utilisée.
- Cardinalités (x,n) — (x,n) : table de liaisonUne association dont les deux cardinalités maximales valent n devient une table de liaison. Sa clé primaire réunit les deux clés étrangères, et les attributs du lien y deviennent des colonnes.
- Association porteuse d'attributs → MLDLes attributs d'une association suivent sa traduction : colonnes de la table de liaison si elle est n-n ou n-aire, colonnes de la table qui reçoit la clé étrangère si elle est fonctionnelle.
- Cardinalités (1,1) — (1,1) et (0,1) — (1,1)Les associations un-à-un sont rares. En (0,1)–(1,1), la clé étrangère va du côté (1,1), avec UNIQUE NOT NULL ; en (1,1)–(1,1), on fusionne le plus souvent les deux entités en une table.
- Association réflexive → MLDUne association réflexive se traduit par une clé étrangère vers la même table, nommée d'après le rôle et le plus souvent nullable. Une réflexive n-n donne une table de liaison à deux clés.
- Identifiant relatif → MLDUne entité faible devient une table dont la clé primaire est composée de la clé étrangère vers l'entité forte et de l'identifiant local. Cette clé étrangère ne peut donc jamais être vide.
- Généralisation → MLD (héritage)Une généralisation du MCD se traduit de trois façons : table unique avec colonne de type, table mère et tables filles, ou tables filles seules. Le choix dépend des requêtes et des contraintes.
Normalisation
1FN, 2FN, 3FN, FNBC et dénormalisation maîtrisée.
- 1FN — Première forme normaleUne table est en première forme normale si chaque colonne contient une seule valeur atomique et qu'aucun groupe de colonnes ne se répète. C'est la condition de base pour interroger en SQL.
- 2FN & 3FNLa 2FN interdit qu'un attribut dépende d'une partie seulement d'une clé composée ; la 3FN interdit qu'il dépende d'un autre attribut non clé. Ensemble, elles suppriment l'essentiel des redondances.
- FNBC (forme normale de Boyce-Codd)Une table est en FNBC si toute dépendance fonctionnelle part d'une clé candidate. Plus stricte que la 3FN, elle n'en diffère qu'avec plusieurs clés candidates composées qui se chevauchent.
- Dénormalisation maîtriséeDénormaliser, c'est réintroduire une redondance contrôlée pour accélérer des lectures fréquentes. On le fait après avoir normalisé et mesuré, avec un mécanisme qui garde la copie juste.
Vers le MPD
Notation, choix des clés, contraintes, SQL et vérification du modèle.
- Notation MLDLe MLD s'écrit en notation textuelle : table, puis colonnes entre parenthèses, clé primaire soulignée et clé étrangère précédée de #. Le studio MLD remplace ces signes par des badges PK et FK.
- Clé naturelle ou clé techniqueUne clé naturelle vient du métier (ISBN, code pays) ; une clé technique est un numéro sans signification attribué par le système. Le bon choix dépend de la stabilité de la donnée.
- Contraintes d'intégritéNOT NULL, UNIQUE, CHECK et les clés étrangères traduisent les règles de gestion dans le SGBD, qui refuse alors les données incohérentes quelle que soit l'application qui les écrit.
- MLD → MPD (SQL)Le MPD traduit le MLD en ordres CREATE TABLE pour un SGBD précis, avec les types de colonnes, les contraintes et les index. C'est à ce niveau que le modèle devient une base qui fonctionne.
- Vérifier son MLDAvant d'écrire le SQL, on relit le MLD avec une grille : entités et associations toutes traduites, clés étrangères du bon côté, formes normales respectées et données d'essai réalistes.