将set与表中的值一起使用

时间:2010-04-05 17:31:16

标签: python sql mysql django-models

我正在写一个我家里所有DVD的数据库。 其中一个字段actors,我希望它是来自另一个表的一组值,它存储actor。因此,对于我想要存储演员列表的每部电影,所有演员都从演员列表中选出,取自不同的表格。

有可能吗?我该怎么做呢?它基本上是一组外键。

我正在为Django应用程序(python)使用MySQL数据库,因此非常感谢SQL或Python中的任何提示。

我希望问题很清楚, 非常感谢。

2 个答案:

答案 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表。这个表可以作为你的领域,但更可靠。这称为多对多关系。