When working with data and building data models, I personally seldom use the constraints feature on a database. Call me lazy – but I think constraints are adding unnessesary complexity when building data models for reporting. Especially if you are working with the some of new platforms – like Microsoft Fabric, where you are using staleless compute, aka. data storage is seperated from the compute layer.
I understand the need for contraints on other database systems like OLTP systems.
In reporting models it can be somewhat usefull to have constraints between tables, as they help/force you to some level of governance in your datamodel.
But how can we use this in Microsoft Fabric and are they easy to work with?
Read on for those answers. I will note that I’m a stickler about constraints in transactional systems, though I agree that constraints in warehouses are not critical—assuming, at least, that you’re following the Kimball approach and have one and only one mechanism to write data, and that you have other mechanisms for vetting data quality.