Zum Inhalt springen

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): <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