我想在MySQL中为DB设计提出建议。MySQL数据库设计建议
我有一张表Movie_Celebrity_Role其中包含电影ID,名人id,角色ID。 此表格是电影,名人(CelebName & CelebID)和角色(例如:制作人,导演等等)表格之间的链接。
我有另一个表Movie_Company_Role这是上述类似,但在这里,而不是明星,公司ID存储链接到公司表和角色是不同的,如制作公司等
我的问题是,有一些领域,如媒体关系,可能有公司和明星。
因此,如果我创建另一个表为MoviedID_CelebID_CompID_RoleID当连接表时,我将得到重复错误,因为celebs表和Companies表必须在匹配此表以及Movie_celeb_role和Movie_comp_role时连接。
请建议如何去做这件事。
我想我的网站上得到的结果是这样的:
生产者 Celeb1 Celeb2
主任 Celeb1 Celeb3
... ... ...
媒体关系 Celeb2 C ompany1 Company12
PS:另外当我点击这个页面上的名人或公司链接时,它必须去庆祝页面或公司页面,其中名人或公司相关联的电影必须与角色一起列出。
因此,你保存在语义上不同的东西(公司角色和“名人”角色)在同一个表?如果公司角色需要额外的列,会发生什么? – Jacob
你在哪个表格中有“媒体关系”字段(列)?它是否存储CelebId或CompanyID? – RKh
@RPK媒体关系再次扮演角色,可以由公司或个人(名人)执行。媒体关系将存储在角色表中的角色名称中。 – Kenh