Stjärnschema

Star-schema.png
Star Schema.png

Inom datoranvändning är stjärnschemat den enklaste stilen av datamart- schema och är det tillvägagångssätt som används mest för att utveckla datalager och dimensionella datamarts. Stjärnschemat består av en eller flera faktatabeller som refererar till valfritt antal dimensionstabeller . Stjärnschemat är ett viktigt specialfall av snöflingaschemat och är mer effektivt för att hantera enklare frågor.

Stjärnschemat har fått sitt namn från den fysiska modellens likhet med en stjärnform med en faktatabell i mitten och dimensionstabellerna som omger den representerar stjärnans punkter.

Modell

Stjärnschemat separerar affärsprocessdata i fakta, som innehåller den mätbara, kvantitativa informationen om ett företag, och dimensioner som är beskrivande attribut relaterade till faktadata. Exempel på faktadata inkluderar försäljningspris, försäljningskvantitet och tid, distans, hastighet och viktmätningar. Exempel på relaterade dimensionsattribut inkluderar produktmodeller, produktfärger, produktstorlekar, geografiska platser och säljarnamn.

Ett stjärnschema som har många dimensioner kallas ibland ett tusenfotingsschema . Att ha dimensioner på endast ett fåtal attribut, samtidigt som det är enklare att underhålla, resulterar i frågor med många tabellkopplingar och gör stjärnschemat mindre lätt att använda.

Faktatabeller

Faktatabeller registrerar mätningar eller mätvärden för en specifik händelse. Faktatabeller består i allmänhet av numeriska värden och främmande nycklar till dimensionsdata där beskrivande information förvaras. Faktatabeller är utformade med en låg nivå av enhetlig detalj (kallad "granularitet" eller "korn"), vilket innebär att fakta kan registrera händelser på en mycket atomär nivå. Detta kan resultera i ackumulering av ett stort antal poster i en faktatabell över tid. Faktatabeller definieras som en av tre typer:

  • Transaktionsfaktatabeller registrerar fakta om en specifik händelse (t.ex. försäljningshändelser)
  • Snapshot-faktatabeller registrerar fakta vid en given tidpunkt (t.ex. kontouppgifter i slutet av månaden)
  • Ackumulerande ögonblicksbildstabeller registrerar aggregerade fakta vid en given tidpunkt (t.ex. total månadsförsäljning för en produkt)

Faktatabeller tilldelas i allmänhet en surrogatnyckel för att säkerställa att varje rad kan identifieras unikt. Denna nyckel är en enkel primärnyckel.

Måtttabeller

Dimensionstabeller har vanligtvis ett relativt litet antal poster jämfört med faktatabeller, men varje post kan ha ett mycket stort antal attribut för att beskriva faktadata. Dimensioner kan definiera en mängd olika egenskaper, men några av de vanligaste attributen som definieras av dimensionstabeller inkluderar:

  • Tidsdimensionstabeller beskriver tid på den lägsta nivån av tidsgranularitet för vilken händelser registreras i stjärnschemat
  • Geografidimensionstabeller beskriver platsdata, till exempel land, stat eller stad
  • Produktdimensionstabeller beskriver produkter
  • Anställda dimensionstabeller beskriver anställda, till exempel säljare
  • Tabeller för intervalldimensioner beskriver tidsintervall, dollarvärden eller andra mätbara kvantiteter för att förenkla rapportering

Dimensionstabeller tilldelas vanligtvis en surrogatprimärnyckel , vanligtvis en heltalsdatatyp med en kolumn, mappad till kombinationen av dimensionsattribut som bildar den naturliga nyckeln.

Fördelar

Stjärnscheman är denormaliserade , vilket innebär att de typiska normaliseringsreglerna som tillämpas på transaktionsrelationsdatabaser är lättade under stjärnschemadesign och implementering. Fördelarna med stjärnschema-denormalisering är:

  • Enklare frågor – star-schema join-logic är i allmänhet enklare än join-logiken som krävs för att hämta data från ett mycket normaliserat transaktionsschema.
  • Förenklad logik för affärsrapportering – jämfört med mycket normaliserade scheman förenklar stjärnschemat vanliga affärsrapporteringslogik, såsom period-över-period och rapportering från och med.
  • Frågeprestandavinster – stjärnscheman kan ge prestandaförbättringar för skrivskyddade rapporteringsapplikationer jämfört med mycket normaliserade scheman.
  • Snabba aggregering – de enklare frågorna mot ett stjärnschema kan resultera i förbättrad prestanda för aggregeringsoperationer.
  • Matningskuber – stjärnscheman används av alla OLAP- system för att effektivt bygga proprietära OLAP-kuber ; Faktum är att de flesta större OLAP-system tillhandahåller ett ROLAP- driftläge som kan använda ett stjärnschema direkt som en källa utan att bygga en proprietär kubstruktur.

Nackdelar

Den största nackdelen med stjärnschemat är att det inte är lika flexibelt vad gäller analytiska behov som en normaliserad datamodell. [ citat behövs ] Normaliserade modeller tillåter att alla typer av analytiska frågor exekveras, så länge de följer affärslogiken som definieras i modellen. Stjärnscheman tenderar att vara mer specialbyggda mot en viss vy av data och tillåter därför inte riktigt mer komplexa analyser. [ citat behövs ] Stjärnscheman stöder inte lätt många-till-många-relationer mellan affärsenheter. Typiskt förenklas dessa relationer i ett stjärnschema för att överensstämma med den enkla dimensionsmodellen.

En annan nackdel är att dataintegriteten inte upprätthålls väl på grund av dess denormaliserade tillstånd [ citat behövs ] . Engångsinfogningar och uppdateringar kan resultera i dataavvikelser, vilket normaliserade scheman är utformade för att undvika. Generellt sett laddas stjärnscheman på ett mycket kontrollerat sätt via batchbearbetning eller nästan realtids "trickle feeds", för att kompensera för bristen på skydd som ges av normalisering .

Exempel

Stjärnschema som används av exempelfrågan.

Tänk på en databas med försäljning, kanske från en butikskedja, klassificerad efter datum, butik och produkt. Bilden av schemat till höger är en stjärnschemaversion av exempelschemat som finns i artikeln om snöflingaschema .

Fact_Sales är faktatabellen och det finns tre dimensionstabeller Dim_Date , Dim_Store och Dim_Product .

Varje dimensionstabell har en primärnyckel i sin Id- kolumn, relaterad till en av kolumnerna (visas som rader i exempelschemat) i tabellen Fact_Sales trekolumn (sammansatt) primärnyckel ( Date_Id , Store_Id , Product_Id ). Den icke-primära nyckelkolumnen Units_Sold i faktatabellen i detta exempel representerar ett mått eller ett mått som kan användas i beräkningar och analys. De icke-primära nyckelkolumnerna i dimensionstabellerna representerar ytterligare attribut för dimensionerna (t.ex. året för dimensionen Dim_Date) .

Till exempel svarar följande fråga på hur många TV-apparater som har sålts, för varje märke och land, 1997:


	
	  
	

  
          
         
       

        

 
	
	 VÄLJ  P  .  Brand  ,  S  .  Land  AS  Länder  ,  SUM  (  F.  Units_Sold  )  FROM  Fact_Sales  F  INNER  JOIN  Dim_Date  D  ON  (  F  .  Date_Id  =  D.  Id  )  INNER  JOIN  Dim_Store  S  ON  (  F  .  Store_Id  =  S.  Id  )  INNER  JOIN  I  Dim_Product  P  .  _  _  _  _  _  _  =  P.  Id  )  VAR  D  .  _  År  =  1997  OCH  P  .  Product_Category  =  'tv'  GRUPPER  AV  P  .  Brand  ,  S  .  Land 

Se även

externa länkar