Schema Types
Ch.02: DWH | DWH Components | Data Modeling
Lesson Notes
Fact Tables Lesson Notes:
Video
Schema Types
-
Star Schema.
-
Snowflake Schema.
Star Schema
Star Schema Main Characteristics
-
Simplicity: It is the simplest type of DWH schemas.
-
Query effectiveness: Because of simplicity, It needs less join to query the data (It is optimized to query large dataset).
-
Data Redundancy and Large Table Size: Due to de-normalization, it has a data redundancy, and the table size is huge.
-
Most used and widely supported.
Star Schema Characteristics
-
Dimensions represented by one one-dimension table.
-
The dimension table are not joined to each other
-
The fact table would contain key and measure.
-
Data integrity is not enforced due to the de-normalized structure.
Schema Types: Star Schema Example

What is Snowflake?

Real Snowflake Photo taken from [https://earthsky.org]

Snowflake Simple Design

Snowflake Final (Complex) Design
Snowflake Schema Characteristics
-
Extension: Snowflake is an extension of the Star Schema.
-
Normalized: Dimension tables are normalized; this means every dimension may expand into additional tables.
-
Disk Space Efficiency: Due to its normalization methodology, it uses less desk space, which enhances the query as we scan less data size.
-
Complicated: Due to the normalization query needs to join more table in some cases to get the data which reduces the performance.
Schema Types: Snowflake schema (Example)

Star Vs Snowflake Schema
| Star | Snowflake |
|---|---|
| Dimension represented by one-table | Dimension tables are expanded into multi-tables |
| Fact table surrounded by dimension tables | Fact table surrounded by Hierarchy of dimension tables |
| Less join | Requires many joins |
| Simple Design | Very Complex Design |
| De-normalized Data structure | Normalized Data Structure |
| High level of Data redundancy | Very low-level data redundancy |
| Maintenance is difficult | Maintenance is easier |
| Good for datamarts with simple relationships (1:1 or 1:many) | Good for core to simplify (many:many) |