2015-01-21 2 views
0

В настоящее время я планирую приложение с тремя типами записей. На данный момент я планирую создать таблицу для каждого типа, так как каждый тип содержит различную информацию, но я думаю о лучшем способе сделать это, так как каждый тип имеет некоторую базовую информацию.SQL - наиболее эффективный способ организации нескольких типов записей/записей

Тип (и в настоящее время модели) are Event, Hotel, Shop. Все они имеют некоторые основные сведения, такие как название, описание, user_id, category_id, время и т. Д.

Что я думал о создании таблицы, называемой «Места», и создавать записи с «типом» -колонки вместо модели для каждого типа, а затем добавить мета-идентификатор для мета-таблицы, которая будет содержать необязательный/дополнительная информация для каждого типа записи.

Итак, какой подход был бы лучше? Должен ли я хранить типы в отдельных таблицах и моделях, чтобы каждый тип был полностью изолирован?

ответ

0

Лучший способ сделать это - сохранить типы в отдельных таблицах. это поможет вам добавить несколько информации.

0

Я собираюсь переосмыслить ваш вопрос следующим образом: когда лучше моделировать различные типы в качестве отдельных подтипов некоторого общего супертипа? И когда лучше просто рассматривать их как разные типы, представляющие разные сущности?

Ответ в том, что это зависит. Если вы выполняете моделирование объектов, каждый тип, который вы придумываете, является подтипом универсального типа «объект». Но если вы выполняете моделирование ER или моделирование реляционных данных, эта концепция может быть полезной или бесполезной, в зависимости от конкретного случая.

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

Это зависит от ваших целей дизайна. Чего вы пытаетесь достичь? Как правило, дизайнеры преследуют несколько целей, в том числе скорость, гибкость, простоту использования и простоту программирования. Насколько важны эти цели для вас?

Смежные вопросы