J'ai des données sur les couleurs. Certaines de ces couleurs se composent d'un certain nombre de couleurs combinées. Une de ces combinaisons peut théoriquement être une autre couleur combinée. Dans le cas d'une couleur combinée, j'ai besoin de définir quelques attributs sur les couleurs "enfants".Cette référence de données circulaire pourrait-elle être mieux conçue?
J'ai actuellement ma base de données définie comme ceci:
COLOR
!Id
+MultiColorGroupId
MULTICOLOR
!Id
+MultiColorGroupId
+ColorId
+Type
Cela peut contenir toutes les informations dont j'ai besoin d'une manière assez claire. La seule chose que je pense qui pourrait arriver est que je reçois une référence circulaire où une couleur a elle-même comme childColor. Actuellement, la seule façon d'obtenir ceci est de créer une vérification de l'insertion dans la base de données ou dans l'application. Comme la référence du cercle peut être arbitrairement profonde et que la structure actuelle peut être plutôt large, je préférerais une structure de données plus déterministe.
Y a-t-il de meilleurs moyens de définir ceci?
Réponse évidente - construire la vérification dans la base de données. Peut-être étendre la question pour expliquer pourquoi ce n'est pas une option? –
K. OP modifié pour clarifier –