Types of Relationships in an AtScale Model
This section explains the types of relationships you can create in an AtScale model. A relationship creates a link between a physical dataset and a logical dimension, and adds an instance of the dimension to the model.
- One-to-Many Relationships When modeling data in a star schema format, dimension-to-fact relationships are typically one-to-many. This means that each record in the fact dataset can link to one (and only one) record in the dimension dataset, but a record in the dimension dataset can be associated with many fact records.
- Many-to-Many Relationships Real-world use cases do not always align with the one-to-many star schema model. Some relationships can only be represented as a many-to-many relationship. This occurs when a fact dataset row can refer to more than one row in a dimension dataset. In AtScale, this is modeled by defining a dimensional bridge to resolve the many-to-many relationship.
- Role-Playing Relationships Whenever you create a relationship to a dimension, whether from a fact table to a dimension or from one dimension to another dimension, an instance of that dimension is added to the model. In some cases, the same dimension may be referenced in more than one context in the same model. A role-playing relationship is what differentiates multiple instances of the same dimension in a model.
- Multi-Fact Relationships A multi-fact model is when you want to analyze measures that originate from two different fact datasets. This is possible in AtScale, provided that both fact datasets have relationships to common dimensions.