如何在表中表示?

时间:2011-01-20 16:37:19

标签: database database-normalization database-table

我有一组像这样的数据

Programme title |  Episode  |  Subtitle  |  Performers  |  Description

最初我将其标准化为两个表,如此

PROGRAMME

progid  |  progtitle  |  description

EPISODE

epid  |  progid  |  episode  |  subtitle  |  description

我想我想在另一张桌子上代表表演者,但不知道如何表现。据我所知,存在以下关系

  • 一对多:一个程序可以有很多表演者
  • 一对多:表演者可以在许多节目中出现

我不确定我会如何代表这个?

编辑啊我明白了,我实际上有这样的表格吗?

PERFORMER

performerid  |  performer

PROGRAMME

progid  |  progtitle  |  description

EPISODE

epid  |  progid  |  episode  |  subtitle  |  description

PROG_PERFORMER

progid  |  performerid

3 个答案:

答案 0 :(得分:2)

此外,表演者可以在剧集之间改变

答案 1 :(得分:1)

这是多对多的。一个表演者可以在多个节目中,一个节目可以有多个表演者。

关于建立多对五关系的网络(以及教科书)中有大量信息。一个这样的资源在这里:

http://www.tekstenuitleg.net/en/articles/software/database-design-tutorial/many-to-many.html

真的,虽然它应该是

  • 节目与剧集有一对多的关系
  • 一集与表演者有许多关系。

这足以创建一个列出所有表演者/表演/剧集关系的查询。

答案 2 :(得分:1)

在执行者表旁边,你必须创建一个关系表

表演者表

performerid | name | ...

关系表

performerid | progid