0% found this document useful (0 votes)
7 views10 pages

Data Warehouse - What Is Snowflake Schema

A snowflake schema is a type of database schema that normalizes dimension tables, connecting them through other dimensions rather than directly to the fact table, resulting in a structure that resembles a snowflake. It improves query performance and scalability while reducing redundancy, but requires more maintenance and can complicate queries due to the increased number of tables. The schema is suitable for complex relationships and is an expansion of the star schema, which stores all attributes for a dimension in a single denormalized table.

Uploaded by

lekha.cce
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views10 pages

Data Warehouse - What Is Snowflake Schema

A snowflake schema is a type of database schema that normalizes dimension tables, connecting them through other dimensions rather than directly to the fact table, resulting in a structure that resembles a snowflake. It improves query performance and scalability while reducing redundancy, but requires more maintenance and can complicate queries due to the increased number of tables. The schema is suitable for complex relationships and is an expansion of the star schema, which stores all attributes for a dimension in a single denormalized table.

Uploaded by

lekha.cce
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Home Software Engineering Data Warehouse Software Testing Control System Java HTML

ADVERTISEMENT

金門行動旅服
開啟
親子旅遊

What is Snowflake Schema?


A snowflake schema is equivalent to the star schema. "A schema is known as a snowflake if one or
more dimension tables do not connect directly to the fact table but must join through other
dimension tables."

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.

Advantage of Snowflake Schema

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.

2. It provides greater scalability in the interrelationship between dimension levels and


components.

3. No redundancy, so it is easier to maintain.

Disadvantage of Snowflake Schema

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.

2. There are more complex queries and hence, difficult to understand.

3. More tables more join so more query execution time.

← Prev Next →
For Videos Join Our Youtube Channel: Join Now

Feedback

Send your Feedback to [email protected]

Help Others, Please Share

Learn Latest Tutorials

Splunk SPSS Swagger Transact-SQL

React tutorial Regex tutorial Reinforcement


learning tutorial
ReactJS Regex
Reinforcement
Tumblr Learning
R Programming RxJS tutorial React Native Python Design
tutorial tutorial Patterns
RxJS
R Programming React Native Python Design
Patterns

Python Pillow Python Turtle Keras tutorial


tutorial tutorial
Keras
Python Pillow Python Turtle

Preparation

Aptitude Logical Verbal Ability Interview


Reasoning Questions
Aptitude Verbal Ability
Reasoning Interview Questions

Company
Interview
Questions
Company Questions

Trending Technologies

Artificial AWS Tutorial Selenium Cloud


Intelligence tutorial Computing
AWS
Artificial Selenium Cloud Computing
Intelligence

Hadoop tutorial ReactJS Data Science Angular 7


Tutorial Tutorial Tutorial
Hadoop
ReactJS Data Science Angular 7

Blockchain Git Tutorial Machine DevOps


Tutorial Learning Tutorial Tutorial
Git
Blockchain Machine Learning DevOps
B.Tech / MCA

DBMS tutorial Data Structures DAA tutorial Operating


tutorial System
DBMS DAA
Data Structures Operating System

Computer Compiler Computer Discrete


Network tutorial Design tutorial Organization and Mathematics
Architecture Tutorial
Computer Network Compiler Design
Computer Discrete
Organization Mathematics

Ethical Hacking Computer Software html tutorial


Graphics Tutorial Engineering
Ethical Hacking Web Technology
Computer Graphics Software
Engineering

Cyber Security Automata C Language C++ tutorial


tutorial Tutorial tutorial
C++
Cyber Security Automata C Programming

Java tutorial .Net Python tutorial List of


Framework Programs
Java Python
tutorial
Programs
.Net

Control Data Mining Data


Systems tutorial Tutorial Warehouse
Tutorial
Control System Data Mining
Data Warehouse

You might also like