Deuxième forme normale (2nf)

Définition - Que signifie la deuxième forme normale (2NF)?

La deuxième forme normale (2NF) est la deuxième étape de normalisation d'une base de données. 2NF s'appuie sur la première forme normale (1NF).

La normalisation est le processus d'organisation des données dans une base de données afin qu'elle réponde à deux exigences de base:

  • Il n'y a pas de redondance des données (toutes les données sont stockées dans un seul endroit).
  • Les dépendances des données sont logiques (tous les éléments de données associés sont stockés ensemble).

Une table 1NF est sous la forme 2NF si et seulement si tous ses attributs non-premiers sont fonctionnellement dépendants de l'ensemble de chaque clé candidate.

Definir Tech explique la deuxième forme normale (2NF)

Après avoir satisfait aux exigences de 1NF, 2NF exige que le concepteur de base de données effectue les opérations suivantes:

  1. Divisez toutes les données pour créer des relations plusieurs-à-plusieurs et stockez les données dans des tables séparées. Par exemple, dans une base de données utilisée par l'application d'une école, deux des tables sont STUDENT et SUBJECT. Dans la vraie vie, un étudiant prend plusieurs matières simultanément tandis qu'une matière est étudiée par plusieurs étudiants. Ce sont des relations plusieurs-à-plusieurs. 2NF déclare que cette relation doit être divisée en plus des deux tableaux ci-dessus (ÉTUDIANT et SUJET). Une façon de les diviser consiste à introduire une troisième table, qui contient les colonnes Student_ID, Subject_ID, Semester et Year. De cette manière, il n'y a pas de relation directe entre STUDENT et SUBJECT car toutes les relations sont créées indirectement via la troisième table.
  2. Créez des relations entre les tables à l'aide de clés étrangères. Par exemple, la base de données d'une banque contient deux tables: CUSTOMER_MASTER (pour stocker les détails du client) et ACCOUNT_MASTER (pour stocker des détails sur les comptes bancaires, y compris quel client détient quel compte). Il doit y avoir un moyen de lier les deux tables pour savoir qui est le client pour chaque compte. Pour ce faire, utilisez une clé étrangère, qui est une colonne de la table ACCOUNT_MASTER pointant vers une colonne correspondante de la table CUSTOMER_MASTER.

Une table pour laquelle il n'y a pas de dépendances fonctionnelles partielles sur la clé primaire peut ou non être dans 2NF. En plus de la clé primaire, la table peut contenir d'autres clés candidates; il est nécessaire d'établir qu'aucun attribut non principal n'a de dépendances de clé partielle sur l'une de ces clés candidates.