BartSimpson81
Neuer Benutzer
- Beiträge
- 2
Hallo zusammen
ich hätte mal ne Frage bezüglich des beim Einsatzes der oben genannten Schemata wie Starschema/Snowflake gegenüber einer normalen Tabelle im Datenbanken/Data Warehouse Bereich.
Und zwar lese ich immer wieder in der Literatur das der Einsatz dieser Schemata im Data Warehouse Bereich also dem OLAP (Online Analytical Processing) Performance Vorteile bei Abfragen bringen soll. Dies kann ich mir aber logisch nicht ganz erklären...
Also hier mal mein Gedankengang, bei einer Tabelle ich nenne Sie jetzt einfach mal "Auftragstabelle" habe ich folgende Spalten: Auftragsnr, Kundennr, Kunde, Datum, Position, Artikelnr., Artikel, Stückzahl, Preis mit ihren jeweiligen Einträgen
Will ich jetzt zum Beispiel wissen, ob einen bestimmten Artikel zum Beispiel einen Joggingschuh an Kunden verkauft habe und welche diese sind so würde ich folgende Anfrage in SQL schreiben:
(Beispiel mit einer einzigen Tabelle)
SELECT Kundenname
FROM Auftragstabelle
WHERE Artikel = 'Joggingschuh'
bei Einsatz eines Schemata wie Starschema/Snowflake Schema würde aber die Anfrage über mehrere Tabellen (Faktentabelle/Dimensiontabellen) gehen und die Anfrage komplexer werden (mehrer Joins). So könnte die vorige Tabelle "Auftragstabelle" jetzt in vier Tabellen zerlegt sein, für diese Beispiel sollen Sie den Namen "Auftragstabelle" (enthält Auftragnr, Kundennr, Datum), "Kundentabelle" (enthält Kundennr, Kunde) "Auftragspositionen" (enthält Auftragsnr,Position,Artikelnr, Stückzahl) sowie die Tabelle "Artikeltabelle" (enthält Artikelnr, Artikel, Preis)
die gleiche Abfrage mit dem Joggingschuh wie oben lautet jetzt mit SQL:
SELECT Kundenname
FROM Kundentabelle, Artikeltabelle, Auftragspositionen, Auftragstabelle
WHERE Kundentabelle.Kundennummer = Auftragstabelle.Kundennummer
AND
Auftragspositionen.Auftragsnummer = Auftragstabelle.Auftragsnummer
AND
Artikeltabelle.Artikelnummer = Auftragspositionen.Artikelnummer
AND
Artikel = 'Joggingschuh'
also ist doch die zweiter Anfrage wie oben schon erwähnt komplexer, und braucht da doch auch mehr Zeit bei einer Abfrage bzw. OLAP, oder nicht? Falls es doch einen Performancevorteil gegenüber der Verwendung einer einzelnen Tabelle gibt bitte ich um detailierte Erklärung wie dieser durch die Schemata entsteht?
Oder habe ich was wesentliches im Bezug auf OLAP vergessen. Gibt es vielleicht auch noch andere Vorteile warum diese Schemata im Data Warehousing/OLAP eingesetzt werden.
Wäre super wenn ihr mir hier weiterhelfen könntet
ich hätte mal ne Frage bezüglich des beim Einsatzes der oben genannten Schemata wie Starschema/Snowflake gegenüber einer normalen Tabelle im Datenbanken/Data Warehouse Bereich.
Und zwar lese ich immer wieder in der Literatur das der Einsatz dieser Schemata im Data Warehouse Bereich also dem OLAP (Online Analytical Processing) Performance Vorteile bei Abfragen bringen soll. Dies kann ich mir aber logisch nicht ganz erklären...
Also hier mal mein Gedankengang, bei einer Tabelle ich nenne Sie jetzt einfach mal "Auftragstabelle" habe ich folgende Spalten: Auftragsnr, Kundennr, Kunde, Datum, Position, Artikelnr., Artikel, Stückzahl, Preis mit ihren jeweiligen Einträgen
Will ich jetzt zum Beispiel wissen, ob einen bestimmten Artikel zum Beispiel einen Joggingschuh an Kunden verkauft habe und welche diese sind so würde ich folgende Anfrage in SQL schreiben:
(Beispiel mit einer einzigen Tabelle)
SELECT Kundenname
FROM Auftragstabelle
WHERE Artikel = 'Joggingschuh'
bei Einsatz eines Schemata wie Starschema/Snowflake Schema würde aber die Anfrage über mehrere Tabellen (Faktentabelle/Dimensiontabellen) gehen und die Anfrage komplexer werden (mehrer Joins). So könnte die vorige Tabelle "Auftragstabelle" jetzt in vier Tabellen zerlegt sein, für diese Beispiel sollen Sie den Namen "Auftragstabelle" (enthält Auftragnr, Kundennr, Datum), "Kundentabelle" (enthält Kundennr, Kunde) "Auftragspositionen" (enthält Auftragsnr,Position,Artikelnr, Stückzahl) sowie die Tabelle "Artikeltabelle" (enthält Artikelnr, Artikel, Preis)
die gleiche Abfrage mit dem Joggingschuh wie oben lautet jetzt mit SQL:
SELECT Kundenname
FROM Kundentabelle, Artikeltabelle, Auftragspositionen, Auftragstabelle
WHERE Kundentabelle.Kundennummer = Auftragstabelle.Kundennummer
AND
Auftragspositionen.Auftragsnummer = Auftragstabelle.Auftragsnummer
AND
Artikeltabelle.Artikelnummer = Auftragspositionen.Artikelnummer
AND
Artikel = 'Joggingschuh'
also ist doch die zweiter Anfrage wie oben schon erwähnt komplexer, und braucht da doch auch mehr Zeit bei einer Abfrage bzw. OLAP, oder nicht? Falls es doch einen Performancevorteil gegenüber der Verwendung einer einzelnen Tabelle gibt bitte ich um detailierte Erklärung wie dieser durch die Schemata entsteht?
Oder habe ich was wesentliches im Bezug auf OLAP vergessen. Gibt es vielleicht auch noch andere Vorteile warum diese Schemata im Data Warehousing/OLAP eingesetzt werden.
Wäre super wenn ihr mir hier weiterhelfen könntet