La modélisation logique des données est un processus mécanique qui consiste à convertir l'ERD (schéma entité-relation) d'une modélisation conceptuelle des données en un format adapté aux bases de données relationnelles. Elle utilise des règles de mappage pour transformer les entités, les attributs et les relations en tables, colonnes et PK/FK.
La gestion des relations 1:1, 1:N et N:M permet de représenter les relations entre les tables. Les relations N:M sont gérées à l'aide d'une table intermédiaire.
La normalisation est un processus qui permet d'adapter les tables à une base de données relationnelle. Elle se déroule en plusieurs étapes (1NF, 2NF, 3NF) afin de supprimer les dépendances partielles et les dépendances transitives.
Contrairement à l’analyse des exigences et à la modélisation des données conceptuelles, la modélisation des données logiques est une procédure plus mécanique.
Le processus principal consiste à convertir le diagramme ERD, qui est le résultat de la modélisation des données conceptuelles, en un modèle adapté au paradigme de base de données relationnelle en fonction des règles de mappage (Mapping Rule).
Règles de mappage
Les entités carrées sont converties en tables.
Les attributs circulaires sont convertis en colonnes.
Les relations sont converties en PK ou FK.
Il est préférable de commencer par représenter en priorité les tables sans FK.
Relation
La relation entre les tables est exprimée en tenant compte de la cardinalité et de l’optionalité.
La représentation est effectuée dans l’ordre suivant : relation 1 : 1 la plus simple, relation 1 : N, relation N : M.
Traitement de la relation 1:1
Dans une relation 1 : 1, la dépendance entre les deux tables est examinée et la FK est définie.
On peut considérer qu’il s’agit d’une table parent et d’une table enfant.
Traitement de la relation 1:N
Dans une relation 1 : N, puisque 1 est référencé par N, la FK est définie sur N.
Traitement de la relation N:M
Pour traiter une relation N : M dans une base de données relationnelle, une table intermédiaire (également appelée table de mappage ou table de liaison) est créée et représentée.
Dans ce cas, il est important de représenter la cardinalité et l’optionalité des deux tables référencées par la table de mappage.
Normalisation
Wikipedia - Normalisation de base de données
Il s’agit du processus de transformation d’une table non raffinée en une table adaptée à une base de données relationnelle.
Dans le secteur industriel, le processus de normalisation s’arrête à la 3e forme normale, les formes normales suivantes étant principalement utilisées dans le domaine académique.
La normalisation doit être effectuée séquentiellement, étape par étape.
1ère forme normale (1st Normal Form, 1NF)
Les colonnes appartenant à une table doivent contenir uniquement des valeurs atomiques (Atomic).
Si l’on examine le principe fondamental de la 1re forme normale, il est difficile de comprendre ce que cela signifie, mais cela signifie simplement que chaque colonne doit contenir une seule valeur.
Si plusieurs valeurs sont contenues dans une seule colonne, c’est-à-dire si elle n’est pas atomique, il peut être difficile de faire une jointure avec une instruction SQL et cela peut entraîner divers problèmes.
2e forme normale (2nd Normal Form, 2NF)
Doit satisfaire la 1re forme normale.
La dépendance partielle doit être éliminée.
Si des valeurs en double existent dans les lignes d’une table, la colonne dont dépend cette ligne est trouvée et séparée.
3e forme normale (3rd Normal Form, 3NF)
Doit satisfaire la 1re forme normale.
Doit satisfaire la 2e forme normale.
La dépendance transitive doit être éliminée.
L’expression « dépendance transitive » est très difficile à comprendre. D’après ma compréhension, si une table donnée contient une ou plusieurs valeurs qui impliquent implicitement l’identifiant d’une autre table (à l’exclusion de la FK bien sûr), cela semble être considéré comme une dépendance transitive.