If the following three unique attributes arrive from a SalesOrderHeader table in a 3NF model, which one would be the ideal business key for a SalesOrderHeader Hub:
Definition
According to the Data Vault 2.0 methodology, the business key is the key which the business uses to identify one record (from here):
Business keys are supposed to have meaning to the business user. In a perfect world, they really should be decipherable by individuals who live and work in that industry. For instance, VIN (vehicle identification number) numbers are really well known to those who work in the auto industry. Some individuals are so adept at reading these numbers they can tell you what some of the sequences mean – define the number for you. [..]
This key doesn’t change when it goes from the Sales system to the Contracts system, it doesn’t change when it’s transferred from the contracts system to the manufacturing system, or any other system in the business. It stays consistent once assigned. [..]
The case
NOTE: I assume a lot in my answer since I don't know the business and it's dependencies.
The SalesOrderID
is an internal id which no one except for technical users ever gets to see.
And the PurchaseOrderNumber
might be connected to the Purchase
, which could be semantically completely different. Although it could, depending on the use case, be possible, that this key or even a surrogate key makes sense.
So to identify the SalesOrderHeader
I would conclude to use the SalesOrderNumber
since this number seems to be directly tied to the header.