Я занимаюсь разработкой нескольких сайтов для просмотра медиа (видеоигры, телешоу, фильмы), и у меня возникла проблема с проектированием отношений между моими данными. Показательный пример:
Я решил, что наличие основной таблицы содержимого будет хорошей идеей для большинства данных. Мои таблицы «Статьи», «Новости» и «Обзоры» могут указывать на таблицу «Содержимое». Моя текущая настройка:
Содержание:
- ContentID - int, первичный ключ, идентификатор
- Текст - текст
- Дата добавления - дата и время
Оценка:
- ReviewID - int, первичный ключ, идентификатор
- Оценка - smallint
- ContentID - int, внешний ключ, который указывает на Content.ContentID
Игры:
- GameID - int, первичный ключ, личность
- Заголовок - nvarchar (50)
- GenreID - int, внешний ключ, указывающий на Genres.GenreID
- ReviewID - int, внешний ключ, который указывает на Reviews.ReviewID
Меня немного сбивает с толку, потому что Модель сущности показывает отношение «один ко многим» между Контентом и Обзорами, а также между Играми и Обзорами, когда они действительно должны быть один к одному. Каждый обзор должен указывать на одну запись контента, каждая игра должна иметь обзор, и на игру должен быть только один обзор.
Мне просто интересно, нахожусь ли я на правильном пути.