我正在写一个我家里所有DVD的数据库。
其中一个字段actors
,我希望它是来自另一个表的一组值,它存储actor。因此,对于我想要存储演员列表的每部电影,所有演员都从演员列表中选出,取自不同的表格。
有可能吗?我该怎么做呢?它基本上是一组外键。
我正在为Django应用程序(python)使用MySQL数据库,因此非常感谢SQL或Python中的任何提示。
我希望问题很清楚, 非常感谢。
答案 0 :(得分:2)
让你的表格如下:
Movies
MovieID int auto increment/identity PK
MovieTitle
MovieDescription
etc...
Actors
ActorID int auto increment/identity PK
ActorName
DateOfBirth
etc...
MovieActors
MovieID PK and FK
ActorID PK and FK
RoleName
etc...
不要在Movies表的单个字段中存储多个Actors,将它们分解为MovieActors表中的各个行。
如果将一个字段中的所有actor组合在一起,则会使编写查询变得困难。例如,您需要进行字符串操作来查询演员X所在的所有电影。
答案 1 :(得分:1)
答案也很明确。你不需要一个字段,而是另一个films_actors表。这个表可以作为你的领域,但更可靠。这称为多对多关系。