DIS Frage: Expanded Star Schema braucht keine Joins - warum?
2012-07-24 17:48
Anonymer User
Moin. Ich bereite mich gerade für die DIS Prüfung vor und eines will mir nicht so richtig klar werden.
Ich denke ich habe das Star Schema verstanden. Wir haben hier Faktentabellen mit den Zieldaten und DimensionsIDs, diese stehen in Fremdschlüsselbeziehung zu den entsprechenden Dimensionstabellen. Über die Dimensionstabellen kann ich mir meine Zieldaten angucken.
Beim normalized Star Schema normaliziere ich die Dimensionstabellen, ich entferne also die Redundanzen. Aus Tag(TagID, Tag, Monat, Jahr) wird Tag(Tag,Monat) und Monat(Monat, Jahr). Möchte ich mir meine Zieldaten anhand eines Jahres angucken brauche ich Joins zwischen Monat und Tag und dann über Tag via TagID mit der Faktentabelle.
Um diese Joins zu entfernen haben wir das Expanded Star Schema. Wir Denormalisieren hier wieder unsere Dimensionstabellen, bringen die Redundanz des flattened Schemas also wieder rein. Wir hätten dann also Tag(TagID, Tag, Monat, Jahr) und Monat(Monat, Jahr). Nun sollen joins nicht mehr nötig sein - aber genau das verstehe ich nicht.
Wieso sollten hier keine Joins mehr nötig sein? Wenn ich über das Jahr gucke muss ich mich ja immernoch zurück zum Tag und der TagID hangeln um die entsprechenden Einträge in meiner Faktentabelle heraussuchen zu können.
Wo ist mein Denkfehler?
Ich denke ich habe das Star Schema verstanden. Wir haben hier Faktentabellen mit den Zieldaten und DimensionsIDs, diese stehen in Fremdschlüsselbeziehung zu den entsprechenden Dimensionstabellen. Über die Dimensionstabellen kann ich mir meine Zieldaten angucken.
Beim normalized Star Schema normaliziere ich die Dimensionstabellen, ich entferne also die Redundanzen. Aus Tag(TagID, Tag, Monat, Jahr) wird Tag(Tag,Monat) und Monat(Monat, Jahr). Möchte ich mir meine Zieldaten anhand eines Jahres angucken brauche ich Joins zwischen Monat und Tag und dann über Tag via TagID mit der Faktentabelle.
Um diese Joins zu entfernen haben wir das Expanded Star Schema. Wir Denormalisieren hier wieder unsere Dimensionstabellen, bringen die Redundanz des flattened Schemas also wieder rein. Wir hätten dann also Tag(TagID, Tag, Monat, Jahr) und Monat(Monat, Jahr). Nun sollen joins nicht mehr nötig sein - aber genau das verstehe ich nicht.
Wieso sollten hier keine Joins mehr nötig sein? Wenn ich über das Jahr gucke muss ich mich ja immernoch zurück zum Tag und der TagID hangeln um die entsprechenden Einträge in meiner Faktentabelle heraussuchen zu können.
Wo ist mein Denkfehler?