MySQL数据库设计建议

时间:2011-08-11 14:50:02

标签: php mysql join

我想要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:此外,当我点击此页面上的名人或公司链接时,必须进入名人页面或公司页面,其中必须与角色一起列出名人或公司相关的电影。

1 个答案:

答案 0 :(得分:0)

非常令人困惑......

你会得到什么'重复错误'?只要从角色表中正确评估了role_id,你应该没问题。

你不熟悉的地方是你的角色定义含糊不清。在您的示例中,您希望表中包含2个role_id值,一个用于公司,一个用于此人。

我不确定你是否会想要这样做...我希望公司可以在电影中扮演多个角色,而一个人也可以。 (例如某人可能是导演,同时也是演员)

在这里你希望这是一个单独的表,而不是全部卡在一起。