Sample Header Ad - 728x90

Is the source system typically one of the fields used to uniquely identify business key?

1 vote
0 answers
85 views
One of the key components of designing a data vault is identifying **enterprise-wide unique business keys** ("business key" AKA "natural key"). It's not enough to use OrderID to identify records in an Orders table, because when you add another orders table from another source system (e.g., a brick-and-mortar store launches an online store), there may well be collisions. In Data Vault best practices, should one include the name of the source system as one of the fields used to uniquely identify a record, when adding it to a hub table? Rather than searching for some combination of fields in Orders which will *hopefully* be universally unique ({ CustomerID, OrderID, and OrderDate }, maybe), one could identify brick-and-mortar orders with { "Brick-and-Mortar Order System", OrderID }, and one could identify online orders with { "Online Order System", OrderID }: Records from two sources flow together into a This seems like the obvious solution, but I've not seen it mentioned in any of the Data Vault modeling documents I've found, so I wonder if there's some reason not to use this approach. The Data Vault approach seems to be an outgrowth of Master Data Management practices, so if this is a solved problem in MDM, that solution probably applies here too.
Asked by Jon of All Trades (5987 rep)
Feb 17, 2017, 11:19 PM