|
Dimensional model is also a relational model of storage. The difference in a dimensional model and relational model is that dimensional model is that dimensional model is structured for large and ad-hoc queries. It is also structured to give a better response time to the queries, due to its de-normalized nature. Therefore the question is that should one have a normalized vs. de-normalized (dimensional model star-schema) kind of structure.
There is no one perfect answer to this question. ExecutionMiH.com skew is towards the bottom-up incremental approach along with 'optimally normalized' dimensional model. There are various levels of normalizations:
- A single table combining all dimensions and fact tables: Extreme case of de-normalization. However, we have seen many low volume, low-complexity implementations doing this. Not recommended.
- Star-Schema: A base model where the fact table is linked to the dimensional tables. Recommended
- Single level Snow-flake: Where a dimensional table is have one level of normalization. Recommended when needed.
- Multiple level snow-flake: Where a dimensional table is having multiple level of normalization. Not recommended.
One other difference in a typical relational model and the dimensional model, is that dimensional model is build with the business theme in mind. Therefore you will have a star-schema dimensional model with a business theme in mind. Where as a traditional normalized relational model storage will not be assuming a business theme and will be generic storage of integrated production data.
|