弱实体是否总是暗示其父实体的 ID 依赖性?

Does a weak entity always imply ID dependency of its parent entity?

我正在尝试映射此处描述的这种关系:

"Teams play games. A team plays up to 40 games a season. Each game is played by 2 teams. You must keep track of the score for each team in a game. Teams may never play a game, but if a game is scheduled then it must have 2 teams play in it."

这里的实体是团队和游戏。两者都有一个与实体相关联的 ID,即 teamID 和 gameID。常识告诉我游戏应该是一个弱实体,因为没有团队就没有游戏。但是,如果游戏有自己的唯一 ID,这是否意味着它不是弱实体?

另外,我如何为实体游戏创建关系 table?如果正好有 2 支球队参加一场比赛,Game 中的外键是什么?我会在 table 中只有一个 teamOneID* 和一个 teamTwoID* 吗?

弱实体集不是依赖于另一个实体集而存在的。弱实体集是不能通过自身属性识别的实体集,其标识依赖于与常规实体集的关系。如果 Game 有自己的代理标识符,则它是一个常规实体集。

依赖关系而存在的概念叫做全员参与。有关详细信息,请参阅我对 的回答。

至于命名你的外键列,我看到很多设计使用 homeTeamIDawayTeamID,尽管如果两支球队都在外地比赛,角色的分配是随意的。对称关系会给数据库设计带来困难。如果没有打破对称性的规则,您的查询将必须检查任何给定 teamID 的两个字段,这会使查询复杂化并且效率低下。我之前使用的一种方法是将较低的值存储在 teamOneID 中,将较高的值存储在 teamTwoID.