18.11.2012 Aufrufe

Dokument 1 - RWTH Aachen University

Dokument 1 - RWTH Aachen University

Dokument 1 - RWTH Aachen University

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

128 6 Ein Verfahren zur qualitätsorientierten Datenintegration in DW-Systemen<br />

Auf der logischen Ebene werden dann die Relationen als Sicht auf das konzeptuelle Modell<br />

definiert. Zum Beispiel kann man eine Relation FATHER mit den Namen und Geburtstagen von<br />

Vätern und deren Kinder wie folgt definieren:<br />

FATHER(Nf, Df, Nc, Dc) ← Male(F ), Person(C), CHILD(F, C),<br />

name(F, Nf), dob(F, Df), name(C, Nc), dob(C, Dc)|<br />

Nf, Nc :: NameString, Df, Dc :: Date,<br />

Identify([Nf, Df], F ), Identify([Nc, Dc], C)<br />

Der erste Teil der Definition spezifiziert die Extension der Relation in Bezug auf das konzeptuelle<br />

Modell. Der zweite Teil der Anfrage (die Annotation) bestimmt die Domänen der relationalen<br />

Variablen und wie die konzeptuellen Variablen mit den relationalen Variablen zusammenhängen.<br />

Zum Beispiel werden die Objekte, die durch die Variable F repräsentiert werden, durch die<br />

Attribute Name und Geburtstag (Variablen Nf und Df) identifiziert.<br />

Auf diese Weise können die Relationen im DW und in den Datenquellen definiert werden. Die<br />

Datenquellen werden also nach dem Local-as-View-Prinzip (LAV, vgl. Abschnitt 2.2.2) als Sicht<br />

auf das konzeptuelle Modell dargestellt, das in diesem Kontext das integrierte bzw. globale Schema<br />

bildet.<br />

Notwendige Konvertierungen oder Zusammenführungen von Datenwerten bei der Integration<br />

der Daten aus mehreren Datenquellen werden durch die sogenannten Korrespondenzen definiert.<br />

Calvanese et al. [2001] definieren dafür drei Prädikate: convert, match und merge. Das Prädikat<br />

convert steht für Konvertierungen zwischen unterschiedlichen Datentypen, match überprüft, ob<br />

zwei (oder mehrere) Objekte übereinstimmen, und merge bildet n Datenwerte auf einen Wert ab.<br />

Die Semantik dieser Operationen muss als logischer Ausdruck definiert werden.<br />

Diese Prädikate können in der Spezifikation eines Mediators benutzt werden. Das folgende Beispiel<br />

definiert einen Mediator für eine Relation mit den Sozialversicherungsnummern (SSN) von<br />

Vätern und Müttern, die die gleichen Kinder haben:<br />

R(Sf, Sm) ← FATHER(Nf, Df, Nc, Dc), MOTHER(Sm, Sc)<br />

matchperson,ssn([Nc, Dc], Sc), convertperson,ssn([Nf, Df], Sf).<br />

Die Relation FATHER ist definiert wie im obigen Beispiel, die Relation MOTHER ist ähnlich,<br />

jedoch werden die Personen durch die Sozialversicherungsnummer identifiziert. Daher ist die<br />

match-Funktion notwendig, um zu überprüfen, ob die durch die Daten beschriebenen Kinder<br />

übereinstimmen. Die convert-Funktion konvertiert dann Name und Geburtsdatum des Vaters in<br />

eine Sozialversicherungsnummer (z.B. durch den Abgleich mit einem externen Verzeichnis mit<br />

Personendaten).<br />

Die Stärken dieses Ansatzes liegen in der ausdrucksstarken semantischen Darstellung der konzeptuellen<br />

Modelle und der getrennten Betrachtung von logischen Modellen und konzeptuellen<br />

Modellen. Vergleichbare Ansätze, die auch Beschreibungslogiken benutzen, sind die Systeme

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!