Разработка схемы базы данных для моделей с несколькими видами данных - PullRequest
1 голос
/ 17 мая 2011

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

Моя схема базы данных моделирует спортивные события по всему миру. Какой тип событие и спорт, когда и где он играет, что участники есть и победитель и тд. Одна из сущностей в схеме Страна, которая отслеживает, в какой стране в мире спорт Событие состоялось в.

Это хорошо работает, но тогда мне также нужно добавить вспомогательные данные в Модель страны, которая не связана с моделью спортивных мероприятий как таковой, но требуется для аккуратного отображения данных на веб-странице.

Примером этих данных является смещение спрайта флагов стран в спрайт-образ, длинное описание страны, прилагательное для страна (Китай - китайский и т. д.), количество посетителей на странице страны и субъективное значение страны в масштабе от 1-5 (события в странах с рейтингом пять показаны на первой странице).

Я мог бы легко поместить все эти атрибуты в сам объект Country, но это кажется неправильным и загрязняет мою чистую схему спортивных мероприятий. Я не думаю, что структура данных должна быть смешана с такими деталями, как, как чтобы сделать это красиво ... Итак, вопрос в том, как я должен организовать это вместо этого?

1 Ответ

3 голосов
/ 17 мая 2011

Я бы сохранил эти данные в таблице «Страны» и создал бы FK для ваших спортивных данных.Это позволит вам легко поддерживать атрибуты каждой страны, поскольку вам нужно будет обновить их только в одном месте, и изменения вступят в силу везде, на которые есть ссылки.Я не думаю, что это загрязняет ваши данные, так как информация имеет отношение к вашей заявке.Более того, если вы попытаетесь разделить эти данные, это только усложнит вашу схему и усложнит обслуживание.

...