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
[Bearbeiten | Quelltext bearbeiten]Gegeben ist ein globales Schema mit zwei Relationen:
Person: Ausweisnummer, Name, Jahrgang
Adresse: Ausweisnummer, Ort
Diese sollen als Sicht auf die folgenden lokalen Schemata dargestellt werden:
Q1: Ausweisnummer, Name, Ort
Q2: Name, Ausweisnummer, Jahrgang
Q3: Ausweisnummer, Jahrgang, Beruf
Für die Adressen kann nur Quelle Q1
herangezogen werden (in SQL-Syntax):
CREATE VIEW Adresse AS
SELECT Ausweisnummer, Ort
FROM Q1
Personendaten sind bis auf den Beruf in der Quelle Q2
und in Kombination in Q1
und Q3
enthalten:
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
Nebenbedingungen des globalen Schemas können übernommen werden. Falls beispielsweise nur Personen aus München berücksichtigt werden sollen, ist die Sicht der Adressen:
CREATE VIEW Adresse AS
SELECT Ausweisnummer, Ort
FROM Q1
WHERE Ort="München"
Anfragebearbeitung
[Bearbeiten | Quelltext bearbeiten]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:
SELECT *
FROM Person
würde dann übersetzt werden in:
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
Literatur
[Bearbeiten | Quelltext bearbeiten]- 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