Die Wahl des rich­ti­gen Daten­bank­sche­mas ist ent­schei­dend für die Effi­zi­enz und Leis­tungs­fä­hig­keit einer Daten­bank. In die­sem Bei­trag wer­fen wir einen genaue­ren Blick auf meh­rere gän­gi­gen Modelle: das Star‑, das Anker, das Snow­flake, das Hierarchie‑, das Netz­werk- und das Dokumenten-Schema. 

Diese unter­schei­den sich in ver­schie­de­nen Grund­an­nah­men, ihrer Join-Kom­ple­xi­tät und der damit ver­bun­de­nen Skript-Kom­ple­xi­tät, sowie der Effi­zi­enz jener ver­schie­de­nen Abfragen. 

1. Star­schema: Sim­pel, aber effek­tiv 

Das Star­schema ist eines der grund­le­gends­ten Daten­bank­sche­mata. Es besteht aus einer zen­tra­len Fak­ten­ta­belle, die mit meh­re­ren Dimen­si­ons­ta­bel­len ver­bun­den ist. Diese Struk­tur bil­det eine stern­för­mige Anord­nung, wobei die Fak­ten­ta­belle den Mit­tel­punkt dar­stellt. Die­ses Schema ist beson­ders geeig­net für ein­fa­che Abfra­gen und Report­ing-Auf­ga­ben. Die leichte Struk­tur ermög­licht es mit weni­gen Joins alle not­wen­di­gen Infor­ma­tio­nen zu ertei­len. 
 
Vor­teile:    

  • Ein­fach­heit: Die Struk­tur ist leicht ver­ständ­lich und ein­fach zu implementieren. 
  • Leis­tung: Abfra­gen sind effi­zi­ent und schnell, da die Bezie­hun­gen klar defi­niert sind. 
     

Nach­teile: 

  • Red­un­danz: Es kann zu mode­ra­ter Red­un­danz kom­men, was den Spei­cher­platz beein­träch­ti­gen könnte. 
  • Begrenzte Fle­xi­bi­li­tät: Das Schema ist auf spe­zi­fi­sche Geschäfts­pro­zesse zuge­schnit­ten und kann sich bei sich ändern­den Anfor­de­run­gen als unfle­xi­bel erwei­sen. 
     

Bei­spiel: 
In einem Ein­zel­han­dels­da­ten­bank­mo­dell könnte die Fak­ten­ta­belle Trans­ak­tio­nen ent­hal­ten, wäh­rend Dimen­si­ons­ta­bel­len Pro­dukte, Kun­den und Zeit repräsentieren. 

A maintable referencing four other tables.
Eine Haupt­ta­belle, die vier wei­tere Tabel­len refenziert.

 
2. Anker­schema: Viel­sei­tig­keit in Beziehungen 

Das Anker­schema erwei­tert das Kon­zept des Star­sche­mas, indem es meh­rere Fak­ten­ta­bel­len ermög­licht, die gemein­same Dimen­sio­nen tei­len. Dadurch wird eine höhere Fle­xi­bi­li­tät in der Daten­mo­del­lie­rung erreicht. Es ermög­lich kom­plexe Bezie­hun­gen zwi­schen Daten darzustellen. 

Das bes­sere Split­ting der Daten kann mehr Red­un­dan­zen ver­hin­dern, ver­langt aber auch kom­ple­xere Joins, was die Abfra­geleis­tung redu­zie­ren könnte. 

Vor­teile: 

  •     Viel­sei­tig­keit: Geeig­net für kom­plexe Daten­mo­delle mit ver­schie­de­nen Beziehungen. 
  •     Effi­zi­ente Nut­zung von Dimen­sio­nen: Gemein­same Dimen­sio­nen kön­nen effi­zi­ent genutzt werden. 

Nach­teile: 

  •     Kom­ple­xi­tät: Das Schema erfor­dert mehr Auf­wand bei der Ver­wal­tung und Opti­mie­rung von
    Abfragen. 
  •     Poten­zi­elle Leis­tungs­ein­bu­ßen: Die Viel­sei­tig­keit kann zu Leis­tungs­ein­bu­ßen führen. 


Bei­spiel: 
In einem Unter­neh­mens­kon­text könnte das Anker­schema ver­schie­dene Fak­ten­ta­bel­len für Ver­kaufs- und Finanz­trans­ak­tio­nen haben, die gemein­same Dimen­sio­nen wie Kun­den und Zeit teilen. 

3. Snow­flake­schema: Nor­ma­li­sie­rung für Effizienz 

Das Snow­flake­schema baut auf dem Star­schema auf, indem es Dimen­si­ons­ta­bel­len wei­ter nor­ma­li­siert. Nor­ma­li­sie­rung bedeu­tet hier, dass Daten in meh­rere mit­ein­an­der ver­bun­de­nen Tabel­len wei­ter auf­ge­teilt wer­den, um Red­un­danz zu mini­mie­ren. Dies führt zu einer opti­mier­ten Spei­cher­nut­zung, aber mit zuneh­men­der Nor­ma­li­sie­rung geht stehts auch eine zuneh­mende Abfra­ge­kom­ple­xi­tät einher. 

Vor­teile: 

  •     Effi­zi­ente Spei­cher­nut­zung: Die Nor­ma­li­sie­rung führt zu einer effi­zi­en­ten Speichernutzung. 
  •     Daten­in­te­gri­tät: Durch die mini­mierte Red­un­danz wird eine hohe Daten­in­te­gri­tät gewährleistet. 

Nach­teile: 

  •     Kom­ple­xere Abfra­gen: Abfra­gen kön­nen auf­grund der Nor­ma­li­sie­rungs­schritte kom­ple­xer sein. 
  •     Erhöh­ter War­tungs­auf­wand: Die Struk­tur erfor­dert mehr Auf­merk­sam­keit bei der Wartung. 


Bei­spiel: 
In einem Lager­ver­wal­tungs­sys­tem könnte das Snow­flake­schema eine nor­ma­li­sierte Dimen­si­ons­ta­belle für Pro­dukte ent­hal­ten, die Infor­ma­tio­nen zu Lie­fe­ran­ten und Kate­go­rien sepa­rat refe­ren­ziert. 
 
Es ist gene­rell wich­tig die Stär­ken und Schwä­chen jedes Sche­mas zu ken­nen, um die opti­male Model­lie­rungs­me­thode wäh­len zu kön­nen. Bis hier haben wir fest­ge­stellt, dass mit zuneh­men­der Nor­ma­li­sie­rung stehts eine kom­plexe Abfrage, und damit auch ein höhe­rer Ent­wick­lungs­auf­wand für Skripte, ein­her­geht. Im Fol­gen­den wol­len wir uns drei wei­te­ren, weni­ger häu­fig dis­ku­tier­ten Sche­mata anneh­men und auch ihre Vor- und Nach­teile diskutieren. 

Im Gegen­satz zum Star-Schema wer­den auch Unter­ta­bel­len wei­ter referenziert.

 
 
4. Hier­ar­chi­sches Schema: Struk­tu­rierte Ordnung 

Das hier­ar­chi­sche Schema orga­ni­siert Daten in einer baum­ähn­li­chen Struk­tur, wobei jeder Daten­satz einen über­ge­ord­ne­ten Daten­satz hat, außer dem Wur­zel­ele­ment. Es ist beson­ders geeig­net für Daten mit kla­ren hier­ar­chi­schen Bezie­hun­gen. Die klare Struk­tur lässt sich initial leicht auf­bauen, kann jedoch, falls Anpas­sung an den Struk­tu­ren not­wen­dig, sind, große War­tungs­auf­wände mit sich brin­gen. Auch sollte außer­dem die schnell wach­sende Abfrage-Kom­ple­xi­tät wie­der erwähnt wer­den, da diese bereits bei einem dou­ble-Split mit einer zwei­tenr Potenz wächst. 
 
Vor­teile: 

  •     Struk­tu­rierte Ord­nung: Ein­fa­che Struk­tur für die Dar­stel­lung hier­ar­chi­scher Beziehungen. 
  •     Effi­zi­ente Navi­ga­tion: Schnelle Navi­ga­tion in Baumstrukturen. 

Nach­teile: 

  •     Begrenzte Fle­xi­bi­li­tät: Weni­ger geeig­net für kom­plexe Beziehungen. 
  •     War­tungs­auf­wand: Her­aus­for­dernd bei Ände­run­gen in der Hierarchie. 

Bei­spiel: 
Ein Orga­ni­gramm einer Orga­ni­sa­tion, das die Hier­ar­chien der Mit­ar­bei­ter zeigt. 

 
5. Netz­werk-Schema: Fle­xi­ble Verknüpfungen 

Das Netz­werk-Schema erwei­tert das hier­ar­chi­sche Modell, indem es erlaubt, dass ein Daten­satz meh­rere über­ge­ord­nete Daten­sätze haben kann. Dies ermög­licht die Dar­stel­lung von kom­ple­xen Bezie­hun­gen, ins­be­son­dere viele-zu-viele Bezie­hun­gen. Dies schwächt den War­tungs­ef­fekt des hier­ar­chi­schen Sche­mas etwas ab, behält jedoch das Kom­ple­xi­tät Pro­blem bei. Auch geht, im Ver­hält­nis zu sei­nem Vor­her­gän­ger, die trans­pa­rente Archi­tek­tur etwas verloren 

Vor­teile: 

  •     Fle­xi­ble Ver­knüp­fun­gen: Ermög­licht die Dar­stel­lung kom­ple­xer Beziehungen. 
  •     Effi­zi­ente Abbil­dung: Gut geeig­net für viele-zu-viele Beziehungen. 

Nach­teile: 

  •     Kom­ple­xi­tät: Erhöhte Kom­ple­xi­tät bei der Abfra­ge­op­ti­mie­rung und Wartung. 
  •     Weni­ger intui­tiv: Nicht so intui­tiv wie hier­ar­chi­sche oder rela­tio­nale Modelle. 

Bei­spiel: 
Ein Netz­werk-Schema könnte für die Dar­stel­lung von Wech­sel­be­zie­hun­gen zwi­schen ver­schie­de­nen Flug­hä­fen in einem Luft­ver­kehrs­sys­tem ver­wen­det wer­den. Dor­tige Abrei­sen und Ankünfte könn­ten mit sepa­ra­ten Daten­struk­tu­ren trotz­dem ver­knüpft werden.

 
6. Doku­men­ten-Schema: Fle­xi­ble Struktur 

Das Doku­men­ten-Schema orga­ni­siert Daten als Doku­mente, oft im JSON- oder XML-For­mat. Diese fle­xi­ble Struk­tur ist ideal für unstruk­tu­rierte Daten oder sich ändernde Anfor­de­run­gen. Die fle­xi­ble Tabel­len­struk­tur erlaubt einen ein­fa­chen Umgang mit sich schnell ändern­den Daten­quel­len, ist aber nicht so opti­miert wie klas­si­sche rela­tio­nale Daten­bank-Struk­tu­ren. Auch wird diese Struk­tur häu­fig nicht von allen Daten­ban­ken unter­stützt. 
 
Vor­teile: 

  •     Fle­xi­ble Struk­tur: Geeig­net für unstruk­tu­rierte oder sich ändernde Daten. 
  •     Natür­li­che Dar­stel­lung: Natür­li­che Dar­stel­lung von kom­ple­xen Objekten. 

Nach­teile: 

  •     Kom­ple­xi­tät bei Abfra­gen: Kann bei Abfra­gen mit tief ver­schach­tel­ten Struk­tu­ren kom­plex werden. 
  •     Nicht opti­mal für rela­tio­nale Daten: Weni­ger effi­zi­ent für stark struk­tu­rierte rela­tio­nale Daten. 

Bei­spiel: 
In einem Con­tent-Manage­ment-Sys­tem könn­ten Arti­kel als Doku­mente mit Eigen­schaf­ten wie Titel, Autor und Inhalt reprä­sen­tiert wer­den. Bezie­hun­gen zwi­schen den Doku­men­ten könn­ten durch eine Kom­bi­na­tion mit den ande­ren Sche­mata dar­ge­stellt werden. 


 
Die Viel­falt von Hier­ar­chi­schem, Netz­werk- und Doku­men­ten-Schema bie­tet Lösun­gen für ver­schie­dene Anfor­de­run­gen. Die Aus­wahl eines Sche­mas hängt von der Art der Daten, den Bezie­hun­gen und den spe­zi­fi­schen Anfor­de­run­gen der Anwen­dung ab. 

An die­ser Stelle wol­len wir nun aber die Frage beant­wor­ten: Bei der Wahl des rich­ti­gen Daten­bank­sche­mas, was ist am öftes­ten gewählte?

Das am meis­ten ver­wen­dete Schema: Das Starschema 

Das Star­schema hat sich als eines der am häu­figs­ten ver­wen­de­ten Daten­bank­sche­mas in Unter­neh­men eta­bliert. Seine ein­fa­che Struk­tur und effi­zi­ente Leis­tung machen es zu einer belieb­ten Wahl, ins­be­son­dere für Busi­ness Intel­li­gence und Report­ing. Auch die, im Ver­gleich zu ande­ren Model­lie­rungs-Sche­mata, ein­fa­che Skript Gene­rie­rung macht das Star­schema beson­ders attrak­tiv für viele Anwen­der. 
 
Daten­bank­sche­mata bie­ten Lösun­gen für unter­schied­lichste Anfor­de­run­gen. Auch wenn das Star­schema in vie­len Unter­neh­men häu­fig anzu­tref­fen ist, gewin­nen auch andere Sche­mata wie das Doku­men­ten-Schema auf­grund ihrer Fle­xi­bi­li­tät an Beliebt­heit. 
 
Zusam­men­fas­send hängt die Wahl des Sche­mas ab von

  • Der Art der Daten
  • Den Bezie­hun­gen zwi­schen den Daten
  • Den spe­zi­fi­schen Anfor­de­run­gen der Anwendung. 
  • Der benö­ti­gen Speichereffizienz 
  • Und der ein­her­ge­hen­den Abfrage-Komplexität. 

Es ist ent­schei­dend, die Vor- und Nach­teile jedes Sche­mas zu ver­ste­hen und die Aus­wahl ent­spre­chend den spe­zi­fi­schen Bedürf­nis­sen zu tref­fen. Die Wahl des rich­ti­gen Daten­bank­sche­mas ist kom­pli­ziert und ie stän­dige Ent­wick­lung von Daten­bank­tech­no­lo­gien eröff­net immer neue Mög­lich­kei­ten, und die rich­tige Ent­schei­dung wird immer wich­ti­ger für eine effi­zi­ente Datenbankmodellierung. 

Wei­tere Infor­ma­tio­nen, z.B. über die Grund­la­gen der Daten­mo­del­lie­rung kön­nen hier gefun­den werden.