2015-12-15 4 views
0

В настоящее время я разрабатываю базу данных фильмов. В настоящее время у меня есть столик с фильмами, длина и т. Д. Затем у меня есть стол для актеров. У меня есть таблица соединений между ними с filmid и actorid. У этого будут все актеры, которые играют роль в фильме. В таблице соединений также есть атрибут роли.Модель класса базы данных - фильм

Теперь, как бы я хотел показать звездных актеров в фильме (2 или 3 отбирают актеров из общего числа в фильме). Я бы создал отдельную таблицу столкновений звезд с фильмидом и акторидом, но это было бы повторить другую уже созданную таблицу соединений или сделать ее в таблице соединений, но это будет означать, что будут два actorID's?

[CrudeDrawing (забыл включить роль в распределительной таблице)]

enter image description here

ответ

0

Вы построили большую часть того, что требуется уже. Ваша таблица соединений может быть использована для включения столбца для начала или отсутствия актера (булевский столбец). Вместо этого вы можете использовать столбец int, в котором значения показывают, какая часть звезды принадлежит ему. Вы также можете добавить другую интересную информацию в таблицу соединений, такую ​​как имя символа, общую длину внешнего вида и т. Д. Нет необходимости в дополнительной таблице.

Примеры: Один слева любой номер> 0 означает звезду. 1 означает большую звезду, 2 означает маленькую звезду и т. Д. Справа 1 означает звезду. Обратите внимание, что в этом примере две таблицы не обязательно эквивалентны. enter image description here

+1

Спасибо, это отличный способ сделать это. Спасибо, что приложили усилия к примеру. – user302338

+0

Без проблем ... Рад, что я был полезен. Для вашей информации, если вы заинтересованы в рисовании модели данных без необходимости покупать программное обеспечение, вы можете использовать MS-Access, если у вас есть это или использовать Интернет. В Интернете есть несколько инструментов, таких как: https://www.lucidchart.com/pages/tour/ER_diagram_tool – NoChance

Смежные вопросы