我有下表 - 演员,女演员,导演&电影。
前2个表与电影表有很多关系。
所以我创建了Celebrity_Movie表,其中包含主键 所有这些表都是外键。
所以我的问题是如何插入记录 在Celebrity_Movie表中。
因为可能有多个演员,女演员 电影。例如电影'种族'有多个演员&多位女演员。那怎么样 在Celebrity_Movie表格中为'Race'电影填充数据?
Actor table
Actor_id Actor_name
1 Amitabh
2 Akshay kumar
3 Hritik roshan
4 Amir khan
5 R. Madhavan
6 Sharman joshi
7 Ajay devgan
8 Tushar
9 Arshad varsi
Actress
Actress_id Actress_name
1 Aishwairya
2 Katrina
3 Bipasha
4 Sameera reddy
5 Kareena
6 Amrita rao
Director
Direct_id Direct_name
1 Abbas_Mustan
2 Priyadarshan
Movie
Movie_id Movie_name
M1 Race
M2 Golmal2
M3 3 Idiots
答案 0 :(得分:1)
您需要三个多对多关系表,因为您想将导演,演员和女演员表与电影联系起来。
有几种方法可以做到这一点:
1)可能最好是简单地创建三个不同的关系表:
Actors_Movies
id
actor_id # foreign key
movie_id
Actresses_Movies
id
actress_id
movie_id
Directors_Movies
id
director_id
movie_id
其他方式更复杂,其中单个连接表用于不同类型的连接(Actor,Actress,Director)。首先,我推荐三个连接表。
已添加如果您只想为演员/女演员多对多,最简单的方法是重新定义“Talent”表而不是Actor / Actress表来处理两者: / p>
Talent table
id
name
actor # boolean: true means an actor, false means an actress
Talent_Movie # many to many
id
talent_id
movie_id
答案 1 :(得分:1)
正如其他人之前所说,你需要三个多对多表。
我建议你考虑只使用一个人的桌子,并包括这个人的性别。此外,您可以在关系表中添加“角色”,以指示该人在给定电影中扮演的角色(演员/导演等)。