Pour un projet en utilisant MySQL, j'ai un db qui ressemble à ceci:conception de base de données: colonne redondante vs colonne non utilisée
Tableau 1: colonne A, colonne B, colonne C, colonne D.
tableau 2: colonne A, colonne B, colonne E, colonne F.
Comme vous pouvez le voir les colonnes A et B sont redondants à travers les tables (même type, même type d'information pour chaque table) .
Quelqu'un m'a suggéré de regrouper tout sous une table:
Tableau 1: colonne A, colonne B, C Colonne, Colonne D, Colonne E, Colonne F.
Le problème est que certains de mes articles utilisent les colonnes C et D et d'autres utilisent E et F, donc pour certaines lignes, ces colonnes seront toujours NULL.
Quelle est la pratique recommandée ici? Y a-t-il un design standard à suivre? Qu'en est-il des performances et des ressources (avec des milliers de lignes et ~ 10 tables)?
Un cas a colonnes redondantes et l'autre cas a colonnes non utilisées.
Ou peut-être que je pourrais partager les tables et créer une relation, il donne quelque chose comme:
Tableau 1: colonne A, colonne B.
Tableau 2: colonne A (clé étrangère), la colonne C, colonne D.
Tableau 3: colonne A (clé étrangère), la colonne E, colonne F.
Je suis un peu perdu ici. C'est nouveau pour moi. Merci pour toute contribution.
il n'y a pas de norme. il n'y a que ce qui fonctionne pour vous. –
Vous devez utiliser la conception la mieux adaptée aux besoins de votre entreprise. Puisque nous ne sommes pas de ces exigences, il est assez difficile de recommander une solution pour vous. – Shadow
pourquoi pouvez-vous simplement avoir C, D et Type pour indiquer s'il s'agit d'un CD ou d'un enregistrement de type EF? nulls disparu, et vous êtes avec 4 colonnes 1 table. (ceci suppose qu'un enregistrement ne peut pas être CD et EF cependant) – xQbert