OriginalGriff
Подумайте о своих данных: если у вас нет информации, которая связывает название отдела с кинотеатром, вы не можете "вернуться" из фильма в кинотеатр через его название отдела.
Я бы создал три таблицы, а не две:
Cinemas
ID, Name, Address, BillingAddress, ...
Departments
ID, CinemaID, Name, SeatingCapacity, ...
Movies
ID, Name, Genre, StartDate, EndDate, ShowTime, DepartmentID, ...
А xxxIDs-это
FOREIGN KEY
с соответствующим идентификатором таблицы.
Тогда это простой вопрос для использования
SQL-соединения[
^] извлекать информацию по мере необходимости, не дублируя никакой информации.
OriginalGriff
Может быть, и сегодня - но будет ли он показывать тот же фильм на следующей неделе?
Объединения делают жизнь проще, потому что они являются тем, что SQL Server и MySql-это "реляционные базы данных", что означает, что они очень заботятся о взаимоотношениях между битами данных и очень, очень хорошо их обрабатывают. Поверьте мне, использование соединений очень просто и значительно сокращает количество дублирования. И это означает, что вам будет легче поддерживать ваши данные в чистоте и точности - так называемая "целостность данных", которую вы искренне хотите, поскольку она быстро превращается в кошмар, чтобы разобраться, когда DI будет скомпрометирован! Дублированные данные легко приводят к данным, которые не соответствуют другим строкам или таблицам, и тогда DI начинает быстро распутываться.
Использование внешних ключей и соединений означает, что гораздо труднее получить плохие данные там, и это чертовски хорошо, поскольку вы, несомненно, будете беднягой, которому придется вручную сортировать ошибки ... :смеяться: