私は色に関するデータを持っています。 これらの色の中には、いくつかの色を組み合わせたものがあります。 これらの組み合わせのうちの1つは、理論的には別の組み合わされた色です。 色を組み合わせた場合、「子供」色についていくつかの属性を定義する必要があります。この循環データ参照をより良く設計できますか?
私は現在、私のデータベースはそうのように定義されている:
COLOR
!Id
+MultiColorGroupId
MULTICOLOR
!Id
+MultiColorGroupId
+ColorId
+Type
これは私がかなり明確な方法で必要なすべての情報を含めることができます。 私は考えられる唯一のことは、色がchildColorとしてある循環参照を取得することです。 現在、データベースまたはアプリケーションのいずれかに挿入されているかどうかを確認することによって、これをキャッチする唯一の方法があります。円の参照は恣意的に深いことがあり、現在の構造は潜在的にかなり広い可能性があるので、私はより決定論的なデータ構造を好むでしょう。
これを定義するより良い方法はありますか?
明らかな答え - データベースにチェックを入れてください。おそらくこれがオプションではない理由を説明するために疑問を広げるのでしょうか? –
K.明確にするために編集したOP –