Comment est-ce que je modéliserais une relation entre plusieurs entités où une entité pourrait faire partie de deux hiérarchies séparées et non liées, et chaque entité pourrait être liée à 1 ou plusieurs autres entités d'une manière non hiérarchique? Je voudrais le faire dans seulement 2 ou 3 tables dans la base de données.Comment modéliser des entités de données avec plusieurs parents?
J'ai actuellement il modélisé en deux tables:
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
Les deux colonnes, LEntityID et REntityID sont à la colonne FKs Entities.ID et ParentID est une FK à la colonne ID. Ce modèle fonctionnerait probablement bien, tant qu'une entité ne pourrait jamais avoir plus d'un parent. Je dois être en mesure de permettre à une entité d'avoir plus d'un parent.
Les touches naturelles sur les tables sont:
Entities: ParentID, Name
EntityRelationships: LEntityID, REntityID, EntityRelationshipTypeID
Oui, deux entités pourraient être liés les uns aux autres dans deux ou plusieurs types différents de relations.
Nous vous remercions de votre aide.