Base de données - Première forme normale (1NF)

La première forme normale (1NF) définit les règles de base pour une base de données organisée -

  • Définissez les éléments de données requis, car ils deviennent les colonnes d'une table.

  • Placez les éléments de données associés dans une table.

  • Assurez-vous qu'il n'y a pas de groupes de données répétitifs.

  • Assurez-vous qu'il existe une clé primaire.

Première règle de 1NF

Vous devez définir les éléments de données. Cela signifie examiner les données à stocker, organiser les données en colonnes, définir le type de données que contient chaque colonne et enfin placer les colonnes associées dans leur propre table.

Par exemple, vous mettez toutes les colonnes relatives aux lieux des réunions dans la table Location, celles relatives aux membres dans la table MemberDetails et ainsi de suite.

Deuxième règle de 1NF

L'étape suivante consiste à s'assurer qu'il n'y a pas de groupes de données répétitifs. Considérez que nous avons le tableau suivant -

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   ORDERS   VARCHAR(155)
);

Donc, si nous remplissons ce tableau pour un seul client ayant plusieurs commandes, alors ce serait quelque chose comme indiqué ci-dessous -

ID NOM ÂGE ADRESSE ORDRES
100 Sachin 36 Lower West Side Canon XL-200
100 Sachin 36 Lower West Side Batterie XL-200
100 Sachin 36 Lower West Side Grand trépied

Mais selon le 1NF, nous devons nous assurer qu'il n'y a pas de groupes de données répétitifs. Alors, divisons le tableau ci-dessus en deux parties, puis joignons-les à l'aide d'une clé comme indiqué dans le programme suivant -

Tableau CLIENTS -

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   PRIMARY KEY (ID)
);

Cette table aurait l'enregistrement suivant -

ID NOM ÂGE ADRESSE
100 Sachin 36 Lower West Side

Table ORDERS -

CREATE TABLE ORDERS(
   ID   INT              NOT NULL,
   CUSTOMER_ID INT       NOT NULL,
   ORDERS   VARCHAR(155),
   PRIMARY KEY (ID)
);

Cette table contiendrait les enregistrements suivants -

ID N ° DE CLIENT ORDRES
dix 100 Canon XL-200
11 100 Batterie XL-200
12 100 Grand trépied

Troisième règle de 1NF

La règle finale de la première forme normale, créer une clé primaire pour chaque table que nous avons déjà créée.

sql-rdbms-concepts.htm