====== Das Drei-Ebenen-Schema ======
Zur Unterstützung der Datenunabhängigkeit wurde das Drei-Ebenen-Schema entwickelt.
{{:dbs:sql:db6.jpg|Drei-Ebenen-Schema}}
===== Konzeptionelle Ebene =====
Die Konzeptionelle Ebene bildet die Basis für die interne bzw. die externe Ebene des Schemas. Hier hat man eine logische Gesamtsicht auf die Daten.
Dieser Teil des Schemas wird mit der DDL (Data Description Language) beschrieben.
===== Interne Ebene =====
Die Interne Ebene beschreibt wie die Daten gespeichert sind bzw. welche Techniken dazu verwendet werden. (z.B.: Hashing, Felder, Pointer, ...)
===== Externe Ebene =====
In der externen Ebene wird festgelegt, wie die Daten dem User präsentiert werden.
===== Mapping =====
Unter "Mapping" versteht man das Verbinden der 3 oben genannten Ebenen. Dabei stellt das Mapping die Transformationsregeln dar, welche beschreiben wie sich ein Element einer oberen Ebene aus ein oder mehreren Objekten einer unteren Ebene zusammenstellen.
===== Physiche Datenunabhängigkeit =====
Physische Datenunabhängigkeit oder auch Implementierungsunabhängigkeit besagt, dass Änderungen an der Speicherung der Daten nicht das Ergebnis einer Abfrage ändern dürfen.
===== Logische Datenunabhängigkeit =====
Änderungen in der konzeptionellen Ebene dürfen keine Auswirkungen auf die Externe Ebene haben.