Maison > Article > base de données > Résumer les principes de conception de bases de données
La relation entre le document original et l'entité peut être un-à-un, un-à-plusieurs ou plusieurs-à-plusieurs. En général, il s'agit d'une relation biunivoque : c'est-à-dire qu'un document original correspond à une seule entité. Dans des cas particuliers, il peut s'agir d'une relation un-à-plusieurs ou plusieurs-à-un, c'est-à-dire qu'un document original correspond à plusieurs entités, ou que plusieurs documents originaux correspondent à une entité.
1. La relation entre le document original et l'entité
Il peut s'agir d'une relation un-à-un, un-à-plusieurs ou plusieurs-à-plusieurs. En général, il s'agit d'une relation biunivoque : c'est-à-dire qu'un document original correspond à une seule entité.
Dans des cas particuliers, il peut s'agir d'une relation un-à-plusieurs ou plusieurs-à-un, c'est-à-dire qu'un document original correspond à plusieurs entités, ou que plusieurs documents originaux correspondent à une entité.
Les entités ici peuvent être comprises comme des tableaux de base. Après avoir clarifié cette correspondance, elle nous sera d'une grande utilité dans la conception de l'interface de saisie.
〖Exemple 1〗 : Les informations d'un CV d'employé correspondent à trois tables de base dans le système d'information des ressources humaines : la table d'informations de base sur l'employé, la table des relations sociales et la table de reprise de travail.
Il s'agit d'un exemple typique de "un document original correspond à plusieurs entités".
2. Clés primaires et clés étrangères
De manière générale, une entité ne peut pas avoir à la fois des clés primaires et des clés étrangères. Dans le diagramme E-R, l'entité en position feuille peut définir ou non une clé primaire (car elle n'a pas de descendants), mais elle doit avoir une clé étrangère (car elle a un parent).
La conception des clés primaires et des clés étrangères joue un rôle important dans la conception de la base de données globale. Une fois la conception de la base de données mondiale terminée, un expert américain en conception de bases de données
a déclaré : « Les clés sont partout, et il n'y a rien d'autre que les clés. » C'est ce qu'il a dit à propos de son expérience en matière de conception de bases de données, et cela reflète également qu'il a développé. ses idées très abstraites sur le cœur (le modèle de données) des systèmes d'information. Parce que : la clé primaire est une entité hautement abstraite, et l'appariement de la clé primaire et de la clé étrangère représente la connexion entre les entités.
3. Propriétés des tables de base
Les tables de base sont différentes des tables intermédiaires et des tables temporaires car elles ont les quatre caractéristiques suivantes :
(1) Atomicité. Les champs de la table de base ne sont pas décomposables. (2) Primitivité. Les enregistrements de la table de base sont des enregistrements des données originales (données de base).
(3) Déductif. Toutes les données de sortie peuvent être dérivées des données de la table de base et de la table de codes.
(4) Stabilité. La structure de la table de base est relativement stable et les enregistrements de la table doivent être conservés pendant une longue période.
Après avoir compris la nature des tables de base, vous pouvez distinguer les tables de base des tables intermédiaires et des tables temporaires lors de la conception d'une base de données.
4. Norme de forme normale
La relation entre la table de base et ses champs doit essayer de respecter la
troisième forme normale . Cependant, une conception de base de données qui satisfait au troisième paradigme n’est souvent pas la meilleure conception. Afin d'améliorer l'efficacité opérationnelle de la base de données, il est souvent nécessaire d'abaisser le standard du paradigme : augmenter de manière appropriée la redondance pour atteindre l'objectif d'échange d'espace contre du temps.
〖Exemple 2〗 : Il existe une table de base pour stocker les marchandises, comme indiqué dans le tableau 1. L'existence du champ "montant" indique que la conception du tableau ne répond pas à la troisième forme normale,
Car le "montant" peut être obtenu en multipliant "prix unitaire" par "quantité", indiquant que "montant" est un champ redondant. Cependant, l'ajout du champ redondant « Montant » peut améliorer la vitesse d'interrogation des statistiques. C'est ainsi que l'on échange de l'espace contre du temps.
Dans Rose 2002, il existe deux types de colonnes : les colonnes de données et les colonnes calculées. Les colonnes telles que « Montant » sont appelées « colonnes calculées », tandis que les colonnes telles que « Prix unitaire » et « Quantité » sont appelées « colonnes de données ».
Tableau 1 Structure du tableau des produits
Nom du produit Modèle du produit Prix unitaire Quantité montant
Téléviseur 29 pouces 2 500 40 100 000
5. Comprendre les trois paradigmes de manière simple manière
Une compréhension commune des trois paradigmes est très bénéfique pour la conception de bases de données. Dans la conception de bases de données, afin de mieux appliquer les trois paradigmes, il est nécessaire de comprendre les
trois paradigmes d'une manière populaire (la compréhension populaire est une compréhension suffisante, pas la compréhension la plus scientifique et la plus précise) : Première forme normale
: 1NF est une contrainte d'atomicité sur les attributs, qui nécessite que les attributs soient atomiques et ne peuvent pas être décomposés
Deuxième forme normale : 2NF est une contrainte d'unicité sur les enregistrements, qui nécessite L'enregistrement a un identifiant unique, c'est-à-dire l'unicité de l'entité ; Troisième forme normale : 3NF est une contrainte sur la redondance des champs, c'est-à-dire qu'aucun champ ne peut être dérivé d'autres champs, et il exige que les champs ne sont pas redondants.
Aucune conception de base de données redondante ne peut faire cela. Cependant, une base de données sans redondance n'est peut-être pas la meilleure base de données. Parfois, pour améliorer l'efficacité opérationnelle, il est nécessaire d'abaisser le standard du paradigme et de conserver de manière appropriée les données redondantes. L'approche spécifique est la suivante : se conformer au troisième paradigme lors de la conception du modèle de données conceptuel et prendre en compte le travail d'abaissement de la norme du paradigme lors de la conception du modèle de données physique. Réduire le formulaire normal signifie ajouter des champs et autoriser la redondance.
6. Soyez doué pour identifier et gérer correctement les relations plusieurs-à-plusieurs
S'il existe une relation plusieurs-à-plusieurs entre deux entités, cette relation doit être éliminée. La solution est d'ajouter une troisième entité entre les deux. De cette façon, il s'avère que
Une relation plusieurs-à-plusieurs est désormais deux relations un-à-plusieurs. Les attributs des deux entités d'origine doivent être raisonnablement attribués aux trois entités. La troisième
entité ici est essentiellement une relation plus complexe, qui correspond à un tableau de base. De manière générale, les outils de conception de bases de données ne peuvent pas reconnaître les relations plusieurs-à-plusieurs, mais ils peuvent gérer les relations
plusieurs-à-plusieurs.
〖Exemple 3〗 : Dans le « Système d'information de la bibliothèque », « livre » est une entité et « lecteur » est également une entité. La relation entre ces deux entités est une relation plusieurs-à-plusieurs typique : un livre peut être emprunté par plusieurs lecteurs à différents moments, et un lecteur peut emprunter plusieurs livres. A cet effet, il convient d'ajouter une troisième entité entre les deux
. Cette entité est nommée « Emprunter et rendre les livres ». Ses attributs sont : le temps d'emprunt et de retour, le drapeau d'emprunt et de retour (0 signifie emprunter le livre, 1 signifie emprunter le livre). renvoyant le livre). Livre), en plus,
Il doit également avoir deux clés étrangères (la clé primaire de "Livre", la clé primaire de "Lecteur"), afin qu'il puisse être connecté à "Livre" et "Lecteur".
7. La méthode de valeur de la clé primaire PK
PK est un outil de connexion inter-tables pour les programmeurs. Il peut s'agir d'une chaîne numérique sans signification physique, et le programme s'exécute automatiquement. ajoute 1 à réaliser. Il peut également s'agir d'un nom de champ ou d'une combinaison de noms de champs ayant une signification physique . Mais le premier est meilleur que le second. Lorsque PK est une combinaison de noms de champs, il est recommandé de ne pas avoir trop de champs. S'il y a trop de champs, non seulement l'index
prendra beaucoup de place, mais il sera également lent.
8. Comprendre correctement la redondance des données La répétition des clés primaires et des clés étrangères dans plusieurs tables n'est pas une redondance des données. Ce concept doit être clair. En fait, beaucoup de gens ne sont pas sûrs. encore. L'apparition répétée de champs non clés
est une redondance des données ! Et c'est une sorte de redondance de bas niveau, c'est-à-dire une redondance répétitive. La redondance de haut niveau n'est pas l'occurrence répétée d'un champ, mais l'occurrence dérivée d'un champ.
〖Exemple 4〗 : Il y a trois champs "prix unitaire, quantité et montant" dans le produit. "Montant" est dérivé du "prix unitaire" multiplié par "quantité", ce qui est redondant,
Et c’est une redondance de haut niveau. Le but de la redondance est d'augmenter la vitesse de traitement. Seule une redondance de bas niveau augmentera l'incohérence des données, car les mêmes données peuvent être saisies plusieurs fois à partir de différents moments, emplacements et rôles. C’est pourquoi nous préconisons la redondance de haut niveau (redondance dérivée) et nous opposons à la redondance de bas niveau (redondance répétitive).
9. Il n'y a pas de réponse standard pour le diagramme E--R
Il n'y a pas de réponse standard pour le diagramme E--R du système d'information, car sa conception et sa méthode de dessin sont pas unique, à condition qu'il soit réalisable s'il couvre la portée commerciale et le contenu fonctionnel des exigences du système . Sinon, modifiez le diagramme E--R. Même s’il n’existe pas de réponse standard unique, cela ne signifie pas qu’il peut être conçu à volonté. Les critères d'un bon diagramme E-R sont :
Structure claire, associations concises, nombre modéré d'entités, allocation d'attributs raisonnable et aucune redondance de bas niveau.
10. La technologie View est très utile dans la conception de bases de données
Contrairement aux tables de base, aux tables de codes et aux tables intermédiaires, une vue est une table virtuelle qui s'appuie sur la table réelle du source de données Et exister. Une vue est une fenêtre permettant aux programmeurs d'utiliser la base de données. Il s'agit d'une forme de synthèse de données de table de base, d'une méthode de traitement des données et d'un moyen de préserver la confidentialité des données utilisateur. Afin de réaliser des traitements complexes,
améliorer la vitesse de calcul et économiser de l'espace de stockage, la profondeur de définition d'une vue ne doit généralement pas dépasser trois niveaux. Si la vue à trois couches n'est toujours pas suffisante, une table temporaire doit être définie sur la vue, puis la vue doit être définie sur la table temporaire. En superposant ainsi les définitions de manière répétée, la profondeur de la vision n’est pas limitée.
Pour certains systèmes d'information liés aux intérêts politiques, économiques, techniques, militaires et sécuritaires nationaux, le rôle des points de vue est encore plus important. Une fois les tables de base de ces systèmes conçues physiquement, les vues de premier niveau sont immédiatement créées sur les tables de base. Le nombre et la structure de cette couche de vues sont exactement les mêmes que le nombre et la structure des tables de base.
Il est également stipulé que tous les programmeurs ne sont autorisés à opérer que sur les vues. Seul l'administrateur de la base de données, disposant d'une « clé de sécurité » partagée par plusieurs personnes, peut intervenir directement sur la table de base. Les lecteurs sont invités à réfléchir : pourquoi cela ?
11. Tables intermédiaires, rapports et tables temporaires
La table intermédiaire est une table qui stocke des données statistiques. Elle est conçue pour l'entrepôt de données, la sortie de rapports ou les résultats de requêtes. Il n'y a pas de clés primaires ni de clés étrangères (sauf pour la bibliothèque de l'entrepôt de données
). Les tables temporaires sont conçues par des programmeurs pour stocker des enregistrements temporaires pour un usage personnel. La table de base et la table intermédiaire sont maintenues par le DBA, et la table temporaire est automatiquement maintenue par le programmeur
lui-même.
12. Les contraintes d'intégrité s'expriment sous trois aspects
Intégrité du domaine : utilisez Check pour implémenter les contraintes et définissez la plage de valeurs des champs dans l'outil de conception de base de données, il existe un Check bouton, à travers lequel la valeur du champ est définie.
Intégrité référentielle : implémentée à l'aide de déclencheurs PK, FK et au niveau de la table.
Intégrité définie par l'utilisateur : il s'agit de règles métier, mises en œuvre à l'aide de procédures stockées et de déclencheurs.
13. Le moyen d'empêcher la conception de la base de données d'être corrigée est les « Trois principes de moins » (1) Moins il y a de tables dans une base de données, mieux c'est. Ce n'est que lorsque le nombre de tables est réduit qu'il est possible de montrer que le diagramme E-R du système est petit et précis, supprimant les entités
répétées et redondantes, formant un haut degré d'abstraction du monde objectif et effectuant une intégration systématique des données. pour éviter les problèmes. Conception des correctifs ;
(2) Moins il y a de champs de clé primaire combinés dans une table, mieux c'est. En raison du rôle de la clé primaire, l'une consiste à créer un index de clé primaire et l'autre à servir de clé étrangère pour la sous-table, de sorte que le nombre de champs qui combinent la clé primaire est réduit, ce qui non seulement économise du temps d'exécution, mais économise également de l'espace de stockage d'index
(3) Moins il y a de champs dans une table, mieux c'est. Ce n'est que lorsque le nombre de champs est réduit que cela signifie qu'il n'y a pas de duplication de données dans le système et qu'il y a très peu de données redondantes. Plus important encore, les lecteurs sont invités à apprendre à « transformer les colonnes en lignes », afin d'éviter. la sous-table ne soit pas transformée en lignes. Les champs sont extraits dans la table principale, laissant de nombreux
champs vides dans la table principale. Ce qu'on appelle « colonne vers ligne » consiste à extraire une partie du contenu de la table principale et à créer une sous-table distincte. Cette méthode est très simple
, mais certaines personnes n’y sont tout simplement pas habituées, ne l’adoptent pas et ne la mettent pas en œuvre.
Le principe pratique de la conception d'une base de données est de trouver le bon équilibre entre redondance des données et vitesse de traitement. "Trois Jeunes Maîtres" est un concept global et une vision globale
Un principe ne peut être isolé. Ce principe est relatif et non absolu. Le principe des « trois de plus » est définitivement faux. Imaginez : si la même fonction du système est couverte, le diagramme E-R de cent entités (un total de mille attributs) sera certainement meilleur que le diagramme E-R de deux cents entités (un total de deux mille attributs). bien mieux.
Promouvoir le principe « Trois de moins » consiste à apprendre aux lecteurs à utiliser la technologie de conception de bases de données pour l'intégration systématique des données. Les étapes de l'intégration des données consistent à intégrer le système de fichiers
dans une base de données d'application, à intégrer la base de données d'application dans une base de données sujet et à intégrer la base de données sujet dans une base de données globale complète. Plus le degré d'intégration est élevé, plus le partage des données
est fort et moins il y a d'îlots d'informations. Le nombre d'entités, le nombre de clés primaires et le nombre d'attributs dans le diagramme ER global de l'ensemble du système d'information de l'entreprise.
Il y en aura moins.
Le but de prôner le principe « Trois de moins » est d'empêcher les lecteurs d'utiliser la technologie de mise à jour des correctifs pour ajouter, supprimer et modifier continuellement la base de données, transformant ainsi la base de données d'entreprise en un « tas d'ordures » pour la conception aléatoire de tables de base de données ou de bases de données. La « grande cour » a finalement donné lieu à d'innombrables tables de base, tables de codes, tables intermédiaires et tables temporaires
dans la base de données, ce qui a rendu impossible la maintenance et la paralysie des systèmes d'information des entreprises et des institutions.
N'importe qui peut appliquer le principe des "Trois Plus", qui est une théorie absurde de conception de bases de données utilisant la "méthode des patchs". Le principe "Trois moins" est le principe du moins mais du mieux
Il nécessite des compétences et un art élevés en matière de conception de bases de données, car ce principe consiste à éliminer l'utilisation de la "méthode des correctifs"
Base théorique. pour la conception de bases de données.
14. Moyens d'améliorer l'efficacité de fonctionnement de la base de données
Dans les conditions matérielles et logicielles système données, la manière d'améliorer l'efficacité de fonctionnement du système de base de données est :
(1) Dans la conception physique de la base de données, abaissez le paradigme, augmentez la redondance, utilisez moins de déclencheurs et utilisez davantage de procédures stockées. (2) Lorsque le calcul est très complexe et que le nombre d'enregistrements est très important (par exemple, 10 millions d'enregistrements), le calcul complexe doit être effectué en dehors de la base de données dans le système de fichiers Enfin, il est ajouté à la base de données et ajouté à la table. C'est l'expérience de la conception de systèmes de facturation des télécommunications.
(3) Si une table contient trop d'enregistrements, par exemple plus de 10 millions, la table doit être divisée horizontalement. La méthode de division horizontale consiste à utiliser une certaine valeur de la clé primaire de la table
PK comme limite pour diviser horizontalement les enregistrements de la table en deux tables. S'il s'avère qu'une table contient trop de champs, par exemple plus de quatre-vingts, alors
divisez la table verticalement et décomposez la table d'origine en deux tables.
(4) Optimisation du système du système de gestion de base de données SGBD, c'est-à-dire optimisation de divers paramètres du système, tels que le nombre de tampons.
(5) Lorsque vous utilisez un langage SQL orienté données pour la programmation, essayez d'adopter des algorithmes d'optimisation.
Les quatorze compétences ci-dessus sont progressivement résumées par de nombreuses personnes à travers un grand nombre de pratiques d'analyse et de conception de bases de données. Concernant l'application de ces expériences, les lecteurs ne doivent pas être mémorisés et mémorisés mécaniquement, mais doivent les digérer et les comprendre, rechercher la vérité dans les faits et les saisir avec souplesse. Et réaliser progressivement : développer en application, appliquer en développement.
Jetons un coup d'œil à d'autres principes :
1) La conception de la base de données ne doit pas être réalisée pour l'ensemble du système, mais doit être basée sur la division des composants dans l'architecture du système, et la conception de la base de données de l'unité de composants doit être réalisée en fonction des activités gérées par chacun. composant ; les tables de base de données correspondantes entre les différents composants doivent être conçues. Les associations doivent être réduites autant que possible. Si les tables entre différents composants nécessitent des associations de clés étrangères, essayez plutôt de ne pas créer d'associations de clés étrangères, enregistrez simplement une clé primaire de la table associée. assurer l’indépendance entre les tables correspondant aux composants et garantir que la structure du système ou des tables offre des possibilités.
2) Adoptez une approche basée sur un modèle de domaine et une approche descendante de la conception de bases de données. Tout d'abord, analysez l'activité du système et définissez les objets en fonction des responsabilités. L'objet doit être conforme aux caractéristiques de l'encapsulation, garantissant que les éléments de données liés à la responsabilité sont définis dans un objet. Ces éléments de données peuvent décrire pleinement la responsabilité, et il n'y aura aucune description de responsabilité manquante. Et un objet n'a et n'a qu'une seule responsabilité. Si un objet est responsable de deux ou plusieurs responsabilités, il doit être divisé.
3) Cartographier les tables de base de données selon le modèle de domaine établi. À ce stade, vous devez vous référer au deuxième paradigme de conception de base de données : tous les attributs non-mots-clés d'une table dépendent du mot-clé entier. Le mot-clé peut être un attribut ou une collection de plusieurs attributs. Dans les deux cas, le mot-clé doit être garanti comme étant unique. Lors de la détermination du mot-clé, il convient de s'assurer que le mot-clé ne participera pas à l'activité et qu'aucune exception de mise à jour ne se produira. Dans ce cas, la solution optimale consiste à utiliser un attribut numérique à incrémentation automatique ou une chaîne aléatoire comme mot-clé. tableau.
4) Étant donné que la structure de la table de la base de données est conçue d'une manière pilotée par un modèle de domaine, comme mentionné dans le premier point, chaque objet du modèle de domaine n'a qu'une seule responsabilité, donc les éléments de données de l'objet n'ont pas dépendances transitives, donc, la conception de la structure de table de base de données de cette idée satisfait la troisième forme normale depuis le début : une table doit satisfaire la deuxième forme normale, et il n'y a pas de dépendances transitives entre les attributs.
5) De même, en raison de l'unité des responsabilités des objets et de la relation entre les objets reflétant la relation entre la logique métier, les objets du modèle de domaine sont divisés en objets maîtres et objets esclaves. l'objet principal du point de vue 1-N ou N-N, il n'y a donc aucune exception de suppression et d'insertion dans les tables et les associations de tables mappées à partir d'objets et de relations d'objets.
6) La structure de la table de base de données obtenue après le mappage doit être encore modifiée selon la quatrième forme normale pour garantir qu'il n'y a pas de dépendances à valeurs multiples. À ce stade, un retour d'information doit être donné sur le modèle de domaine sur la base d'idées d'ingénierie inverse. S'il existe des dépendances à valeurs multiples dans la structure de la table, cela prouve que les objets du modèle de domaine ont au moins deux responsabilités et la conception doit être révisée conformément au premier article. Quatrième forme normale : si une table satisfait à BCNF, il ne devrait y avoir aucune dépendance à valeurs multiples.
7) Après analyse, il est confirmé que tous les tableaux répondent aux deuxième, troisième et quatrième formes normales. L'association entre les tableaux doit être une association faible autant que possible pour faciliter l'ajustement et l'ajustement des champs et des tableaux. Refactoriser les structures de table. De plus, je pense que la table dans la base de données est utilisée pour conserver l'état d'une instance d'objet à un moment précis et dans des conditions spécifiques. Par conséquent, il ne devrait pas y avoir d'association forte entre les tables pour exprimer des affaires (. entre les données), cette responsabilité doit être garantie par la couche logique du système. Cette approche garantit également la compatibilité du système avec des données incorrectes (données sales). Bien sûr, du point de vue de l'ensemble du système, nous devons encore faire de notre mieux pour garantir que le système ne génère pas de données sales. D'un autre point de vue, la génération de données sales est inévitable dans une certaine mesure, et nous devons également nous en assurer. que le système ne génère pas de données sales. Tolérance aux pannes de cette situation. C'est un compromis.
8) Les index doivent être établis sur les clés primaires et les clés étrangères de toutes les tables, et les index sur les attributs combinés doivent être établis de manière ciblée (pour certaines grandes quantités de données et méthodes de récupération courantes) pour améliorer la récupération efficacité. Bien que la création d'un index consomme certaines ressources système, l'impact sur les performances de la recherche des données dans la table entière lors de la récupération, en particulier lorsque la quantité de données dans la table est importante, est comparé à l'impact sur les performances des opérations de tri en l'absence d'index. . , cette approche mérite toujours d’être préconisée.
9) Utiliser le moins possible les procédures stockées Il existe de nombreuses technologies qui peuvent remplacer les fonctions des procédures stockées, comme le « mappage objet/relationnel », etc., pour assurer la cohérence des données dans la base de données, que ce soit. pour le contrôle de version, le développement et le déploiement, ainsi que la migration de bases de données auront un grand impact. Cependant, il est indéniable que les procédures stockées présentent des avantages en termes de performances.Par conséquent, lorsque le matériel pouvant être utilisé par le système ne sera pas amélioré et que les performances sont un attribut de qualité très important, les procédures stockées peuvent être sélectionnées en fonction de considérations équilibrées.
10) Lorsque le coût du traitement des contraintes d'association entre les tables (souvent le coût de la convivialité) dépasse le coût pour garantir que les modifications, suppressions et exceptions de changement ne se produiront pas, et que la redondance des données est également Quand ce n'est pas le cas un problème majeur, la conception de la table n'a pas besoin d'être conforme aux quatre formes normales. Les quatre paradigmes garantissent qu'aucune exception ne se produira, mais cela peut également conduire à une conception trop pure, rendant la structure du tableau difficile à utiliser. Par conséquent, un jugement complet est nécessaire lors de la conception, mais assurez-vous d'abord qu'elle est conforme aux quatre paradigmes. puis affinez-le et corrigez-le. C'est la meilleure approche que vous puissiez adopter lorsque vous entrez dans le domaine de la conception de bases de données.
11) La table conçue doit avoir une bonne convivialité, se reflétant principalement dans la nécessité d'associer plusieurs tables et d'utiliser des compétences SQL complexes lors de la requête.
12) La table conçue doit réduire autant que possible la redondance des données pour garantir l'exactitude des données. Un contrôle efficace de la redondance contribue à améliorer les performances de la base de données. (Bien sûr, parfois le paradigme doit être abaissé)
[Recommandations associées]
1 Recommandation spéciale : . "Programme php Téléchargez la version V0.1 de "Employee Toolbox"
2.Tutoriel vidéo en ligne mysql gratuit
3. Conception de base de données Ces choses
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!