Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подходы к проектированию БД хранилища / 8 сообщений из 8, страница 1 из 1
09.01.2010, 13:31
    #36401472
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
Тут первый раз проектирую хранилище и столкнулся со следующими замечаниями от руководства:

1. убрать уникальные индексы. если где либо будет нужна проверка на уникальность, то будет по окончанию загрузки запущена процедура проверки на уникальностью
2. практически нигде не используются (причем это понятно дело весьма хреново бьется с п.1) суррогатные ключи, а используются составные первичные. соответственно в подчиненных таблицах очень часто из родительской приходят по 3-4 столбца.


Понятно, что всё очень сильно зависит от задачи и от софта, в котором лабается хранилище, но интересует, использует ли кто такие подходы и оправданны ли они...

Каков, так сказать, мировой опыт в этом деле
...
Рейтинг: 0 / 0
09.01.2010, 18:11
    #36401704
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
Хрустальный шар подсказывает мне что речь идет об суррогатном ключе подчиненной таблицы типа атрибуты объекта. Для таких таблиц первичный ключ можно определить как masterID,detailID и не индексировать detailID.
...
Рейтинг: 0 / 0
11.01.2010, 10:16
    #36403020
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
Хранилище под OLAP обычно проектируется денормализованным в целях увеличения производительности. Отсюда и ключи суррогатные.
Скорее даже речь не о суррогатных ключах, а о схеме "звезда" вместо "снежинки".
...
Рейтинг: 0 / 0
11.01.2010, 11:28
    #36403143
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
Ну как раз таки в моем случае они очень даже не суррогатные :( + неясен подход с отложенной проверкой уникальности. Как мне кажется лопатить всю базу программным кодом на проверку уникальности это как-то стрёмно.
...
Рейтинг: 0 / 0
11.01.2010, 13:37
    #36403431
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
может отложенная проверка уникальности требуется из-за необходимости быстрой заливки большого объёма данных?


Шайтан
...
Рейтинг: 0 / 0
11.01.2010, 15:23
    #36403658
Shtock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
Ну в каждой партии заливка по 120000 записей. Пришел к выводу что это надо для того, что там так устроенно, что у некоторых субъектов, которым присвоены коды они должны быть уникальны, а у некоторых нет. Типа как ИНН у банков и их филиалов.
...
Рейтинг: 0 / 0
11.01.2010, 16:49
    #36403845
Vika Vinner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
каждая табличка дименшн (измерения) должна иметь свой {чаще всего суррогатный} ключ. Когда делается суммирование и мы строим фактический объект - в ключ этого объекта включены все ключи контролируемых измерений. Уникальность значений действительно обычно не поддерживается.
...
Рейтинг: 0 / 0
11.01.2010, 18:42
    #36404070
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подходы к проектированию БД хранилища
ShtockНу как раз таки в моем случае они очень даже не суррогатные :( + неясен подход с отложенной проверкой уникальности. Как мне кажется лопатить всю базу программным кодом на проверку уникальности это как-то стрёмно.
ошибся конечно:
авторОтсюда и ключи НЕ суррогатные
многие СУБД позволяют отключать constrains/triggers на время (например, заливки).
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подходы к проектированию БД хранилища / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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