Screw the Business Key!

In an ideal world the business key would be something that has a meaning to the business user, i.e. An account number or a sales order number. In the real world however, especially with organisations that have multiple sources and or multiple business areas such as sales, finance, manufacturing, etc., of which most organisations will have, finding a unique enterprise-wide business key can become rather difficult if not impossible. So what happens is a business key is made by a concatenation of fields, database IDs or other identifiers of some sort thereby compromising the ideal understandable and meaningful key for business users. So if this “other” way of making a unique business key is being done, then it doesn’t really matter what you use as your business key as long as it is unique across all the records within the hub. The context of the business key is then defined by its related satellite attributes. Of Course not withstanding the fact that if there is an enterprise-wide business key that can be used, I encourage you to use it. However, there are other considerations to keep in mind should that approach be taken or decision be made.

In todays modern world with the various classifications of data, i.e. Private; sensitive; restricted; open and GDPR but to name a few, further consideration needs to be made when defining the business key to ensure that compliance is not compromised should the data fall into these classifications or change from one classification to another, especially with GDPR which requires the purging of data.

I have come across clients that have spent ages floundering around the business keys and what to use as the business key that the project actually started becoming stagnant, only to then realise that they couldn’t actually make a unique enterprise-wide business key and ended up just using a database ID or some other concatenation. After all, if the business did later on find a useful business key to use, it’s simply then a matter of updating your ETL or ELT to use this key in the hub and not use whatever it was using before. This is where a good automation tool comes in really handy to be able to make this change and rebuild the solution and populate accordingly.

Share this Post

2024 © Data Engineers Ltd - All Rights Reserved