Maison  >  Article  >  base de données  >  Base de données trois formes normales et formes anti-normales

Base de données trois formes normales et formes anti-normales

亚连
亚连original
2018-05-10 10:43:123546parcourir

Dans le processus de développement quotidien, nous devons faire fonctionner la base de données Mysql, ce qui implique la construction de tables. Comment créer une table de base de données bien structurée nécessite de suivre les trois paradigmes de base de données suivants.

1. La première forme normale

assure l'atomicité de chaque colonne (champ) de la table de données.

Si chaque champ de la table de données est la plus petite unité de données qui ne peut pas être subdivisée, il satisfait à la première forme normale.

Par exemple : table utilisateur, contenant les champs identifiant, nom d'utilisateur, mot de passe

2 La deuxième forme normale

est. dans la deuxième forme normale En allant plus loin sur la base de la forme normale, le but est de s'assurer que chaque colonne du tableau est liée à la clé primaire.

Si une relation satisfait à la première forme normale et que toutes les autres colonnes à l'exception de la clé primaire dépendent de la clé primaire, elle satisfait à la deuxième forme normale.

Par exemple : un utilisateur n'a qu'un seul rôle, et un rôle correspond à plusieurs utilisateurs. Ensuite, vous pouvez établir la relation entre la table de données comme suit pour qu'elle réponde à la deuxième forme normale.

user table utilisateur, identifiant des champs, nom d'utilisateur, mot de passe, identifiant_rôle

tableau des rôles rôle, identifiant des champs, nom

La table utilisateur associe la table des rôles à l'identifiant du rôle ( role_id)

3. La troisième forme normale

est une étape plus loin basée sur la deuxième forme normale. les colonnes du tableau sont directement liées à la clé primaire pertinente, et non indirecte.

Par exemple : un utilisateur peut correspondre à plusieurs rôles, et un rôle peut également correspondre à plusieurs utilisateurs. Ensuite, vous pouvez établir la relation entre la table de données comme suit pour qu'elle réponde à la troisième forme normale.

table d'utilisateur, identifiant de champs, nom d'utilisateur, mot de passe

table de rôle, identifiant de champ, nom

user_role table intermédiaire de rôle utilisateur, identifiant ,user_id,role_id

Ainsi, la relation entre la table utilisateur et la table des rôles est établie via la troisième table (table intermédiaire), et en même temps elle est conforme au principe de normalisation, qui peut être appelée la troisième forme normale.

4. Dénormalisation

La dénormalisation fait référence à l'amélioration des performances de lecture de la base de données en ajoutant des données redondantes ou en double.

Par exemple : ajoutez le champ role_name à la table intermédiaire user_role user-role dans l'exemple ci-dessus.

La dénormalisation peut réduire le nombre de jointures de tables lors des requêtes associées.

Ce qui précède est le paradigme de création de table pour la base de données MYSQL que j'ai compilé. J'espère qu'il sera utile à tout le monde à l'avenir.

Articles connexes :
Optimisation de l'index MySQL couvrant l'index

Méthode de sélection du type de champ MySQL

La connexion entre les verrous et les index MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn