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

Exercise No. 52: At The Movies (log)

We now build a logical model for the "at the movies" case.

We have five dimensions with the following hierarchical structure:

Table L.E.49.1 - at the movies

There is only one key figure in this example, "number of customers". Each customer group has an additional attribute "C_gr_des", the description of a customer group, each movie-hall type has an additional attribute "MH_ty_des", the description of a movie-hall type and each movie has an additional attribute "M_mo_tit", the title of a movie.

Please draw the Classic Star Schema, create the dimension table "movie" 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 level (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 the key figure "number of customers":

Figure L.E.49.1 - The Classic Star Schema

To create dimension table "product" we have to make up some products and categories, each being a record in the table. Products are assigned to product categories by entering the categories in the corresponding fields of each "product"-record. The "category"-records contain a N/A sign (*) in the "product"-fields, the record representing the total aggregation has this sign in all fields, save the key and the level attribute:

Table L.E.49.2 - The content of dimension table "movie"

The Fact Constellation Schema's dimension tables are similiar to those of the Classic Star, only the level attribute is omitted. The quantity of fact tables (including the base fact table) can be calculated by multiplying the number of hierarchy levels of each dimension, neglecting the total aggregation. Therefore this example's Fact Constellation Schema consists of 24 fact tables (1x2x2x2x3):

Figure L.E.49.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.49.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.49.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.19.4 - The Snowflake Schema

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