Hópehely séma vs csillag séma

Az adatbázis-séma kiválasztásakor az adattárházhoz, hópehely és csillag sémák általában népszerű választás. Ez az összehasonlítás tárgyalja a csillag és a hópehely sémák alkalmasságát a különböző forgatókönyvekben és azok jellemzőit.

Összehasonlító táblázat

Hópehely séma és a csillag séma összehasonlító diagramja
Hópehely sémaCsillagjegy
Karbantartás / változtatás könnyű Nincs redundáció, így a hópehely sémákat könnyebb karbantartani és megváltoztatni. Redundáns adatokkal rendelkezik, ezért kevésbé könnyű karbantartani / megváltoztatni
Egyszerű használat Bonyolultabb lekérdezések, és így kevésbé könnyen érthetőek Kisebb lekérdezés bonyolult és könnyen érthető
Lekérdezés teljesítménye Több idegen kulcs és így hosszabb lekérdezés-végrehajtási idő (lassabb) Kevesebb idegen kulcs és így rövidebb lekérdezés-végrehajtási idő (gyorsabb)
Datawarehouse típusa Jól használható az datawarehouse mag számára a komplex kapcsolatok egyszerűsítésére (sok: sok) Jó az egyszerű kapcsolatokkal rendelkező adattárakhoz (1: 1 vagy 1: sok)
csatlakozik Nagyobb csatlakozások száma Kevesebb csatlakozik
Mérettáblázat A hópehely sémáinak mindegyik dimenziónál egynél több dimenziós táblája lehet. A csillagséma minden dimenzióhoz csak egydimenziós táblát tartalmaz.
Mikor kell használni Ha a mérettábla viszonylag nagy, a hópehely jobb, mivel csökkenti a helyet. Ha a mérettáblázat kevesebb sort tartalmaz, választhatjuk a Csillag sémát.
Normalizálás / Normalizálás A mérettáblák normalizált formában vannak, a ténytáblák pedig normális formában vannak Mind a dimenziós, mind a ténytáblák normalizálatlan formában vannak
Adatmodell Alulról felfelé építkező megközelítés Felülről lefelé irányuló megközelítés

Tartalom: Hópehely séma vs csillag séma

  • 1 Példák
    • 1.1 Csillag séma példa
    • 1.2 Hópehely séma példa
  • 2 Hivatkozások

Példák

Vegyünk egy adatbázist egy kiskereskedő számára, amelynek sok üzlete van, mindegyik üzlet sok terméket értékesít számos termékkategóriában és különböző márkákban. Az ilyen kiskereskedő adattárházának vagy adattárházának az elemzők számára lehetővé kell tennie az értékesítési jelentések bolt, dátum (vagy hónap, negyedév vagy év), termékkategória vagy márka szerint csoportosítva történő futtatását..

Csillag séma példa

Ha ez az adatcsillag csillag sémát használna, akkor a következőképpen néz ki:

Példa egy csillag sémára

A ténytábla lenne az értékesítési tranzakciók nyilvántartása, míg léteznek dimenziós táblák a dátumra, az áruházra és a termékre. A mérettáblák mindegyike az elsődleges kulcson keresztül kapcsolódik a ténytáblához, amely idegen kulcs a ténytáblához. Például a tényleges tranzakció dátumának a ténytáblázat sorában való tárolása helyett a date_id kerül tárolásra. Ez a date_id egy egyedülálló sornak felel meg a Dim_Date táblázatban, és a sor más dátum-attribútumokat is tárol, amelyek a jelentésekben történő csoportosításhoz szükségesek. például a hét napja, a hónap, az év negyedéve és így tovább. Az adatokat denormalizálják a könnyebb jelentéstétel érdekében.

Így kaphat beszámolót a márkák és országok szerint eladott televíziók számáról a belső csatlakozások segítségével.

Hópehely séma példa

Ugyanez a forgatókönyv használhat hópehely sémát is, ebben az esetben a következő felépítésű:

Hópehely séma példa (kattintson a nagyításhoz)

A csillagrendszerhez viszonyítva a fő különbség az, hogy a dimenziós táblázatokban szereplő adatok jobban normalizálva vannak. Például ahelyett, hogy a Dim_Date tábla minden sorában tárolná a hónapot, a negyedévet és a hét napját, ezeket tovább bontják saját dimenziós tábláikba. Hasonlóan a Dim_Store táblához, az állam és az ország egy lépéssel eltávolított földrajzi jellemzők - a Dim_Store táblában való tárolás helyett most külön Dim_Geography táblában tárolódnak..

Ugyanez a jelentés - az eladott televíziók száma országonként és márkánként - most kicsit bonyolultabb, mint egy csillagrendszerben:

SQL lekérdezés az eladott termékek számának megszerzéséhez országonként és márkánként, amikor az adatbázis hópehely sémát használ.

Irodalom

  • wikipedia: Snowflake_schema
  • wikipedia: Star_schema