• Surrogate keys can be very useful for some ETL operations, especially for updates and deletes on the fact table. They can also be useful to support a partitioning or archiving strategy or for references from other tables if you have them. My advice would be to create a surrogate key if and when you find a reason to, not because you think it's the "norm".