What is the difference between warehouse key and surrogate key?
Answer / jaspreet banga
Surrogate key concept:- Surrogate keys are generated by
system and they identifies unique 'ENTITY'! yes its entity
and not record ,while primary key is used for finding
unique record.
Let me give you a simple classical example for surrogate
key:
On the 1st of January 2002 Employee 'E1' belongs to
Business Unit 'BU1' (that's what would be in your Employee
Dimension). This employee has a turnover allocated to him
on the Business Unit 'BU1' But on the 2nd of June the
Employee 'E1' is muted from Business Unit 'BU1' to Business
Unit 'BU2.' All the new turnover have to belong to the new
Business Unit 'BU2' but the old one should Belong to the
Business Unit 'BU1.'
If you used the natural business key 'E1' for your employee
within your datawarehouse everything would be allocated to
Business Unit 'BU2' even what actualy belongs to 'BU1.'
If you use surrogate keys you could create on the 2nd of
June a new record for the Employee 'E1' in your Employee
Dimension with a new surrogate key.
This way in your fact table you have your old data (before
2nd of June) with the SID of the Employee 'E1' 'BU1.' All
new data (after 2nd of June) would take the SID of the
employee 'E1' 'BU2.'
You could consider Slowly Changing Dimension as an
enlargement of your natural key: natural key of the
Employee was Employee Code 'E1' but for you it becomes
Employee Code Business Unit - 'E1' 'BU1' or 'E1' 'BU2.' But
the difference with the natural key enlargement process is
that you might not have all part of your new key within
your fact table so you might not be able to do the join on
the new enlarge key -> so you need another id.
| Is This Answer Correct ? | 3 Yes | 1 No |
how to load duplicate row in a target
Create a mapping which contains 2 target tables. When the session runs for the first time it shud load Target table 1 and when it runs for second time it shud load Target table 2.
What is repository manager?
What are the components of the workflow manager?
What is aggregate cache in aggregator transforamtion?
how to create a sample mapping for dynamic lookup transformation
Three date formats are there . How to change these three into One format without using expression transformation ?
How the facts will be loaded? explain
Can you copy the batches?
Can you generate sequence numbers without using the sequence generator transformation?
How to handle changing source file counts in a mapping?
explain different levels in pushdown optimization with example?