1つのエンティティが2つの別個の無関係な階層の一部であり、各エンティティが1つ以上の他のエンティティに非階層的に関連付けられている場合、複数のエンティティ間の関係をどのようにモデル化できますか?データベース内の2つまたは3つのテーブルでこれを実行したいと思います。
現在、2つのテーブルにモデル化しています。
Entities
----------------------------------------------------------------
ID bigint identity(1, 1) PK
ParentID bigint null FK
Name varchar(100) not null
Description varchar(256) null
EntityRelationships
----------------------------------------------------------------
LEntityID bigint not null PK, FK
REntityID bigint not null PK, FK
EntityRelationshipTypeID int not null PK, FK
LEntityIDとREntityIDの2つの列は、Entities.ID列へのFKであり、ParentIDはID列へのFKです。エンティティが複数の親を持つことができない限り、このモデルはおそらく正常に機能します。エンティティが複数の親を持つことを許可できる必要があります。
テーブルの自然キーは次のとおりです。
Entities: ParentID, Name
EntityRelationships: LEntityID, REntityID, EntityRelationshipTypeID
はい、2つのエンティティは、2つ以上の異なるタイプの関係で相互に関連している可能性があります。
助けてくれてありがとう。