Как представить это в таблице? - PullRequest
0 голосов
/ 20 января 2011

У меня есть набор данных примерно так

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 ]

2 голосов
/ 20 января 2011

Также исполнители могут переключаться между эпизодами

1 голос
/ 20 января 2011

рядом с таблицей исполнителей необходимо создать таблицу отношений

стол исполнителя

performerid | name | ...

таблица отношений

performerid | progid
1 голос
/ 20 января 2011

Это много ко многим.Один исполнитель может быть представлен в нескольких программах, а одна программа может иметь несколько исполнителей.

В сети (и в учебниках) имеется много информации о настройке взаимоотношений между многими участниками.Один из таких ресурсов здесь:

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

Действительно, хотя это должно быть

  • Программа имеет отношения «один-много» с эпизодами
  • Эпизод имеет много-много связей с исполнителями.

Этого достаточно, чтобы создать запрос, в котором будут перечислены все отношения исполнитель / шоу / эпизод.

...