Quel est le paradigme de la base de données

Avant-propos:

Concernant le paradigme de la base de données, j'en ai souvent entendu parler, mais je ne l'ai jamais compris en détail. Les livres de base de données généraux ou les cours de base de données présenteront un contenu relatif aux paradigmes, et les paradigmes apparaissent souvent dans les questions d'examen de la base de données. Il n'est pas clair si vous avez une compréhension plus claire du paradigme? Dans cet article, apprenons ensemble le paradigme de la base de données.

1. Introduction au paradigme des bases de données

Afin de construire une base de données avec moins de redondance et une structure raisonnable, certaines règles doivent être suivies lors de la conception de la base de données. Dans les bases de données relationnelles, ces règles sont appelées paradigmes. Un paradigme est un résumé qui répond à une certaine exigence de conception. Pour concevoir une base de données relationnelle avec une structure raisonnable, un certain paradigme doit être satisfait.

Le nom anglais du paradigme est Normal Form, ou NF en abrégé. Il a été résumé après que l'EFCodd britannique ait proposé le modèle de base de données relationnelle dans les années 1970. Paradigm est la base de la théorie des bases de données relationnelles, et ce sont également les règles et les méthodes de guidage que nous devons suivre dans le processus de conception de la structure de la base de données.

Il existe actuellement six paradigmes courants pour les bases de données relationnelles: première forme normale (1NF), deuxième forme normale (2NF), troisième forme normale (3NF), forme normale de Bath-Cord (BCNF), quatrième forme normale (4NF) et cinquième forme normale Paradigme (5NF, également appelé paradigme parfait). Le paradigme qui répond aux exigences minimales est la première forme normale (1NF). Sur la base de la première forme normale, celle qui satisfait davantage aux spécifications est appelée la seconde forme normale (2NF), et le reste de la forme normale est analogue à la suivante.

2. Explication détaillée des paradigmes courants

Lors de la conception d'une base de données, cela fera référence aux exigences du paradigme, mais cela ne signifie pas que plus le niveau du paradigme est élevé, mieux c'est. Bien que le paradigme soit trop élevé, bien qu'il ait de meilleures contraintes sur la relation des données, il conduira également à davantage de relations entre les tables. Il est encombrant, ce qui entraîne plus de tables par opération et des performances de base de données inférieures. Généralement, dans la conception de bases de données relationnelles, le plus élevé est BCNF, qui est généralement 3NF. Autrement dit, dans des circonstances normales, nous utilisons les trois premiers paradigmes suffisent. Examinons de plus près les trois premiers paradigmes couramment utilisés.

Première forme normale (1NF)

Le premier paradigme est le paradigme le plus élémentaire. Si toutes les valeurs de champ de la table de base de données sont des valeurs atomiques non décomposables, cela signifie que la table de base de données satisfait la première forme normale. En termes simples, le premier paradigme est que les données de chaque ligne sont indivisibles et qu'il ne peut y avoir plusieurs valeurs dans la même colonne. S'il y a des attributs en double, une nouvelle entité doit être définie.

Exemple: Supposons qu'une entreprise souhaite stocker les noms et les coordonnées de ses employés. Il crée une table comme suit:

Quel est le paradigme de la base de données

Deux employés (Jon & Lester) ont deux numéros de téléphone mobile, donc l'entreprise les stocke dans le même tableau, comme indiqué dans le tableau ci-dessus. Ensuite, la table n'est pas conforme à 1NF car la règle dit "chaque attribut de la table doit avoir une valeur atomique (unique)", et la valeur emp_mobile des employés de Jon & Lester enfreint cette règle. Afin de rendre la table conforme à 1NF, nous devrions avoir les données de table suivantes:

Quel est le paradigme de la base de données

Deuxième forme normale (2NF)

Le deuxième paradigme est un pas au-delà du premier paradigme. Le deuxième paradigme doit garantir que chaque colonne de la table de base de données est liée à la clé primaire, et pas uniquement à une certaine partie de la clé primaire (principalement pour la clé primaire combinée). C'est-à-dire que dans une table de base de données, un seul type de données peut être stocké dans une table, et plusieurs types de données ne peuvent pas être stockés dans la même table de base de données.

+----------+-------------+-------+
| employee | department  | head  |
+----------+-------------+-------+
| Jones    | Accountint  | Jones |
| Smith    | Engineering | Smith |
| Brown    | Accounting  | Jones |
| Green    | Engineering | Smith |
+----------+-------------+-------+

Le tableau ci-dessus décrit la relation entre le salarié, le service de travail et le dirigeant. Nous faisons des données qui peuvent représenter de manière unique une ligne de la table dans la base de données la clé primaire de cette table. La colonne d'en-tête du tableau n'est pas liée à la clé primaire. Par conséquent, le tableau n'est pas conforme à la deuxième forme normale. Pour rendre le tableau ci-dessus conforme à la deuxième forme normale, il doit être divisé en deux tableaux:

-- employee 为主键
+----------+-------------+
| employee | department  |
+----------+-------------+
| Brown    | Accounting  |
| Green    | Engineering |
| Jones    | Accounting  |
| Smith    | Engineering |
+----------+-------------+

-- department 为主键
+-------------+-------+
| department  | head  |
+-------------+-------+
| Accounting  | Jones |
| Engineering | Smith |
+-------------+-------+

Troisième forme normale (3NF)

Dans le but de satisfaire 2NF, tous les champs autres que la clé primaire doivent être indépendants les uns des autres, c'est-à-dire qu'il est nécessaire de s'assurer que chaque colonne de données dans la table de données est directement liée à la clé primaire, mais pas indirectement liée.

En bref, la troisième forme normale (3NF) exige qu'une relation ne contienne pas d'informations de clé non primaire qui sont déjà contenues dans d'autres relations. Par exemple, il existe une table d'informations sur le service, dans laquelle chaque service contient des informations telles que le numéro de service (dept_id), le nom du service et le profil du service. Ensuite, une fois que le numéro de service est répertorié dans la table d'informations sur les employés, les informations relatives au service telles que le nom du service et le profil du service ne peuvent pas être ajoutées à la table d'informations sur les employés. S'il n'y a pas de table d'informations de service, elle doit être construite selon la troisième forme normale (3NF), sinon il y aura beaucoup de redondance des données.

3. À propos de l'anti-paradigme

Les avantages du paradigme sont évidents: il évite une grande redondance des données, économise de l'espace de stockage et maintient la cohérence des données. Les tables normalisées sont généralement plus petites et peuvent être mieux placées en mémoire, de sorte que les opérations seront effectuées plus rapidement. Donc, tant que toutes les tables sont standardisées en 3NF, la conception de la base de données est-elle optimale? Ce n'est pas nécessairement vrai. Plus le paradigme est élevé, plus la division des tables est fine, plus il faut de tables dans une base de données et l'utilisateur doit diviser les données associées à l'origine entre plusieurs tables. Des instructions de requête légèrement plus complexes peuvent nécessiter au moins une association sur une base de données conforme au paradigme, et peut-être plus. Ce n'est pas seulement coûteux, mais peut également invalider certaines stratégies d'indexation.

Par conséquent, lorsque nous concevons la base de données, nous ne suivrons pas complètement les exigences du paradigme, et parfois nous procéderons également à une conception anti-paradigme. Améliorez les performances de lecture de la base de données en ajoutant des données redondantes ou répétées et réduisez le nombre de tables de jointure dans les requêtes relationnelles.

référence:

Je suppose que tu aimes

Origine blog.51cto.com/10814168/2547281
conseillé
Classement