SchemaSQL
SchemaSQL è un linguaggio di query che estende SQL in modo che le query possano essere effettuate non solo sui dati, ma anche su diversi database ( relazionali ) e sulla loro struttura sotto forma di tabelle e nomi di campo .
Mentre in SQL le variabili possono essere utilizzate solo come segnaposto per tuple ( set di dati ) e valori, in SchemaSQL i nomi di database, relazioni e attributi possono essere utilizzati anche come variabili. Ciò consente indagini congiunte tramite diversi database con strutture diverse. Una variabile è definita nella forma in Bereich Variablecui sono possibili le seguenti aree:
- L'espressione
->per l'insieme di tutti i nomi di tutti i database disponibili - L'espressione
db->per l'insieme di tutti i nomi di relazioni (tabelle) nel databasedb - L'espressione
db::relper l'insieme di tutte le tuple direlindb - L'espressione
db::rel->per l'insieme di tutti i nomi degli attributi direlindb - L'espressione
db::rel.attrper l'insieme di valori nella colonna o nelle colonneattrdirelindb
Estensioni / vantaggi di SchemaSQL:
- parità di trattamento dei dati e dei metadati
- Ristrutturazione all'interno della richiesta (ovvero i dati diventano metadati e viceversa)
- definizioni della vista dinamica (ovvero la struttura del risultato della definizione della vista può dipendere dallo stato corrente del database)
- aggregazione orizzontale (ovvero su più colonne) o aggregazione a blocchi (quando si combina orizzontale con verticale (SQL standard))
- Supporto di sistemi multidatabase (MDBS)
Guarda anche
Un linguaggio di database correlato è il Multidatabase Query Language (MDBQL).
letteratura
- Laks Lakshmanan, Fereidoon Sadri, Subramanian: SchemaSQL: un'estensione di SQL per l'interoperabilità multidatabase . In: Transazioni ACM su sistemi di database 26 (4) pp. 476-519, 2001
- Laks Lakshmanan, Fereidoon Sadri, Subramanian: SchemaSQL - A Language for Interoperability in Relational Multidatabase Systems . In: Atti della 22a conferenza internazionale sui database molto grandi, 1996 pp. 239-250