这是我的架构:
我需要保持简单,因为这是一项家庭作业,但我对 Participant 和 MovieInGenre 实体有点困惑,因为我知道它们是弱实体,但 Person 和 Genre 以及 Movie 是强实体。此外,该模型如何表明电影 - 类型关系是 n:n?
这是我的架构:
我需要保持简单,因为这是一项家庭作业,但我对 Participant 和 MovieInGenre 实体有点困惑,因为我知道它们是弱实体,但 Person 和 Genre 以及 Movie 是强实体。此外,该模型如何表明电影 - 类型关系是 n:n?
在我自己看来,架构很好。有一点变化。我认为您需要删除 tableIMDBLink
并将Link
(使其为 NULLABLE)放在 table 上Movie
。
您的架构对我来说看起来不错。
我不确定您对 Participant 和 MovieInGenre 有什么顾虑。您需要这些实体来创建多对多关系。
每当您有三个带有 A <- M:1 -> B <- 1:M -> C 的表时(如果您看到我在没有绘制图表的情况下在那里写的内容),则表明 A/C 关系是M:M 和 B 的存在只是为了实现这种关系。您还可以绘制图表,省略 MovieInGenre 之类的表格,直接显示 Movie 和 Genre 之间的 M:M 关系。在某些时候,您需要创建表来实现关系,但您不需要在图表上显示它。我通常不会在我的图表中包含这些实体,因为它们只是杂乱无章。
“角色”是什么意思。如果“角色”是该人扮演的角色的名称,那么这很好。如果角色类似于“导演”、“制片人”、“演员”等,即从标准值列表中选择,那么应该有另一个表,您只需发布一个外键。如果两者兼而有之,那么这是一个坏主意,应该将其分为两个领域。