# Dimensional Modeling (DM)

* Easy to use, write queries quickly and effectively
* Fast data retrieval
* Historical data
* **Dimensions** give the context (who, where, when, what)
* **Facts** are measurements and metrics

## Fact and Dimension

### Fact Table

* Include numerical values (Amount, Quantity)
* Include foreign Keys to associated dimension tables

### Dimension Table

* Descriptive characteristics of the facts
* Join to fact table via a foreign key
* Denormalized tables
* Use a surrogate key
* Store the history

## Dimensional and 3NF

<figure><img src="https://3167488510-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FN5Oxfr1ogoEGQMX2dzNM%2Fuploads%2FHZo8QVt1jbEBqLq4Njo1%2Fimage.png?alt=media&#x26;token=7fed993b-3494-4bc8-ba20-d1ae259eebeb" alt=""><figcaption></figcaption></figure>
