J'ai un système, qui a deux types d'utilisateurs (entreprises et particuliers). Tous les types ont un ensemble de propriétés partagées, mais ils diffèrent dans un autre. Quelle est la meilleure conception fusionner tout dans une table qui autorise null pour les propriétés sans correspondance, ou les séparer dans deux tables liées à une table de base avec une relation un à un. Merci.Base de données de conception
Répondre
Performance-sage, c'est une question de compromis.
La sélection des propriétés d'une autre table nécessite un JOIN
supplémentaire (ce qui est mauvais pour les performances) mais réduit la taille de la table principale (ce qui est bon pour les performances).
JOIN
est une opération assez coûteuse, donc à moins que vous ayez, comme, 200
de ces propriétés (ce qui augmentera beaucoup la table), mieux vaut les conserver dans une table. Cependant, en séparant les tables, les contraintes CHECK
et NOT NULL
seront plus simples.
Pour de meilleures performances, utilisez une table pour les deux, autorisez les valeurs NULL pour les différentes propriétés et ajoutez un attribut de type. La relation one-one (équivalente à la sous-classe dans le monde OO) rendra votre schéma plus facile à maintenir et à comprendre, mais impliquera un impact sur les performances. Choisissez votre pilule
- 1. Question de conception de base de données
- 2. Conception de table de base de données
- 3. Question de conception de base de données
- 4. Problème de conception de base de données
- 5. Problème de conception de base de données
- 6. Concepts de conception de base de données
- 7. question de conception de base de données
- 8. question base de données de conception MySQL
- 9. Base de données question de conception
- 10. Conception d'une base de données de jeux
- 11. Base de données de conception clés étrangères
- 12. Conception de base de données non structurée
- 13. Conception de base de données d'inventaire
- 14. Conception de base de données sqlite idéale
- 15. Conception de base de données - Clarification
- 16. Questions de base de conception de base de données
- 17. Application Facebook - conception de base de données de base
- 18. Base de données de conception de téléchargement de données question
- 19. Base de données Conception et numéro
- 20. Aide à la conception de base de données - données hiérarchiques
- 21. Question de modèle de conception de base de données relationnelle - base de données Massive Read Only
- 22. Conception de base de données - question de relation de table
- 23. transactions de magasin de conception de base de données
- 24. Conception de schéma de base de données de messagerie
- 25. Processus de conception de l'interface utilisateur de base de données
- 26. Modélisation de base de données ou conception de base de données: Lequel vient en premier?
- 27. Conception de base de données pour la base de données de filtrage
- 28. Question de conception de base de données MySQL Drupal
- 29. Conception de modèle de base de données - recherche vs relations?
- 30. Modèle de conception de base de données pour l'héritage/overrides
Créez une table de base avec les propriétés partagées et le lien vers deux tables distinctes avec les propriétés uniques. Cela suivrait le processus de normalisation, je crois. – Lazarus
quel est le nombre de champs différents? – DForck42