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

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

Кроме того, первичный ключ в разных диалектах SQL или некоторых механизмах играет особую роль, и потому отличается от альтернативного. Например, в Оракле при создании мат представлений можно использовать превичный (наряду с ROWID), но нельзя альтернативный. Т.е. может влиять преимущество типа данных суррогатного с одной стороны, и не играет роль сами значения в плане сематики.
...
Рейтинг: 0 / 0
20.05.2005, 13:03
    #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]