如何构建一个所有类之间具有多对多关系的数据库



我有大约6个类。每个人和其他人都有一种多对多的关系。我曾想过使用树结构,但这是分层的。。。并且它们的关系不是分层的。

一种方法是为每个多对多关系添加一个额外的表。它唯一包含的值是对相关表的PK的引用。然后,这两个FK为m:m关系表本身构建PK。例如:

播放器表&锦标赛表-一个玩家可以参加许多锦标赛,一个锦标赛可以有许多玩家参加。

m: m->PlayerId+++锦标赛Id;这2个是表中的所有内容,它们将是PK并且是唯一的。所以你没有多余的数据。

您为每个多对多关系使用所谓的连接表。例如,假设用户和项目是两个具有多对多关系的表。您使用UserId和ProjectId构建一个名为UserProjects的表,而不使用其他表。然后在这两个字段上创建主键。然后从UserId(用户表(和ProjectId(项目表(创建一个外键。

最新更新