Studierende stehen vor dem LC und blicken lächelnd einer Kollegin mit einer Mappe in der Hand nach.

Exercise No. 45: Pizza Service (log)

We will now build a logical model for the "pizza service" case.

We have five dimensions with the following hierarchical structure:

Table L.E.26.1 - pizza service

"Price", "quantity" and "revenue" are the key figures in this example. Each customer has an additional attribute "C_cu_add", the customer's address.

Please draw the Classic Star and the Fact Constellation Schema. Then draw the example's dimension tables partitioned and normalized and use them to build a Snowflake Schema!

Solution

This case's Classic Star Schema has six tables, a central fact table and five dimension tables. The latter consist of a generated key as well as a key and a text field for each hierarchy (except the total aggregation) and the level attribute. The fact table uses the generated keys from the dimension tables as a combined key and contains three key figures ("price", "quantity" and "revenue") in this example:

Figure L.E.26.1 - The Classic Star Schema

The Fact Constellation Schema for this case consists of five dimension tables and 24fact tables (1x2x2x3x2):

Figure L.E.26.2 - The Fact Constellation Schema

Partitioning the Classic Star's dimension tables by the level attribute results in one table for each hierarchy level (in each dimension). All tables include the fields of the higher levels, the level attribute itself is omitted:

Figure L.E.26.3 - DT partitioned (left) and normalized (right)

Normalizing the dimension tables completely means that only the key of the next higher level is kept in each table. Please note that the tables for the total aggregation level have been neglected in Figure L.E.26.3

The Snowflake Schema is a combination of the Fact Constellation Schema's fact tables and the dimension tables either partitioned or normalized:

Figure L.E.26.4 - The Snowflake Schema

This exercise is part of a case study: dfm - apa - log