Data Vault: разница между бизнесом, суррогатом, сохраненными ключами
Суррогатные и бизнес-ключи упоминаются в статье в Википедии о Data Vault. введите описание ссылки здесь. Сохраненные ключи упоминаются здесь.
Согласно статье в Википедии, необязательно указывать суррогатные ключи для концентратора / спутника или ссылки. Однако в ссылке обязательно указывать суррогатные ключи для концентратора, к которому он подключается. Если не обязательно указывать суррогатные ключи в концентраторах, как я буду вводить их в таблицу ссылок?
Суррогатные ключи против бизнес-ключей. Суррогатные ключи необходимы для соединения структур. Бизнес-ключи используются для уникальной идентификации элемента. Но мы могли бы сделать это также с помощью суррогатного ключа, не так ли? В чем основное различие между бизнес-ключом и суррогатным ключом, и почему я не могу просто использовать суррогатный ключ в качестве служебного ключа или наоборот?
В более поздней статье они пишут:
Таблица концентратора - содержит бизнес-ключ и оставленный ключ. Сохраненный ключ - это ключ, который сопоставляется с бизнес-ключом один-к-одному. Для сравнения, суррогатный ключ включает время, и может быть много суррогатных ключей, соответствующих одному бизнес-ключу. Это объясняет имя ключа, оно сохраняется при вставке новой версии строки, в то время как суррогатный ключ увеличивается. Зачем нам нужен оставшийся ключ? Источников может быть много, поэтому мы не можем использовать бизнес-ключ, поскольку он может иметь различный тип или различное количество атрибутов в разных исходных системах.
Из-за большого количества ресурсов могут быть разные бизнес-ключи для одного и того же элемента. Но этот конкретный элемент будет однозначно идентифицирован по оставшемуся ключу. Я правильно понял? Таким образом, это означает, что суррогатный ключ сопоставляется с различными бизнес-ключами, а не один-к-одному.
Пример. Допустим, у нас есть хаб "Сотрудник" с двумя разными бизнес-ключами из двух разных отделов. Есть сотрудник A. У сотрудника бухгалтерии A будет бизнес-ключ AT654, а у проектного отдела у него бизнес-ключ PR454. Хаб будет иметь две записи для этого работодателя:
RetainedKey BK TimeStamp Source
AAA111 AT654 24.03.2012 Accounting
AAA111 PR454 25.03.2012 Project
Но как я могу включить суррогатный ключ? А именно, в какой ситуации оно будет увеличено (как указано в "Это объясняет имя ключа, оно сохраняется при вставке новой версии строки, в то время как увеличивается значение суррогатного ключа")?
Может ли кто-нибудь привести пример (ситуацию) использования сохраненных ключей, бизнес-ключей и суррогатных ключей?
1 ответ
В Data Vault 2.0 есть три основных термина:
- Бизнес ключ: ключ, как бизнес идентифицирует объект.
- Суррогатный ключ: ключ, которым предприятие идентифицирует объект, если прямой бизнес-ключ недоступен. Это комбинированный ключ из нескольких полей, делающий строку уникальной.
- Hash Key: ключи, используемые в хабах, сателлитах и ссылках для объединения таблиц; они генерируются из бизнес / суррогатных ключей.
- Сохраненный ключ должен быть подключен к Data Vault 1.0. Я никогда не слышал об этом.
Если вам нужно описать тот факт, что у вас может быть бизнес-ключ, который отличается в нескольких системах, но означает одно и то же, тогда для хранения и поиска можно использовать таблицы Same-As-Links.
Итак, чтобы объединить две ваши системы, вы захотите создать структуру Same-As-Link, которая будет выглядеть следующим образом:
Hash Key Accounting_Key Project_Key Timestamp
xyzabc... AT654 PR454 24.05.2012
Затем эта таблица может быть использована в качестве справочной таблицы.