Является ли эта схема базы данных практичной? - PullRequest
3 голосов
/ 01 декабря 2010

Как продолжение этого предыдущего вопроса: Нормализация множества свойств с похожими типами данных

Я создал эту настройку сейчас: http://schemabank.com/p/VwWHn

Мой вопрос: я на правильном пути с этим методом? Есть ли очевидная ошибка в настройке, которую я использую, или что-то в концепциях нормализации, которые я пропускаю? Я пытаюсь найти практический подход, который работает в реальных сценариях, поэтому, если есть лучший способ для настройки этой базы данных, я буду рад ее услышать.

Ответы [ 2 ]

1 голос
/ 01 декабря 2010

Возможно, вы захотите иметь таблицу platform_data, которая позволит вам связать игру с несколькими платформами. Это может быть осознанный выбор, чтобы не иметь этого, но я подумал, что упомяну это.

Другое дело, что для дат выпуска я предполагаю, что у вас есть отдельная таблица release_dates, чтобы вы могли выбрать все по дате выпуска. Если это не является частью вашего плана, то вам может не понадобиться дополнительная таблица, и вы можете просто включить ее в модель игры.

Еще одна вещь, которую следует учитывать, это то, что игры часто выпускаются в разных странах в разные даты. Поскольку вы уже включили несколько схем в схему для целей рейтинга, возможно, вы могли бы рассмотреть возможность добавления таблицы стран и удаления таблиц рейтингов, специфичных для вашей страны. Тогда у вас может быть одна таблица рейтингов, в которой каждый рейтинг будет иметь страну в качестве внешнего ключа. Тогда вам просто нужно будет создать таблицу Rating_Data, чтобы связать игры с различными рейтингами. Вы также можете добавить add country_id в таблицу release_date_data. Этот подход позволит вам расширять и добавлять больше стран без необходимости каждый раз менять схему.

1 голос
/ 01 декабря 2010

Как насчет добавления следующих таблиц:

  1. Страна
  2. RatingsByCountry
  3. Рейтинги
  4. GameRatingsByCountry

Таким образом, если вы добавите страну или тип рейтинга, вам не придется менять структуру таблиц.

...