A data warehouse schema describes the organization of data within the [[data warehouse]]. Multiple schemas have been developed for various applications.
Warehouse schemas typically include two elements
- **fact tables**: stores quantitative data (measurable events or metrics) and the foreign keys that reference associated dimension tables. Typically very large stores of quantitative data
- **dimension tables**: provides descriptive attributes related to dimensions in the fact table. They give context to the measures. Typically small stores of qualitative and categorical data.
For example, a list of transactions may be stored in a fact table with foreign key references to a customer and products, whose details are stored in dimension tables.
An individual unit in a data warehouse is called a [[data cube]].
## star schema
One fact table, multiple dimension tables.
## snowflake schema
An expansion on the star schema with one fact table and a hierarchy of dimension tables.
## fact constellation schema
Multiple fact tables, multiple shared dimension tables.