Global-as-View
Global-as-View (GaV, Global-als-Sicht) ist ein Fachbegriff aus der Informatik, der sich auf die Art der Verarbeitung von Daten bezieht.
Global-as-View bezeichnet ein Muster zur Zusammenführung von Schemata im Rahmen der Informationsintegration. Kernidee ist, dass einzelne Relationen des globalen Schemas als Sichten auf die lokalen Schemata der Datenquellen ausgedrückt werden. Im Gegensatz zum umgekehrten Ansatz Local-as-View, der vom globalen Schema ausgeht, wird Global-as-View vor allem bei der materialisierten Integration – vor allem in Data-Warehouse-Systemen – angewandt.
Nebenbedingungen des globalen Schemas können im Gegensatz zu Nebenbedingungen der lokalen Quellen modelliert werden. Da immer nur eine Relation des globalen Schemas als Sicht modelliert wird, entfallen Assoziationen über mehrere Relationen des globalen Schemas.
Typisches Merkmal der erzeugten Sichten ist eine Vereinigung (UNION) mehrere Quellen. Die dadurch entstehenden Duplikate und unvollständigen Datensätze müssen mittels Duplikaterkennung und Datenfusion zusammengeführt werden (Datenbereinigung).
Mit Global-Local-as-View oder Both-as-View existiert eine Methode, die Eigenschaften von Global-as-View und Local-as-View kombiniert, indem zwischen globalem und lokalem Schema Sichten auf Sichten abgebildet werden.
Beispiel
Gegeben ist ein globales Schema mit zwei Relationen:
Person: Ausweisnummer, Name, JahrgangAdresse: Ausweisnummer, Ort
Diese sollen als Sicht auf die folgenden lokalen Schemata dargestellt werden:
Q1: Ausweisnummer, Name, OrtQ2: Name, Ausweisnummer, JahrgangQ3: Ausweisnummer, Jahrgang, Beruf
Für die Adressen kann nur Quelle Q1 herangezogen werden (in SQL-Syntax):
<syntaxhighlight lang="SQL"> CREATE VIEW Adresse AS
SELECT Ausweisnummer, Ort FROM Q1</syntaxhighlight>
Personendaten sind bis auf den Beruf in der Quelle Q2 und in Kombination in Q1 und Q3 enthalten:
<syntaxhighlight highlight="4" lang="SQL">
CREATE VIEW Person AS SELECT Ausweisnummer, Name, Jahrgang FROM Q2 UNION SELECT Q1.Ausweisnummer, Q1.Name, Q3.Jahrgang FROM Q1, Q3 WHERE Q1.Ausweisnummer = Q3.Ausweisnummer</syntaxhighlight>
Nebenbedingungen des globalen Schemas können übernommen werden. Falls beispielsweise nur Personen aus München berücksichtigt werden sollen, ist die Sicht der Adressen: <syntaxhighlight lang="SQL"> CREATE VIEW Adresse AS
SELECT Ausweisnummer, Ort FROM Q1 WHERE Ort="München"</syntaxhighlight>
Anfragebearbeitung
Die Bearbeitung von Anfragen an das globale Schema ist bei Global-as-View sehr einfach mit geschachtelten Anfragen möglich. Dabei werden Relationen des globalen Schemas direkt durch ihre Sichten auf die lokalen Quellen ersetzt. Es entsteht eine große geschachtelte Anfrage, die durch Umformulierung optimiert werden kann.
Beispiel: Anfrage auf den obigen View: <syntaxhighlight lang="SQL">
SELECT * FROM Person </syntaxhighlight>
würde dann übersetzt werden in: <syntaxhighlight highlight="5,9" lang="sql">
SELECT * FROM ( SELECT Ausweisnummer, Name, Jahrgang FROM Q2 UNION SELECT Q1.Ausweisnummer, Q1.Name, Q3.Jahrgang FROM Q1, Q3 WHERE Q1.Ausweisnummer = Q3.Ausweisnummer ) AS Person
</syntaxhighlight>
Literatur
- Jeffrey Ullmann: Information Integration Using Logical Views. In: Proceedings of the 6th International Conference on Database Theory. Springer, 1997. S. 19–40 ISBN 3-540-62222-5