Enzyklopädie > Artikel
Schemafreiheit
Ein Schema einer Datenbank definiert die Struktur der Daten, etwa Anzahl und Typ von Attributen einer Tabelle in einem relationalen Datenbankmanagementsystem. Ein Datenbankmanagementsystem, welches Schemata unterstützt, weist in der Regel Daten, die dieser Struktur nicht entsprechen, zurück. Damit können die Applikationen auf eine zumindest formale Datenqualität vertrauen.
Eine schemafreie Datenbank ist in der Lage auch schwächer strukturierte Daten abzuspeichern. Document Stores und Wide Column Stores sind typische Vertreter dieser Klasse. Ein Datensatz kann dort Spalten mit zuvor nicht definierten Namen und Typen haben, und die Menge der Spalten kann auch bei jedem Datensatz eine andere sein.
Schemafreie Datenbanken eignen sich natürlich besonders dann, wenn die zu verarbeitenden Daten keine natürliche, einheitliche Struktur haben. Will man beispielsweise die Waren, die von einem Händler angeboten werden, modellieren, dann werden sehr viele Artikel vollkommen unterschiedliche Attribute haben, etwa Festplatten und Monitore. Eine schemafreie Abspeicherung könnte hier die am besten geeignete Variante sein, die auch bei neu hinzukommenden Arten von Artikeln keinen Aufwand in der Datenmodellierung benötigt. Die Applikation muss natürlich trotzdem mit neuen Strukturen umgehen können.
Durch die Schemafreiheit gewinnt man an Flexibilität, aber man verzichtet auf die Prüfung der Daten durch das DBMS.