Le niveau logique
Le passage du niveau conceptuel au niveau logique suppose d'avoir fait un choix organisationnel pour la structuration des données.
On parle en effet de niveau logique relationnel si on choisit une implémentation relationnelle, basée sur l'algèbre relationnel et la théorie des ensembles. (CODD).
Bien que le choix relationnel soit toujours prédominant (même si on fait du NO SQL-Not Only SQL), il existe d'autres choix d'organisation :
- Hiérarchique
- Réseaux
- Objet
- Clé/valeur
Notion de Relation
Le terme Relation doit être pris au sens de l'algèbre relationnel:
Une relation regroupe un ensemble d'éléments (des tuples) ayant des caractéristiques communes (des attributs).
Attributs de la relation Clients :
Clé
Soient une relation R(A1,A2,…,An) et K un sous-ensemble de A1,A2,… ,An.
K est une clé de R si et seulement si :
K⇒A1,A2,…,An
il n'existe pas K’ inclus dans K tel que K’⇒A1,A2,…,An
Clé candidate et clé primaire
On qualifie de clé candidate tout attribut de la relation permettant d'identifier de façon unique un tuple.
Parmi les clé(s) candidate(s) éventuelles, seule l'une d'entre elles sera choisie comme clé primaire.
Cette clé primaire doit logiquement disposer de certaines qualités pour jouer son rôle :
- Ne pas être mutable (pour ne pas provoquer des opérations inutiles pour maintenir son référencement)
- Ne pas être volumineuse (taille de stockage)
Clé composite
Une clé primaire composite est composée de plusieurs attributs. Il n'y a jamais plusieurs clés primaires, mais éventuellement une clé primaire composite composée de plusieurs attributs.
Les clés primaires issues des CIM sont par exemple composites.
Clé étrangère
Une clé étrangère est une référence à une clé primaire d'une autre relation.
Du MCD au MLDR
Nous évoquons ici les règles de passage simples, qui ne requièrent aucun choix.
MCD | MLDR |
---|---|
Entité, identifiants, propriétés | Relation, clé primaire, attributs |
Association CIF | Migration de la clé du père vers le fils ⇒ clé étrangère |
Association CIM | Nouvelle relation dont la clé primaire est composée des clés étrangères des relations associées |
Il est évidemment possible de renommer la clé étrangère faisant référence à une clé primaire :
- Pour mieux saisir son rôle
- ou simplement pour éviter un conflit en cas de références identiques (2 CIFs entre les 2 mêmes entités)
Représentations
Textuelle normalisée
Cette version textuelle permet de spécifier explicitement les références des clés étrangères (ce qui peut s'avérer utile en cas de renommage), d'une façon assez proche du script SQL qui sera généré.
Textuelle "courte"
Graphique
Avec la notation Crow's-Foot
Mnémotechnique
Souvenez-vous, les clés étrangères migrent :
- Vers le 1 des CIFs
- Vers la nouvelle relation de chaque CIM
Normalisation
Pour être valide, un MLDR doit respecter les 4 premières formes normales, afin d'éviter la redondance et les anomalies de mise à jour :
1NF
Une relation respecte la 1ère forme normale si :
- Elle posséde une clé
- Tous ses attributs sont atomiques (pas d'attributs multi-valués)
2NF
Une relation respecte la 2ème forme normale si :
- Elle est en 1NF
- Tout attribut non clé ne dépend pas d'une partie de la clé
Cette forme normale ne concerne donc que les clés composites
3NF
Une relation respecte la 3ème forme normale si :
- Elle est en 2NF
- Tout attribut non clé ne dépend pas fonctionnellement d'un autre attribut non clé.