I want to create a data warehouse from 1 OLTP database. The tables in the OLTP db have got integer primary keys. So they are the business keys.
The tables are: Client, customer, products and sales. They have primary key and foreign key relationships.
I am writing an ETL to model this into dimensions and facts.
My manager insists that I create surrogate keys. I know to achieve this I will have to load the dimension tables first (so that they get their surrogate key), and then load the fact table by using the business key to add the corresponding surrogate key into the fact tables. I know this is appropriate when the business keys are alphanumeric or large value but in my case the business keys are auto incrementing integers.
In my situation, what is the disadvantage of not creating surrogate key?
You 'Transform' the data (after 'Extract'ing it and before 'Load'ing it) into your Data Warehouse to present it in more "user-friendly" ways and one way to do that it get rid of, say, "dept_id : 784465" and replace it with "Department : Accounting". – Phill W. Dec 14 '21 at 14:03