
Whether you are doing transactional data modeling, dimensional data modeling, Data Vault modeling or object-oriented modeling, all these techniques have one essential thing in common: they include complex entities (facts, dimensions, hubs, classes). One reason for this complexity: instances of these entities go through a life cycle that make then pass by different status (states) when conditions or events occur.