Introduction to Fact Constellation Schema
Fact Constellation Schema is a schema that represents a multidimensional model of tables. This schema is a group of different fact tables that have few similar dimensional tables. It can be represented as a group of multiple star schemas and thus, it is also called a Galaxy schema. Fact schema is the most frequently used schema to design a Data warehouse and also, it is a little complicated than star and snowflake schema model.
Fact constellation schema is a tool of analytical processing via online, which has a huge group of the number of fact tables that share dimensional tables, also aggregated as a group of stars. We can also call it as an extension of the star constellation model.
What is Fact Constellation Schema?
A fact constellation schema can have multiple fact tables associated with it. It is commonly used a schema for designing data warehouses and it is much complicated than any other schema such as star and snowflake schema. We can create a fact constellation schema from a star schema by splitting them into one or more star schemas. It is also said that a fact constellation schema can have many fact tables and a shared dimensional table.
General Structure of Fact Constellation
To understand the fact constellation schema, we have given below a skeleton of it.
This is the basic schema of any fact constellation schema that is associated with fact and dimensional schemas. A combined group of star schema is called a fact constellation schema.
Here the pink-colored box is dimensional tables that are common to both the star schemas. Green colored are the fact tables that are responsible for each of their star schemas.
Fact Constellation Schema Architecture
In the above architecture, below is the brief analysis:
- The student is a dimensional table where roll_number, name, marks are its attributes.
- TPD is a dimensional table where tpd_id, tpd_name, department are its attributes.
- Placement is a fact table where roll_number, company_name, tpd_id are its attributes with its facts number of students attended, number of students selected.
- Training class is a fact table where roll_number, training_name, tpd_id are its attributes, and the number of students attended, the number of students selected is its facts.
- The workshop is a dimensional table where training_name, subject, workshop_fee are its attributes.
- Company is a dimensional table where company_name, name, company_package are its attributes.
Here in the above schema, placement and training_class are two different star schemas having their dimensional table as student, TPD, and company in Star schema with placement as its fact table.
The other star schema is student, TPD, and workshop as its dimensional table with training class as its fact table.
Here the above two-star schema has two-dimensional tables in common and thus they form a set of fact constellation schema.
Advantages and Disadvantages
Here are a few advantages that make it more useful:
- Tables are subdivided into fact and dimensional to understand the relationship between them.
- It is a flexible schema that makes users use it.
- Here dimensional tables are shared by the number of fact tables.
- It is a normalized form of snowflake and star schema.
- We can access the data in the database using complex queries.
Few disadvantages are listed below:
- It is difficult to understand as it is a very complex schema to implement.
- It uses more space in the database comparative to the star schema.
- It has many joins between dimensional and fact tables and thus it is difficult to understand.
- This is difficult to maintain and operate.
Fact constellation schema is also known as galaxy schema. It is possible to share two or more dimensional table with one fact table in a group of the star schema. It is a normalized form of snowflake schema and star schema. The main disadvantage of it is that it is a very challenging design architecture as it might have joined, aggregation relationship between dimensional and fact tables.
This is a guide to Fact Constellation Schema. Here we discuss an introduction, general structures, and architecture with advantages and disadvantages. You can also go through our other related articles to learn more –