如果以下三个唯一属性来自 3NF 模型中的 SalesOrderHeader 表,那么哪一个将是 SalesOrderHeader Hub 的理想业务键:
- SalesOrderID(原始表的PK)
- 销售订单号
- 订购单号码
如果以下三个唯一属性来自 3NF 模型中的 SalesOrderHeader 表,那么哪一个将是 SalesOrderHeader Hub 的理想业务键:
定义
根据 Data Vault 2.0 方法,业务密钥是业务用来识别一条记录的密钥(来自此处):
业务密钥应该对业务用户有意义。在一个完美的世界中,他们真的应该被在该行业生活和工作的个人解读。例如,VIN(车辆识别号)号码对于汽车行业的工作人员来说非常熟悉。有些人非常擅长阅读这些数字,他们可以告诉你一些序列的含义——为你定义数字。[..]
此密钥在从销售系统转移到合同系统时不会更改,当它从合同系统转移到制造系统或业务中的任何其他系统时也不会更改。一旦分配,它就会保持一致。[..]
案子
注意:我在回答中做了很多假设,因为我不了解业务及其依赖项。
这SalesOrderID
是一个内部 id,除了技术用户之外没有人可以看到。
并且PurchaseOrderNumber
可能连接到Purchase
,这在语义上可能完全不同。尽管根据用例的不同,这个键甚至代理键是有可能的。
因此,为了识别,SalesOrderHeader
我会得出结论使用 ,SalesOrderNumber
因为这个数字似乎直接与标题相关联。