Théorie de la normalisation des bases de données.
Lorsqu'ils sont confrontés à un problème réaliste, comme l'exigence de concevoir une base de données de gestion de l'enseignement, comment utiliser le modèle relationnel pour concevoir une base de données relationnelle raisonnable et appropriée, comment choisir un ensemble de meilleurs modèles relationnels et quels sont les attributs de chaque relation, ceux-ci appartiennent à la base de données. Le problème de la conception logique. La théorie de la standardisation des bases de données est la base théorique de la conception logique des bases de données. La théorie de la standardisation des bases de données relationnelles a été proposée pour la première fois par le fondateur de la base de données relationnelle EFCodd en 1970. Avant l'émergence de cette théorie, les modèles de données hiérarchiques et de réseau ne suivaient que les principes inhérents au modèle lui-même. La conception et la mise en œuvre des données associées étaient très aléatoires et aveugles. Pour le dire franchement, c'était une chance. En raison du manque de base théorique pour une telle conception de base de données, de nombreux problèmes inattendus peuvent survenir lors d'opérations futures.
Dans les bases de données relationnelles, le modèle relationnel comprend un ensemble de modèles relationnels et les relations ne sont pas des îlots isolés. Comment concevoir un système de base de données relationnelle approprié, la clé est de concevoir le modèle de la base de données relationnelle, en particulier:
- Quels modèles relationnels devraient être inclus dans la base de données
- Quels attributs chaque modèle de relation devrait-il inclure
- Comment créer une base de données relationnelle complète à partir de ces modèles relationnels associés
La théorie de la normalisation de la base de données relationnelle comprend principalement trois aspects: la dépendance fonctionnelle, la forme normale et la conception de modèles. Parmi eux, la dépendance fonctionnelle joue un rôle central et est à la base de la décomposition des modèles et de la conception des modèles. Paradigm est la norme de la décomposition des modèles.
Un modèle de relation déraisonnable.
Nous avons besoin de la conception d'une base de données de gestion de l'enseignement dont le modèle relationnel SCD est le suivant:
Une base de données établie à partir d'un tel modèle relationnel présente les problèmes suivants:
- [Redondance des données] Les durées de stockage de chaque nom de département et du nom du chef de département sont égales à la somme du nombre de cours sélectionnés par chaque étudiant. Il n'est pas difficile de trouver que les noms, les numéros d'étudiants et l'âge des étudiants sont également stockés à plusieurs reprises. La redondance est considérable.
- [Insérer une exception] Si l'école crée soudainement un nouveau département, tel que le nouveau département d'intelligence artificielle, le nom du département et le chef du département ne peuvent pas être insérés dans le tableau lorsque le département n'a pas encore inscrit d'étudiants. Parce que dans ce mode relationnel, (SNo + CNo) est le code principal, lorsque le code principal est vide, l'opération d'insertion ne peut pas être effectuée.
- [Supprimer l'anomalie] Lorsque tous les étudiants d'un certain département obtiennent leur diplôme et que le nouveau semestre n'a pas encore commencé à inscrire des étudiants, toutes les informations sur le département dans la fiche technique seront supprimées, comme si le département avait été annulé, mais en réalité cela Le département existe toujours.
- [Difficulté de mise à jour] Si un département change le doyen, alors les attributs du doyen dans les informations de tous les étudiants du département doivent être modifiés.
On voit que dans l'application réelle du SCD, face au nombre de 5 voire 6 étudiants, il est quasiment impossible de le faire, ce qui montre aussi qu'il s'agit d'un modèle de relation inapproprié. La raison de ces problèmes est intuitivement que SCD est trop complet et veut contenir toutes les informations, et la raison fondamentale est qu'il existe une relation dépendante des données entre les attributs.
Nous appelons un modèle relationnel tel que SCD un modèle pan . Il utilise une grande table pour stocker toutes les données. Pour certaines requêtes, la grande table peut directement donner des résultats, mais comme mentionné précédemment, diverses données sont impliquées. A causé de nombreux inconvénients et même des anomalies.
Si nous décomposons SCD dans les trois modes suivants, S (SNo, SN, Age, Dept), SC (SNo, CNo, Score) et D (Dept, MN):
ces trois modes relationnels sont dans une certaine mesure Ce qui précède réalise la séparation des données. La table S est utilisée comme table de relations entre les étudiants pour stocker les informations de base des étudiants, ce qui n'a rien à voir avec les cours et les chefs de service sélectionnés; la table D est utilisée comme table de relations de service pour stocker les informations de service et n'a rien à voir avec les étudiants; la table SC est La relation de sélection de cours, le stockage de l'ID étudiant, l'ID du cours sélectionné et le score n'ont rien à voir avec les autres informations de la table des étudiants et les informations dans la table des départements. De cette manière, la redondance des données est considérablement réduite et les anomalies sont également éliminées. Pour créer un nouveau département d'intelligence artificielle, il vous suffit de le modifier dans la liste D; tous les enregistrements des diplômés sont supprimés et le département ne semble pas disparaître. À partir de l'exemple ci-dessus, nous concluons qu'un modèle relationnel raisonnable et approprié dans une base de données relationnelle doit remplir les conditions suivantes:
- Redondance minimale des données
- Aucune exception n'est insérée
- Aucune exception n'a été supprimée
- Aucune exception de mise à jour
Après avoir décomposé le pan-pattern englobant en plusieurs modèles relationnels, la structure de chaque modèle peut être rendue claire et concise. Mais nous devons garder à l'esprit qu'un modèle de relation adapté n'est pas absolument le meilleur dans toutes les situations. Par exemple, si nous voulons interroger le nom du cours optionnel d'un étudiant et le nom du doyen du département, nous devons compléter la requête via la connexion. La surcharge requise pour l'opération de connexion est très importante, mais la requête en mode panoramique n'a pas besoin d'être connectée (car elle contient toutes ces informations).
Concevez le modèle de relation selon une certaine norme, décomposez la relation complexe en plusieurs relations simples, puis convertissez le modèle de base de données non standard en modèle de base de données standard. Il s'agit de la normalisation de la relation.