Maison >base de données >tutoriel mysql >Base de données trois formes normales et formes anti-normales
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!