ОК, вот сценарий. У меня есть таблицы, такие как ФИЛЬМЫ, КНИГИ, TV_SHOWS. Все эти таблицы могут иметь много жанров, и любой жанр может иметь много разных файлов из любой таблицы. Поэтому проблема, с которой я столкнулся, заключается в следующем:Множество для многих для жанра
В этом случае я отношусь к разделам MOVIE, TV_SHOWS и BOOKS TABLES.
Должен ли я делать MOVIES GENRE, BOOKS GENRE и TV_SHOWS GENRE таблицы, по одному для каждой таблицы? Или есть способ связать все таблицы с одной таблицей GENRE во многих отношениях стиля, не жертвуя унификацией таблицы GenreID IN THE GENRE?
Теперь я рассмотрел другие вопросы, которые касаются этого, и все они имеют громкое НЕТ. По-видимому, нет базы данных, которая может вместить этот стиль многих (многих) многих отношений. Но я пытаюсь выяснить, есть ли какая-либо альтернатива этому, или я должен просто сделать несколько таблиц GENRE?
Единственное, что я могу думать, что это может сработать, - это иметь столбец GenreID в каждой таблице категорий. А затем у многих есть много отношений с таблицей GENRE для каждой из таблиц категорий. Все таблицы категорий будут связаны с помощью таблицы соединений CATEGORY_GENRE, которая имеет составной первичный ключ, сделанный из внешних столбцов GenreID, из всех таблиц категорий и первичного ключа GenreID из таблицы GENRE. Единственная проблема заключается в том, что я не думаю, что одна сторона отношений многих и многих может быть связана с внешним ключом, обе стороны отношений должны быть связаны их первичными.
Вся эта вещь была бы проще, если бы таблицы категории были на многих стороне одного до многих отношениях, но, к сожалению, иногда фильм или книга имеет более чем один жанр, как фэнтези, научной фантастики и т.д.
К сожалению Я думаю, что единственный способ сделать это - сделать несколько таблиц GENRE, но я просто хочу получить некоторые мнения, прежде чем я продолжу и сделаю это.
Можете ли вы объяснить, какие категории означает в вашем примере, пожалуйста? –
@BobSalmon, пожалуйста, см. Мое редактирование. Категории - это таблицы MOVIE, TV_SHOWS и BOOKS TABLES. – Christopher