Dans un prototype de base de données, j'ai un ensemble de champs (comme le nom, la description, état) qui sont nécessaires dans de multiples tables fonctionnellement différentes.champs identiques dans la plupart des tables
Ces champs ont toujours les mêmes fonctionnalités d'utilisateur final pour l'étiquetage, l'affichage, la recherche, le filtrage, etc. Ils ne font pas partie d'une contrainte de clé étrangère. Comment cela devrait-il être modélisé?
je peux penser des variantes suivantes:
Chaque table reçoit tous ces attributs. Dans ce cas, comment les nommeriez-vous? Le même, dans chaque tableau, ou avec un préfixe de nom de la table (comme usrname, ProdName)
les déplacer dans une table des attributs, ajoutez une clé étrangère aux tables « de base », faisant référence Attributes.PK
comme ci-dessus, mais au lieu d'une clé étrangère, utilisez le Attributes.PK comme PK dans la table de base respective ainsi.
Cette question m'a fait me demander s'il y a quelque chose comme le concept de l'héritage dans la conception de base de données. Je peux voir où il serait utile d'avoir une table "hérite" des colonnes et/ou des contraintes d'une autre table automatiquement. – MusiGenesis
Par "conception de base de données", j'entends l'ingénierie du moteur de base de données lui-même, pas la conception de la base de données Northwinds. – MusiGenesis
Il existe des OODBMS (bases de données orientées objet) qui sont totalement différentes du SGBDR standard, qui ont beaucoup d'options de type OO, telles que l'état – Mark