SchemaSQL
SchemaSQL ist eine Anfragesprache, die SQL dahingehend erweitert, dass Anfragen nicht nur über Daten, sondern auch über mehrere (relationale) Datenbanken und deren Struktur in Form von Tabellen und Feldnamen gestellt werden können.
Während in SQL Variablen nur als Platzhalter für Tupel (Datensätze) und Werte verwendet werden können, lassen sich in SchemaSQL auch die Namen von Datenbanken, Relationen und Attributen als Variablen benutzen. Damit sind gemeinsame Anfragen über mehrere Datenbanken mit verschiedenen Strukturen möglich. Die Definition einer Variable erfolgt in der Form Bereich Variable wobei folgende Bereiche möglich sind:
- Der Ausdruck
->für die Menge aller Namen aller verfügbaren Datenbanken - Der Ausdruck
db->für die Menge aller Namen von Relationen (Tabellen) in Datenbankdb - Der Ausdruck
db::relfür die Menge aller Tupel vonrelindb - Der Ausdruck
db::rel->für die Menge aller Attributnamen vonrelindb - Der Ausdruck
db::rel.attrfür die Menge der Werte in der oder den Spaltenattrvonrelindb
Erweiterungen/Vorteile von SchemaSQL:
- gleiche Behandlung von Daten und Metadaten
- Umstrukturierungen innerhalb der Anfrage (d. h. Daten werden zu Metadaten und umgekehrt)
- dynamische Sicht-Definitionen (d. h. die Struktur des Ergebnisses der Sicht-Definition kann abhängig sein vom aktuellen Zustand der Datenbank)
- horizontale Aggregation (d. h. über mehrere Spalten hinweg) bzw. Blockaggregation (wenn horizontale mit vertikaler (Standard-SQL) verbunden wird)
- Unterstützung von Multidatabase Systems (MDBS)
Siehe auch
Eine verwandte Datenbanksprache ist die Multidatabase query language (MDBQL).
Literatur
- Laks Lakshmanan, Fereidoon Sadri, Subramanian: SchemaSQL: An extension to SQL for multidatabase interoperability. In: ACM Transactions on Database Systems 26(4) S. 476–519, 2001
- Laks Lakshmanan, Fereidoon Sadri, Subramanian: SchemaSQL - A Language for Interoperability in Relational Multidatabase Systems. In: Proceedings of the 22nd International Conference on Very Large Databases, 1996 S. 239–250
Weblinks
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.