Dimensional data modeling is a technique for database design intended to support analysis and reporting. It contains dimension tables that provide context about the business and fact tables that contain measures. Dimension tables describe attributes and may include hierarchies, while fact tables contain measurable events linked to dimensions. When designing a dimensional model, the business process, grain, dimensions, and facts are identified. Star and snowflake schemas are common types that differ in normalization of the dimensions. Slowly changing dimensions also must be accounted for.