Предложение по проектированию базы данных MySQL - PullRequest
1 голос
/ 11 августа 2011

Мне нужны предложения по разработке БД в MySQL.

У меня есть таблица Movie_Celebrity_Role, которая содержит идентификатор фильма, идентификатор праздника, идентификатор роли.Эта таблица является связующим звеном между таблицами фильмов, знаменитостей (CelebName & CelebID) и ролями (например, Producer, Director и т. Д.).

У меня есть другая таблица Movie_Company_Role, которая аналогична описанной выше, но здесь вместо Celebs, Идентификаторы компаний хранятся в привязке к Таблице компаний, а роли различаются, например, в Производственном доме и т. Д.

Моя проблема в том, что есть некоторые поля, такие как Отношения со СМИ, в которых могут быть как Компания, так и Знаменитости.

Следовательно, Если я создаю другую таблицу как MoviedID_CelebID_CompID_RoleID При соединении таблиц я получу двойную ошибку, так как таблицы знаменитостей и таблицы Companies должны быть объединены при сопоставлении этой таблицы, а также Movie_celeb_role и Movie_comp_role.

Пожалуйста, предложите, как это сделатьthis.

Я хочу, чтобы Результат на моем сайте был таким:

Продюсер Celeb1 Celeb2

Режиссер Celeb1 Celeb3

... ......

Отношения со СМИ Celeb2 Company1 Company12

PS: Также, когда я нажимаю на celeb или ссылка компании на этой странице, она должна перейти на страницу празднования или страницу компании, где должны быть указаны фильмы, связанные с этой знаменитостью или компанией.

1 Ответ

0 голосов
/ 11 августа 2011

очень сбивает с толку ...

что за «дубликат ошибки» вы получите? до тех пор, пока role_id оценивается должным образом из таблицы ролей, вы должны быть в порядке.

Где вы не в порядке, так это в том, что у вас есть двусмысленность в определении вашей роли. В вашем примере вы хотите, чтобы в вашей таблице было 2 значения role_id, одно для компании и одно для человека.

Я не уверен, что вы все равно захотите сделать это ... я ожидаю, что компания может сыграть в фильме более одной роли, а может и человек. (например, кто-то может быть режиссером и актером одновременно)

здесь вы хотите, чтобы это была отдельная таблица, а не вся в одном виде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...