Global-as-View

aus Wikipedia, der freien Enzyklopädie

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, 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

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