powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / НЕ первичный суррогатный ключ
5 сообщений из 5, страница 1 из 1
НЕ первичный суррогатный ключ
    #33072506
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увидел такую идею для DW:
поскольку при введении суррогатного ключа всего следует оставлять ограничение уникальности бизнес-ключа (возможно составного), то получим два равноправных в SELECT уникальных индекса.
Вопрос: а почему собственно первичным следует объявлять именно суррогатный? Мигрировать в другие таблицы можно суррогатный ключ и не объявляя его первичным. Ведь в DW ограничения целостности (кроме уникальности) практически не используются.
Применял ли реально кто-нибудь такую тактику и что вышло?
...
Рейтинг: 0 / 0
НЕ первичный суррогатный ключ
    #33072827
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первую очередь, для DW суррогатные ключи имеют меньшее значение. Достаточно часто их просто незачем делать. Во вторую очередь, концептуально я не вижу разницы между первичным и альтернативными ключами. Технически может быть вопрос с null-ами - суррогатный ключ гарантированно не имеет null-ов, а о бизнес-ключе этого сказать нельзя.

Практически - хранилище, созданное в Oracle Warehouse Builder, имеет все шансы вообще не иметь ни одного первичного ключа; все ключи по умолчанию создаются как unique. Так что практика, видимо, есть :)
...
Рейтинг: 0 / 0
НЕ первичный суррогатный ключ
    #33076073
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRВопрос: а почему собственно первичным следует объявлять именно суррогатный?Потому, что суррогатный всегда вводится именно для этого ModelRПрименял ли реально кто-нибудь такую тактику и что вышло?А зачем ее применять, если она не несет ни одного преимущества, и при этом имеет ряд недостатков.
...
Рейтинг: 0 / 0
НЕ первичный суррогатный ключ
    #33076822
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный еще претендует на неизменность идентификации. Т.е. мало причин менять его значения. А естественные подвержены этому - хуже с точки зрения идентификации. А альтернативный для идетификации имеет меньшее значение.

Кроме того, первичный ключ в разных диалектах SQL или некоторых механизмах играет особую роль, и потому отличается от альтернативного. Например, в Оракле при создании мат представлений можно использовать превичный (наряду с ROWID), но нельзя альтернативный. Т.е. может влиять преимущество типа данных суррогатного с одной стороны, и не играет роль сами значения в плане сематики.
...
Рейтинг: 0 / 0
НЕ первичный суррогатный ключ
    #33076858
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoПервичный еще претендует на неизменность идентификации.
Суррогатный. Первичность тут не при чем.

vadiminfoНапример, в Оракле при создании мат представлений можно использовать превичный (наряду с ROWID), но нельзя альтернативный.
Если не ошибаюсь, здесь играет роль не столько статус первичного ключа, сколько специфика реализации альтернативных. Уникальные ключи в Oracle допускают null-овские значения и потому адресуют не все строки, что не подходит для решаемой задачи. Я не погружался в этот вопрос, но для альтернативного ключа вида unique not null нет никаких проблем в использовании вместо первичного.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / НЕ первичный суррогатный ключ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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