Data Warehouse - What Is Snowflake Schema
Data Warehouse - What Is Snowflake Schema
ADVERTISEMENT
金門行動旅服
開啟
親子旅遊
The snowflake schema is an expansion of the star schema where each point of the star explodes into
more points. It is called snowflake schema because the diagram of snowflake schema resembles a
snowflake. Snowflaking is a method of normalizing the dimension tables in a STAR schemas. When
we normalize all the dimension tables entirely, the resultant structure resembles a snowflake with the
fact table in the middle.
Snowflaking is used to develop the performance of specific queries. The schema is diagramed with
each fact surrounded by its associated dimensions, and those dimensions are related to other
dimensions, branching out into a snowflake pattern.
The snowflake schema consists of one fact table which is linked to many dimension tables, which can
be linked to other dimension tables through a many-to-one relationship. Tables in a snowflake
schema are generally normalized to the third normal form. Each dimension table performs exactly
one level in a hierarchy.
ADVERTISEMENT
UPL
LEARN MORE
வரவேற் க் கலாம் நம் பகமான கூட் டாளியை
The following diagram shows a snowflake schema with two dimensions, each having three levels. A
snowflake schemas can have any number of dimension, and each dimension can have any number of
levels.
Example: Figure shows a snowflake schema with a Sales fact table, with Store, Location, Time,
Product, Line, and Family dimension tables. The Market dimension has two dimension tables with
Store as the primary dimension table, and Location as the outrigger dimension table. The product
dimension has three dimension tables with Product as the primary dimension table, and the Line and
Family table are the outrigger dimension tables.
A star schema store all attributes for a dimension into one denormalized table. This needed more
disk space than a more normalized snowflake schema. Snowflaking normalizes the dimension by
moving attributes with low cardinality into separate dimension tables that relate to the core
dimension table by using foreign keys. Snowflaking for the sole purpose of minimizing disk space is
not recommended, because it can adversely impact query performance.
In snowflake, schema tables are normalized to delete redundancy. In snowflake dimension tables are
damaged into multiple dimension tables.
Figure shows a simple STAR schema for sales in a manufacturing company. The sales fact table
include quantity, price, and other relevant metrics. SALESREP, CUSTOMER, PRODUCT, and TIME are
the dimension tables.
The STAR schema for sales, as shown above, contains only five tables, whereas the normalized version
now extends to eleven tables. We will notice that in the snowflake schema, the attributes with low
cardinality in each original dimension tables are removed to form separate tables. These new tables
are connected back to the original dimension table through artificial keys.
ADVERTISEMENT ADVERTISEMENT
Replay Replay
A snowflake schema is designed for flexible querying across more complex dimensions and
relationship. It is suitable for many to many and one to many relationships between dimension levels.
1. The primary advantage of the snowflake schema is the development in query performance due
to minimized disk storage requirements and joining smaller lookup tables.
1. The primary disadvantage of the snowflake schema is the additional maintenance efforts
required due to the increasing number of lookup tables. It is also known as a multi fact star
schema.
← Prev Next →
For Videos Join Our Youtube Channel: Join Now
Feedback
Preparation
Company
Interview
Questions
Company Questions
Trending Technologies