我想要MySQL中的数据库设计建议。
我有一张表Movie_Celebrity_Role,其中包含电影ID,名人ID,角色ID。 此表是电影,名人(CelebName& CelebID)和角色(例如:制作人,导演等和resp id)表之间的链接。
我有另一个表Movie_Company_Role,它与上面的类似但是这里的公司ID存储链接到公司表,而且角色不同,例如Production House等。
我的问题是媒体关系等领域可能同时包含公司和名人。
因此,如果我创建另一个表作为MoviedID_CelebID_CompID_RoleID当加入表时,我将得到重复的错误,因为celebs表和Companies表必须在匹配此表以及Movie_celeb_role和Movie_comp_role时加入。
请建议如何解决这个问题。
我希望我网站上的结果如下:
生产者 Celeb1 Celeb2
总 Celeb1 Celeb3
... ... ...
媒体关系 Celeb2 公司1 Company12
PS:此外,当我点击此页面上的名人或公司链接时,必须进入名人页面或公司页面,其中必须与角色一起列出名人或公司相关的电影。
答案 0 :(得分:0)
非常令人困惑......
你会得到什么'重复错误'?只要从角色表中正确评估了role_id,你应该没问题。
你不熟悉的地方是你的角色定义含糊不清。在您的示例中,您希望表中包含2个role_id值,一个用于公司,一个用于此人。
我不确定你是否会想要这样做...我希望公司可以在电影中扮演多个角色,而一个人也可以。 (例如某人可能是导演,同时也是演员)
在这里你希望这是一个单独的表,而不是全部卡在一起。