我正在开发一个关于电视节目的网络应用程序。我需要数据库设计方面的帮助。
我列出了我需要的东西,但我无法弄清楚如何设计它。我有基本的表格。系列,剧集,季节等。我无法做的是如何将人与剧集/系列联系起来。这是我的清单:
people
类型。演员/导演/作家/嘉宾等。我不认为为每种类型创建单独的表是个好主意。所以应该有一个people
表。我需要在某处存储类型。
可以使用带有people_serie
和people
表的外键的series
表来完成此操作。但我需要一种方法将一个人与episodes
联系起来。
可以使用person_role
表格来完成。
我希望我能说清楚问题是什么。
答案 0 :(得分:0)
嗯,您确定不要拆分People
表。
首先要做的是添加一个Roles
表,其中包含角色ID和角色标题(每列应该是唯一的 - 您不希望Actor
有2个不同的ID角色...)
TblRoles
RoleId RoleTitle
-------------------
1 Director
2 Writer
3 Actor
然后你添加一个PersonToSeries
表格,它会保存它自己的ID,该人物的ID和系列的ID。
这张桌子将容纳每个人在该系列中工作,作为正式工作人员或1集客人。
TblPersonToSeries
PTSId PersonId SeriesId
---------------------------
1 1 1
2 3 8
3 4 7
您需要的下一个表格是PersonToEpisode
表格,其中包含PersonToSeries
ID和剧集ID以及角色ID。
在此表中,您只需要保留整数ID,使其重量非常轻,并且您将为PersonToSeries
中的每个记录指定与其相关的剧集。
TblPersonToEpisode
PTEPTSId RoleId
-------------------
1 2
2 3
3 1
当一个人通常是系列剧的导演,但在该系列的一集中出现猜测时,您只需在PersonToEpisode
中为PersonToEpisode
添加两行,其中包含不同的角色ID 。 (一个用于Actor
,另一个用于Director
)
TblPersonToEpisode
PTEPTSId RoleId
-------------------
13 1
13 2