Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как спроектировать базу? / 11 сообщений из 11, страница 1 из 1
05.11.2004, 15:19
    #32770904
Как спроектировать базу?
Есть база... Вот её кусочик: Стр-ра базы
Вообщем есть ордера (табл. orders). Ордер может быть заказан для визы, авиа, и визы+авиа (кроме того) сюда еще добавяться отели, паромы и т.д. (сколько угодно) Вообщем, вопрос вопрос вот в чем.. Щас на любой ордера добавяляется запись в orders по типу... Для авиа - будет одна запись (type_order == 'f').. Если добавиться виза, то тогда сюда добавиться еще одна запись с type_order == 'v' c теми же orderId и tenantId..
Параллельно с этими записями добавляются записи в таблички orders_flights и orders_vises для полетов и виз соот-но... Щас общие данные можно хранить в табличке orders, так как они не пересекаются из-за того, что есть запись для какждого вида ордера... Так вот вопрос вот какой: надо ли убрать колонку type_order, чтобы для какждого ордера была всегда только одна запись, а остальные данные (которые не должны пересекаться) перенести в дочерние таблицы?
...
Рейтинг: 0 / 0
05.11.2004, 18:06
    #32771337
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спроектировать базу?
Надо!!!

-- Tygra's --
...
Рейтинг: 0 / 0
06.11.2004, 15:25
    #32771729
Как спроектировать базу?
tygraНадо!!!

-- Tygra's --

Хех, а что это даст? Просто по-моему мнению есть плюсы как первого варианта, так и второго.
...
Рейтинг: 0 / 0
07.11.2004, 09:50
    #32771891
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спроектировать базу?
В заглавном топике не спрашивалось "Что даст?"
==========================
Это плюсы и минусы "полной нормализации" - "сознательной денормализации". Эта дилемма в каждом случает решается конкретно, применительно к конкретной базе. Причем бОльшее значение имеет даже не выполняемые базой задачи, а объем содержащейся в ней информации.
...
Рейтинг: 0 / 0
08.11.2004, 00:04
    #32772124
Как спроектировать базу?
Cat2В заглавном топике не спрашивалось "Что даст?"

Про что одного ответа 'надо' мне мало.... Хотелось бы услыщать обоснование выбора какого-либо решения.
...
Рейтинг: 0 / 0
08.11.2004, 00:16
    #32772126
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спроектировать базу?
Рекомендую сравнит оба вариана. Точного рецепта нет
...
Рейтинг: 0 / 0
09.11.2004, 12:19
    #32773238
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спроектировать базу?
Ну все же если у вас заказ один, то и запись про него должна быть одна. А остальные параметры хранить отдельно, в другой таблице.

Иначе потом очень тяжко придется действия разные производить - ну выбрать заказы например, это обязательно должен быть group by, потому как у вас два одинаковых заказа (записи) в одной таблице с одинаковыми номерами. Да и в принципе - более понятно будет.

-- Tygra's --
...
Рейтинг: 0 / 0
11.11.2004, 17:08
    #32778061
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спроектировать базу?
Фсе эти ваши вапросы аттаго что ни пользуетесь CASE. Пользуйтесь, и не будит вапросав.
...
Рейтинг: 0 / 0
11.11.2004, 17:15
    #32778076
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спроектировать базу?
Если я правильно понял вопрос - то убрав эту колонку вы лишите себя возможности в runtime определять тип order'а. Т.е. зная только id ордера вы не сможете (по крайней мере, будет сложно) определить что за order имеется в виду.

Если вам это не нужно - можете смело поле убирать...
...
Рейтинг: 0 / 0
11.11.2004, 17:17
    #32778081
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как спроектировать базу?
Пардон, пра CASE пагаричился.
Т.е. вапрос - нада ли делать атнашения между таблицай
orders и таблицами orders_flights и orders_vises "АДИН-ка-МНОГИМ". Счаз ани типа "Адин к Аднаму". Атвет на вапрос зависит ат таго, какие данные вбиваются в записи в orders , каторые атносятся к orders_flights и orders_vises.
Если адинакавые, то бизусловна нада , чтоба не была адинаковых (дублирующихся) данных. Если нет - то саатветственна не нада.
Все ж проста.

Вазможет также прамежуточный вариант - часть палей перенисти из
orders в orders_flights и/или orders_vises. Ну там признаки завиршонности и прочая могут атнасится и к палету или визе.
...
Рейтинг: 0 / 0
15.11.2004, 14:19
    #32782327
Как спроектировать базу?
Всем спасибо... Вопрос решился сам собой, так как нужно было хранить общую сумму и заплаченную для всех заказов на ордер... Пришлось убрать поле типа заказа и в таблице ордеров теперь по одной записи на ордер, а остальные данные храняться уже в дочерних таблицах...
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как спроектировать базу? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]