SCD type 2 keeps the full history of a dimension: at each attribute change, the current row is closed and a new row is inserted with a new surrogate key. Validity start and end columns, along with a current-row flag, make it possible to find the value in force at a given date.
Example
client_key | id | ville | valide_du | valide_au | courant 12 | 7 | Lyon | 2023-01-01 | 2024-05-31 | false