powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Суррогатные ключи на суррогатные ключи?
16 сообщений из 16, страница 1 из 1
Суррогатные ключи на суррогатные ключи?
    #36846501
Шрек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во общем вопрос следующий. Есть OLPT база на постгресе. Есть задача создания аналитики данных этой базы.Как реализовано - создана база MSSQLServer(staging), которая содержит актуальные данные из постгреса. Создана еще одна сиквельная база(reporting), которая будет источником данных для Олап базы. В reporting базу данные заливаются из staging.В постгресе все первичные ключи - суррогатные. Какие могут быть причины не использования этих первичных ключей из постгреса в базе reporting тоже как первичные?Зачем создавать новые первичные ключи reporting базе, делать ремапинг между таблицами на новые ключи и т.д? Некоторые причины я могу сказать (если в постгресе есть мертвые ссылки, или не все данные доехали в staging). Спасибо
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36846929
Полковник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шрек,

Что значит, что у вас они уже сурогатные?

Еще накидаю вам вариантов для необходимости:
- несколько полей справочника идентифицируют одну запись к примеру - пациенты Фамилия + Имя + Отчетство + Дата рождения (встречал в одной базе полных однофамильцев)
- справочник как медленно меняющееся измерение - место жительства, паспортные данные и т.д. со временем могут поменяться
- первичные ключи - в виде кодов (символов) лучше их переделывать в int.
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36847195
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ШрекВо общем вопрос следующий. Есть OLPT база на постгресе. Есть задача создания аналитики данных этой базы.Как реализовано - создана база MSSQLServer(staging), которая содержит актуальные данные из постгреса. Создана еще одна сиквельная база(reporting), которая будет источником данных для Олап базы. В reporting базу данные заливаются из staging.В постгресе все первичные ключи - суррогатные. Какие могут быть причины не использования этих первичных ключей из постгреса в базе reporting тоже как первичные?Зачем создавать новые первичные ключи reporting базе, делать ремапинг между таблицами на новые ключи и т.д? Некоторые причины я могу сказать (если в постгресе есть мертвые ссылки, или не все данные доехали в staging). Спасибо

Первичные ключи бывают и меняются даже суррогатные!
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36847308
шрек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПолковникШрек,

Что значит, что у вас они уже сурогатные?


То, что они не изменяются конечным пользователем. В моей случаи первичные суррогатные ключи получаются из последовательностей в постгресе.
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36847330
шрек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan Durak
Первичные ключи бывают и меняются даже суррогатные!
Как по мне обновление первичные суррогатных ключей очень плохая практика. В этом случае проблема каскадных обновлений данных при изменении первичных ключей лежит все также на СУБД источнике данных (постгресе).
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36847897
если у тебя только один источник и все сущности отображаются однозначно, то можно и не перекодировать
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36849429
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
------------------------------если у тебя только один источник и все сущности отображаются однозначно, то можно и не перекодировать
да-да. Все так же думают поначалу.
А потом. Когда уже все написано, все отлажено, навернуто сверху олап с отчетами, заоптимайзено и запущено. Вот потом выясняется что............ (подставить нужную ситуацию).
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36849483
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шрек wrote:

Зачем создавать новые первичные ключи reporting базе,
> делать ремапинг между таблицами на новые ключи и т.д? Некоторые причины
> я могу сказать (если в постгресе есть мертвые ссылки, или не все данные
> доехали в staging). Спасибо

Это дурацкая причина. Если там что-то не так с данными, тащить эти данные в
OLAP нет никакого смысла.

может на мой взгляд быть только одна причина -- если предусматривать возможность
в OLAP базе хранить данные не из одной OLTP базы, а из нескольких.
Других причин не вижу.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36849486
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durak wrote:

> Первичные ключи бывают и меняются даже суррогатные!

Если меняется первичный ключ, то это уже не первичный ключ.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36849678
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
может на мой взгляд быть только одна причина -- если предусматривать возможность
в OLAP базе хранить данные не из одной OLTP базы, а из нескольких.


+1

вообще, ваши суррогатные ключи из OLTP являются естественными с точки зрения DWH
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36849879
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик wrote:

> вообще, ваши суррогатные ключи из OLTP являются естественными с точки
> зрения DWH

С какой это радости ? они либо везде суррогатные, либо везде естественные.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36850154
шрек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
может на мой взгляд быть только одна причина -- если предусматривать возможность
в OLAP базе хранить данные не из одной OLTP базы, а из нескольких.
Других причин не вижу.

Вместо ремапинга тока проще добавить еще колонку - признак откуда пришли данные и ничего не нужно ремапить. В этом случае первичный ключ становиться составным (оригинальный ключ + колонка код источника)
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36850256
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Естественные ключи это те поля, с помощью которых можно идентифицировать объекты внешнего (относительно рассматриваемой системы) мира.

Пусть имеем 2 системы, OLTP и DWH

С помощью ключа в DWH (импортированного из OLTP) можно идентифицировать запись в OLTP. Значит такой ключ является естественным (в DWH).
Все относительно)
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36850261
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шрек
Вместо ремапинга тока проще добавить еще колонку - признак откуда пришли данные и ничего не нужно ремапить. В этом случае первичный ключ становиться составным (оригинальный ключ + колонка код источника)

угу, особенно, если в одной системе-источнике ключи int, а в другой char(100)
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36850781
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критикшрек
Вместо ремапинга тока проще добавить еще колонку - признак откуда пришли данные и ничего не нужно ремапить. В этом случае первичный ключ становиться составным (оригинальный ключ + колонка код источника)

угу, особенно, если в одной системе-источнике ключи int, а в другой char(100)

Обсуждается классическая и неразрешимая проблема РМД, в которой нет идентификации сущностей. Ключи - это те же атрибуты отношения (среди прочих), которые формально могут, конечно же, меняться. Нужно использовать идентификаторы (которые принципиально не являются характеристикой объекта, и находжятся вне прочих характеристик), то есть нужно просто отказаться от РМД по этой и многим другим причинам:)
...
Рейтинг: 0 / 0
Суррогатные ключи на суррогатные ключи?
    #36851430
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик wrote:

> Пусть имеем 2 системы, OLTP и DWH
>
> С помощью ключа в DWH (импортированного из OLTP) можно идентифицировать
> запись в OLTP.

Ключи надо рассматривать относительно предметной области.
OLTP и DWH -- это ОДНА система. Две её подсистемы.
Потому что если ты перекладываешь данные из одной БД в другую,
они принципиально ни в чём не меняются.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Суррогатные ключи на суррогатные ключи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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