Data Vault - Как выбрать бизнес-ключи?
Если следующие три уникальных атрибута поступают из таблицы SalesOrderHeader в модели 3NF, какой из них будет идеальным бизнес-ключом для центра SalesOrderHeader:
- SalesOrderID (PK исходной таблицы)
- SalesOrderNumber
- Номер заказа на поставку
1 ответ
Определение
Согласно методологии Data Vault 2.0, бизнес-ключ - это ключ, который бизнес использует для идентификации одной записи ( отсюда):
Бизнес-ключи должны иметь значение для бизнес-пользователя. В идеальном мире они действительно должны быть расшифрованы людьми, которые живут и работают в этой отрасли. Например, номера VIN (идентификационный номер транспортного средства) действительно хорошо известны тем, кто работает в автомобильной промышленности. Некоторые люди настолько искусны в чтении этих чисел, что могут сказать вам, что означают некоторые последовательности - определить число для вас. [..]
Этот ключ не изменяется при переходе из системы продаж в систему контрактов, он не изменяется при переносе из системы контрактов в производственную систему или любую другую систему в бизнесе. Он остается неизменным после назначения. [..]
Дело
ПРИМЕЧАНИЕ. Я многое предполагаю в своем ответе, поскольку не знаю бизнеса и его зависимостей.
SalesOrderID
это внутренний идентификатор, который никто, кроме технических пользователей, никогда не увидит.
И PurchaseOrderNumber
может быть связано с Purchase
, который может быть семантически совершенно другим. Хотя возможно, в зависимости от варианта использования, что этот ключ или даже суррогатный ключ имеет смысл.
Таким образом, чтобы определить SalesOrderHeader
Я хотел бы заключить, чтобы использовать SalesOrderNumber
так как это число, похоже, напрямую связано с заголовком.