首页 > 解决方案 > 数据库设计,我很困惑我的关系应该如何看待以及我是否应该在这些表中的任何一个中包含复合键

问题描述

对于每部电影,都应该有可能存储演员和创作者的名单。演员名单应包含姓名、姓氏和电影中角色的姓名。创作者名单应包含姓名、姓氏、电话号码、电子邮件和职位(例如导演、演员)。这部电影可以有不止一位导演。

同一个人可以在演员名单和创作者名单上。演员可以扮演多个角色。创建者可以拥有多个功能。

我想出了一些东西,但我对此不是很有信心,如果有人能指导我完成这个,你的帮助将不胜感激。这是一个屏幕截图:

在此处输入图像描述

标签: sqlsql-serverdatabasedatabase-design

解决方案


看到你的设计,我首先想到的是演员和创作者可能是同一个人,也可能不是同一个人的问题。

我建议您从具有人的所有共同特征的人表开始:姓名、姓氏、电话号码、电子邮件。

然后,您的表 Actor、Creator、Director 将具有指向该表 Person 的不可空外键。因为每个 Actor、Creator 等都是在所有 Person 之前。

我认为解决您的问题将有很长的路要走...


推荐阅读