This scenario describes a Job that captures the employee data changes in a PostgreSQL table using SCD (Slowly Changing Dimensions) Type 1 and Type 2 methods implemented by the tPostgreSQLSCDELT component, and writes both the current and historical data in a SCD dimension table.
For more technologies supported by Talend, see Talend components.
The input data contains various employee details including name, role, salary, and another id column is added to help ensuring the unicity of the input data.
At first, the following employee data is inserted to a new Snowflake table.
#id;name;role;salary 1;Mark Smith;tester;11000.00 2;Thomas Johnson;developer;12000.00 3;Teddy Brown;tester;13000.00
Later, the table is updated with the following renewed employee data.
#id;name;role;salary 1;Mark Smith;tester;15000.00 2;Thomas Johnson;tester;18000.00 3;Teddy Brown;writer;17000.00 4;John Clinton;developer;19000.00
You can see the role of
Thomas Johnson is changed from
tester, the role of
Brown is changed from
writer, and his
salary is raised from
17000.00. Besides, a new
employee record with id
4 is inserted. In this scenario,
the existing name and role data will be overwritten by the new data, so SCD Type 1 method will be performed on them, and
the full history of the salary data will be retained, and a new record with the changed data will be always created and the previous record will be closed, so SCD Type 2 method will be performed on it.
For more information about SCD types, see SCD management methodology.