[Notes] conception python de base de données MySQL (base)

[Notes] conception python de base de données MySQL (base) 

Certains conception de base des bases de données et d'autres notes

 

  • base de données relationnelle construit sur la base du modèle ER, nous avons besoin de chef de produit de planification de la conception, le modèle extrait et la relation à développer une structure de table, qui est la première étape au début du projet
  • Il y a beaucoup de base de données de logiciels de conception dans le développement, comme le concepteur de puissance couramment utilisé, db desinger, ces logiciels peuvent voir visuellement les relations entre les entités et entités
  • la conception de base de données, peut être fait par la conception de base de données spécialisée du personnel, il pourrait être fait par les membres de l'équipe de développement, le directeur général pour diriger les membres de l'équipe de projet pour terminer

 

trois paradigmes

  • Après la recherche et un résumé de l'utilisation en question, pour la conception de la base de données en un certain nombre de spécifications, qui sont appelés paradigme (forme normale)
  • Actuellement, il existe huit types de paradigme discernable, le paradigme peut généralement être soumis à 3
  • premier paradigme (1NF) : souligné que les colonnes atomiques , à savoir, des colonnes non être subdivisée en plusieurs autre colonne, la colonne ne peut pas être divisée .

    Considérez ce tableau: [contact] (nom, sexe, téléphone) si le scénario actuel, il y a un téléphone à la maison de contact et téléphone affaires, cette conception de la structure de la table n'est pas atteint 1FN. Nous avons juste besoin de se conformer à la division colonne 1NF (téléphone), à ​​savoir: [contact] (nom, sexe, téléphone à domicile, téléphone d'affaires). 1NF bonne discrimination, mais 2NF et 3NF il est facile de confondre.

  • un second paradigme (2NF) : Tout d' abord 1NF, comprenant en outre deux parties, une table doit avoir une clé primaire , le second est pas contenu dans la clé primaire doit être entièrement dépendant de la clé primaire , mais ne peut pas compter seulement sur une partie de la clé primaire.

    Considérons un ordre Détails: OrderDetail [] (OrderID, ProductID, UnitPrice, Remise , quantité, ProductName). Parce que nous savons que l'ordre peut être commandé dans une variété de produits, un OrderID (numéro de commande) ne distingue de manière unique chaque enregistrement, il ne suffit pas de devenir une clé primaire OrderID, l' empathie ProductID. La clé primaire doit être (OrderID, ProductID). La lecture de la Remise (réductions), la quantité (quantité) est complètement dépendante (charge) de la clé primaire (OderID, RéfProduit), et PrixUnitaire, NomProduit ne dépend que de la RéfProduit, à savoir dépend que de la partie de la clé primaire. Ainsi , la table OrderDetail ne répond pas à la 2FN. La conception ne répond pas aux données redondantes sujettes 2nF.

    [] Le tableau peut OrderDetail divisé en [OrderDetail] (OrderID, ProductID, Remise, quantité ) , et [Produit] (ProductID, UnitPrice, ProductName) pour éliminer la table des commandes d' origine UnitPrice, ProductName répétée situation.

  • troisième forme normale (3NF) : Tout d' abord, 2NF, colonne supplémentaire clé non primaire doit dépendre directement de la clé primaire, ne peut pas compter sur la présence de transfert . - À -dire ne pas exister: cas de la colonne de clé non primaire dépend de la colonne clé non primaire B, colonne de clé non primaire B est fonction de la clé primaire.

    Considérons un formulaire de commande] [Ordre (OrderID, OrderDate, CustomerID, CustomerName , CustomerAddr, CustomerCity) clé primaire est (OrderID) . OrderDate où, CustomerID, CustomerName, CustomerAddr, CustomerCity autre colonne de clé primaire dépendent entièrement de la clé primaire (OrderID), de sorte que le respect 2FN. Mais le problème est CustomerName, CustomerAddr, CustomerCity est directement dépendante des CustomerID (colonnes clé non primaire), plutôt que dépend directement de la clé primaire, qui est passé à travers ne dépend que de la clé primaire, donc ne répondent pas 3FN . Par résolution de [] ordre [] commande (OrderID, OrderDate, CustomerID) et [] client (CustomerID, CustomerName, CustomerAddr, CustomerCity ) pour atteindre 3FN. * Concept (2NF), et un troisième paradigme (3NF) un second paradigme peut facilement être confondus, les distinguent point clé est, 2FN: colonne de clé non primaire est entièrement dépendant de la clé primaire, ou dépendant de la partie de la clé primaire; 3NF: colonne de clé non primaire il est directement dépendant de la clé primaire, ou dépendent directement de la colonne de clé non primaire.

 

modèle ER

  • E représente l'entrée, entité, entité de conception définie comme une classe, spécifiez ce que l'objet est décrit, une entité est convertie en une table dans la base de données
  • R relation représente une relation, la relation entre la description de la règle correspondante de deux entités, y compris le type de relation comprend un, un à plusieurs
  • Une relation de données est également requise par un champ stocké dans une table

 

1. L' entité A à l'entité B est de 1 à 1:

À savoir, un enregistrement de la table d'enregistrement A correspondant à une table B, de créer un champ de clé primaire, est stocké dans une autre table de tableau A ou B.

Exemple: une ville a une équipe, une équipe correspondant à une ville.

2. L' entité A à l'entité B a plus d'une paire :

Une table est une table de données correspondant à une pluralité de données B, A doit être la table de clé primaire comme une clé étrangère B du tableau. Créer un champ, les valeurs de clé primaire mémorisées dans le tableau A Tableau B.

Exemple: une classe correspondant à une pluralité d'étudiants.

3. L' entité B à l' entité A many

Tableau C nécessite une relation leur intermédiaire à la correspondante (nécessite une table pour cartographier leur relation). Dans ce cas, A, table B n'a pas besoin d'autres clés étrangères. Juste avoir leur propre clé primaire sur la ligne, comme une table séparée. -À-dire une nouvelle C table, la table ne comporte que deux champs, un pour la valeur de clé primaire A est mémorisée, une valeur de clé primaire pour B est stocké.

Par exemple: la relation entre les étudiants et les cours au choix, un étudiant peut sélectionner plusieurs choix, et chaque élective et peut être plus que les étudiants peuvent choisir.

 

pierre tombale

  • Pour les données importantes, ne veulent pas éliminer physiquement, une fois enlevé, les données ne peuvent pas être récupérées
  • Programme Supprimer: Set colonne isDelete est peu, montrant une pierre tombale, la valeur par défaut est 0
  • Pour les données non critiques peuvent être physiquement supprimé
  • L'importance des données, pour déterminer le développement réel

exemple:

  • Concevoir deux tables: table de classe, les élèves regardent
  • cours de table de classe
    • ça
    • Nom
    • isdelete
  • Les élèves regardent les étudiants
    • ça
    • Nom
    • anniversaire
    • le genre
    • clsid
    • isdelete

 

 

--------fin----------

Publié 50 articles originaux · a gagné les éloges 10 · vues 6610

Je suppose que tu aimes

Origine blog.csdn.net/qq_23996069/article/details/104419787
conseillé
Classement