Cela fait longtemps que je n'ai pas travaillé avec des bases de données relationnelles (je l'évite autant que possible dans mes projets personnels, et au travail, nous utilisons une base de données d'objets), donc je suis à peu près sûr la bonne façon, mais je voulais m'assurer. Lors de la modélisation d'une base de données relationnelle à partir d'une hiérarchie d'objets existante, les propriétés enfants non primitives doivent généralement figurer dans leurs propres tables avec une référence à l'ID de l'objet parent (thingy de la ligne de table). Il semble un peu en arrière d'un point de vue OO (et évidemment je réalise que relationnel est très différent d'OO) mais je suppose que c'est la seule façon de représenter les relations un-à-plusieurs (qui semble être plus exactement décrit ... to-one étant donné que l'un des parents ne fait pas référence aux nombreux enfants, il s'agit de nombreuses entrées enfant qui font référence à l'un des parents)Lors de la conception d'un schéma de base de données, est-il généralement vrai que les tables représentant une propriété enfant (dans le monde OO) doivent référencer leur parent?
0
A
Répondre
2
Oui.
Dans les relations un-à-plusieurs, l'enfant pointe vers le parent.
Dans les relations plusieurs-à-plusieurs (et les relations un-à-plusieurs avec des attributs, des relations ternaires, etc.), vous avez des tables de relations.
Dans les relations un-à-un, vous fusionnez les tables, ou l'une ou l'autre entité peut pointer vers l'autre.
Bien que ce ne soit en aucun cas le seul moyen, il est certainement la seule manière saine de représenter les relations. Toutes les autres méthodes que je peux penser à casser normalization (en fait, je ne peux même pas penser à une autre méthode 1NF, encore moins 3NF).