SchemaSQL

from Wikipedia, the free encyclopedia

SchemaSQL is a query language that extends SQL so that queries can be made not only about data, but also about several ( relational ) databases and their structure in the form of tables and field names .

While in SQL variables can only be used as placeholders for tuples ( data sets ) and values, in SchemaSQL the names of databases, relations and attributes can also be used as variables. This enables joint inquiries via several databases with different structures. A variable is defined in the form Bereich Variablewhereby the following areas are possible:

  • The expression -> for the set of all names of all available databases
  • The expression db-> for the set of all names of relations (tables) in the databasedb
  • The expression db::rel for the set of all tuples of relindb
  • The expression db::rel-> for the set of all attribute names of relindb
  • The expression db::rel.attr for the set of values ​​in the column or columns attrof relindb

Extensions / advantages of SchemaSQL:

  • same treatment of data and metadata
  • Restructuring within the request (i.e. data becomes metadata and vice versa)
  • dynamic view definitions (i.e. the structure of the result of the view definition can depend on the current state of the database)
  • horizontal aggregation (i.e. across multiple columns) or block aggregation (when horizontal is combined with vertical (standard SQL))
  • Support of multidatabase systems (MDBS)

See also

A related database language is the Multidatabase query language (MDBQL).

literature

  • Laks Lakshmanan, Fereidoon Sadri, Subramanian: SchemaSQL: An extension to SQL for multidatabase interoperability . In: ACM Transactions on Database Systems 26 (4) pp. 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 pp. 239-250

Web links