Wikipedia · einfach zusammengefasst · Stand
SchemaSQL
SchemaSQL ist eine Anfragesprache, die SQL dahingehend erweitert, dass Anfragen nicht nur über Daten, sondern auch über mehrere (relationale) Datenbanken …
Inhalt2 Abschnitte
Grundidee und Zweck
SchemaSQL ist eine Anfragesprache, die SQL erweitert. Mit ihr können Anfragen nicht nur über Daten, sondern auch über mehrere relationale Datenbanken und deren Strukturen gestellt werden. Zur Struktur gehören insbesondere Tabellen und Feldnamen.
In SQL können Variablen nur als Platzhalter für Tupel (Datensätze) und Werte dienen. SchemaSQL erlaubt zusätzlich, die Namen von Datenbanken, Relationen (Tabellen) und Attributen (Feldern beziehungsweise Spalten) als Variablen zu verwenden. Dadurch werden gemeinsame Anfragen über mehrere Datenbanken ermöglicht, auch wenn diese unterschiedliche Strukturen besitzen.
Variablenbereiche und Erweiterungen
Eine Variable wird in der Form „Bereich Variable“ definiert. Mögliche Bereiche sind:
- „->“ bezeichnet die Menge aller Namen aller verfügbaren Datenbanken.
- „db->“ bezeichnet die Menge aller Namen von Relationen in der Datenbank db.
- „db::rel“ bezeichnet die Menge aller Tupel von rel in db.
- „db::rel->“ bezeichnet die Menge aller Attributnamen von rel in db.
- „db::rel.attr“ bezeichnet die Menge der Werte in der oder den Spalten attr von rel in db.
SchemaSQL behandelt Daten und Metadaten, also beschreibende Informationen über Daten und Strukturen, auf gleiche Weise. Innerhalb einer Anfrage sind Umstrukturierungen möglich: Daten können zu Metadaten und Metadaten zu Daten werden. Außerdem lassen sich dynamische Sichten definieren. Dabei kann die Struktur des Ergebnisses vom aktuellen Zustand der Datenbank abhängen.
Weitere Erweiterungen sind die horizontale Aggregation über mehrere Spalten hinweg und die Blockaggregation, bei der horizontale mit vertikaler Aggregation aus Standard-SQL verbunden wird. SchemaSQL unterstützt außerdem Multidatabase Systems (MDBS), also Systeme mit mehreren Datenbanken.