Ceci est une ancienne révision du document !
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é primaire
La clé primaire d'une relation définit le ou les attributs permettant d'identifier de façon unique un tuple unique de cette relation.
Cette clé 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é candidate
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.
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.
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é.