Kapitel 9 Schemaabbildung und -integration Schemaintegration

Werbung
Kapitel 9
Schemaabbildung und -integration
Schemaintegration
„
Datenintegration als ein wesentlicher Aspekt der Entwicklung neuer, globaler
Informationssysteme
„
„
Randbedingung: Autonomie der beteiligten lokales Systeme soll erhalten bleiben
Verschiedene Systemarchitekturen möglich
„
Föderiertes DBS
„
„
„
„
Data Warehouse
„
„
„
„
logische Datenintegration
Föderierungsdienst integriert lokale Komponentensysteme in ein Gesamtsystem
Einheitlicher Zugriff auf integrierten Datenbestand
physische Datenintegration
Daten aus verschiedenen Quellsystemen werden in ein gemeinsames Format kopiert
komplexe Auswertung und Analyse auf integriertem und aufbereitetem Datenbestand
Schemaintegration(1) ist ein zentrales Problem
Conrad: Schemaintegration: Integrationskonflikte, Lösungsansätze, aktuelle
Herausforderungen, in Informatik Forschung und Entwicklung 17(3), 2002.
(1)S.
2
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Schema-Referenzarchitektur
globales DM
externes Schema
externes Schema
föderiertes Schema
Schemaintegration
Exportschema
Exportschema
Komponentenschema
Komponentenschema
lokales Schema
lokales Schema
lokales DM
Zuschnitt auf Anwendung,
Benutzergruppen
Ausschnittbildung
Datenmodelltransformation
lokaler Schemaentwurf
3
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Komponenten der Schema-Referenzarchitektur
„
Lokales Schema
„
„
„
Komponentenschema
„
„
„
entspricht dem konzeptionellen Schema der lokalen Datenbank
basiert auf lokalem Datenmodell
Beschreibung der lokalen Datenbank in globalem Datenmodell
Überwindung der DM-Heterogenität
Exportschema
„
„
Beschreibung des Ausschnitts der lokalen Daten, die für globale Anwendungen zur
Verfügung stehen sollen
Festlegung in der Praxis oft lokal durch das Komponentensystem getroffen
„
„
Föderiertes Schema
„
„
„
"Vertauschen" von Exportschema und Komponentenschema
beschreibt die Gesamtheit des föderierten Datenbestandes
wird durch Schemaintegration gebildet
Externes Schema
„
entspricht dem klassischen ext. Schema für das föderierte System
4
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Integrationskonflikte
siehe:
Theo Härder, Günter Sauter, Joachim Thomas: The Intrinsic
Problems of Structural Heterogeneity and an Approach to Their
Solution. VLDB Journal 8(1): 25-43 (1999)
Semantische Heterogenität
„
Bezieht sich auf Modellierungsinhalte
semantische Heterogenität
Unschärfe komplexer Gebilde
unklare
Elemente
fehlender
Kontext
Sprache
Begriffsungenauigkeit
Komplexität
ausdrucksschwache
Bezeichnung
Abkürzungen
z. B. ‘A’
lexikalische
Definition
z. B. ‘Schloss’
6
AG Heterogene Informationssysteme
undefiniert
z. B. ‘Meta-Step’
Umfang
z. B. Ausmaß
von ‘Stückliste’
ausdrucksstarke
Bezeichnung
Homonyme
Synonyme
Abkürzungen
z. B. ‘EDM’ =
Engineering- / ElektricDaten-Management
Middleware für Verteilte
Informationssysteme - WS03/04
Strukturelle Heterogenität
„
„
Bezieht sich auf die jeweils zur Verfügung stehenden Modellierungskonstrukte
Szenario
Q1, ... Qn
Z’
Z
Z
Q1, ... Qn
Quell-DBS, Legacy oder
Anwendungssysteme
Integrierte/heterogene Sicht
(Zielschema bzw. -system)
Z
Schema-Integration
(Datentransfer nach Anfrage)
Q1
„
Q2 ... Qk ... Qn
Z
Q1, ...Qn
Propagierung von Änderungen
Z
Z’ Migration
Schemata sind kongruent, wenn sie semantisch identische Objekttypen und
Eigenschaften beinhalten
„
„
meist inkongruent, überlappend
Kongruenzeigenschaft zwischen Quell- und Zielschema (vertikal) oder zwischen
versch. Quellschemata (horizontal)
7
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Probleme der strukturellen Heterogenität
„
Problembereiche
„
„
„
„
„
„
Elementare Abbildungsprobleme
Probleme durch den Einsatz objektorientierter Datenmodelle
Abbildungskardinalität
Schemakardinalität
Weitere Probleme
Ausgangsszenario (Betrachtung elementarer Probleme)
„
„
„
homogene, relationale Schemata
transiente Verwaltung der Zieldaten
unidirektionale (1:1)-Beziehung: Q → Z
8
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Vertikale Kongruenz
„
Projektion: Z beschreibt kleineren Ausschnitt des Anwendungsbereichs als Q
„
„
View-Update-Problematik
Beispiel:
Q
Teil
SNR
erstellt_von
Pers
PersNr
Name
Z
Teil
SachNr
erstellt_von
PS/FS
„
Q beschreibt kleineren Ausschnitt als Z
„
„
häufig bei integrierten Sichten
Beispiel:
Q
Teil
SachNr
Konstr_Bereich
Preis
Teil
SachNr
Preis
Z
Middleware für Verteilte
Informationssysteme - WS03/04
9
AG Heterogene Informationssysteme
Vertikale Datenverteilung
„
Z verwaltet mehr Daten als Q
„
„
z. B. abgeleitete Attribute, die in Q nicht enthalten
Beispiel: in Q Nullwerte für Preis erlaubt, nicht jedoch in Z
Q
„
Teil
SachNr
Konstr_Bereich
Preis
Teil
SachNr
Preis
Z
Selektion: Z erfasst weniger Daten als Q
„
„
über Prädikate zu erfassen
Beispiel
Q
Prädikat: “nur Konstruktionsbereiche
‘A’ und ‘B’ aus Q”
Teil
SachNr
Konstr_Bereich
Preis
Teil
SachNr
Preis
10
AG Heterogene Informationssysteme
Z
Middleware für Verteilte
Informationssysteme - WS03/04
Datentypkorrespondenz
„
„
Unterstützung unterschiedlicher Datentypen durch Q und Z
Problem: finde Abbildung, die semantikerhaltende Rücktransformation erlaubt
„
„
Beispiel: REAL (Q) → INTEGER (Z) durch Rundung
(genaue Rücktransformation nicht möglich)
generell: korrekte und vollständige Transformation von Daten eines semantisch
mächtigeren Modells in ein semantisch ärmeres Modell kann nicht durchgeführt
werden!
Middleware für Verteilte
Informationssysteme - WS03/04
11
AG Heterogene Informationssysteme
Attributkorrespondenz
„
Zusammenhang zwischen Attributen aus Q und Z
„
„
„
„
Verknüpfung/Aggregation ‘nach’ Z
Trennung ‘nach’ Q ?
bedingte Abbildung (sowohl bzgl. der Zuordnung der Attribute als auch bzgl. der
Abbildung der Werte)
Beispiel für (n:m)-Zusammenhang
Q
Felge
Mittelpunkt_x
Mittelpunkt_y
Radius
„
„
Felge
Punkt1_x
Punkt1_y
Punkt2_x
Punkt2_y
Punkt3_x
Punkt3_y
Z
i.a. komplexe Berechnungsfunktionen notwendig für die Umrechnung von Q ‘nach’
Z
(komplexe) Berechnungsfunktionen für die Umrechnung von Z ‘nach’ Q ?
12
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Entitykorrespondenz
„
(n:1)-Zusammenhang zwischen Entities aus Q und Z
„
„
Instanzen aus Q, die einem Entity in Z entsprechen, müssen identifiziert werden
können
(1:n)-Zusammenhang zwischen Entities aus Q und Z
Q
„
„
„
Kabel
Ende_1
Ende_2
Leitung
Ende1_x
Ende1_y
Ende2_x
Ende2_y
Z
Endpunkt
x_Koordinate
y_Koordinate
kontextabhängige Abbildung (Q → Z): Endpunkte können nur im entsprechenden
‘Kabel’-Kontext (in Z) instanziiert werden
Verdrängungsabhängigkeit (Z → Q):
in Z könnte für ein Kabel nur ein Endpunkt instanziiert sein; dann kann keine
korrespondierende Leitungsinstanz in Q erzeugt werden
(n:m)-Zusammenhang: alle Probleme können auftreten
Middleware für Verteilte
Informationssysteme - WS03/04
13
AG Heterogene Informationssysteme
Vernetzung von Quellkonstrukten
„
„
„
abhängige Quellentities
vgl. Entitykorrespondenz
besondere Mechanismen der Abbildung notwendig bei
(n:1)-Abbildung (Zielentity entsteht durch Join)
Q
Teil
SNR
erstellt_von
Pers
PersNr
Name
Teil
SachNr
erstellt_von
Z
PS/FS
14
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Vernetzung von Zielentities
„
„
abhängige Zielentities
bei Abbildung vernetzter Quellstrukturen in vernetzte Zielstrukturen können
die Referenzen voneinander abweichen
„
„
z. B. können (gerichtete) Beziehungen invertiert sein
Beziehungstypen zwischen Entities in Q können auf Beziehungstypen zwischen
‘anderen’ Entities in Z abgebildet werden
Q
Teil-Person
erstelltes_Teil
erstellt_von
„
Teil
SachNr
Z
Teil
SachNr
erstellt_von
Person
Name
Person
Name
Anmerkung: dieses Problem tritt häufig bei Abbildungen zwischen normalisierten
relationalen und objektorientierten Schemata auf
Middleware für Verteilte
Informationssysteme - WS03/04
15
AG Heterogene Informationssysteme
Identitätskonflikt
„
Durch Einsatz objektorientierter Datenmodelle
ID-erhaltende Abbildung
„
ID-erzeugende Abbildung
„
„
„
„
„
nicht möglich, falls (n:m)-Verhältnis zwischen Instanzen aus Q und Z mit n < m
Erzeugung der ID bei Erzeugung von Instanz in Z
Zuordnung von neuen IDs zu Instanzen in Z muss jedoch dokumentiert werden,
um Propagierungen zu ermöglichen
hybride Abbildung
„
„
sowohl ID-erhaltende als auch ID-erzeugende Abbildung
Beispiel
Q
Teil
SachNr
Funktionsgruppe
16
AG Heterogene Informationssysteme
Z
Funktionsgruppe
Bezeichnung
Teile: SET
Middleware für Verteilte
Informationssysteme - WS03/04
Abbildung mengenwertiger Attribute
„
„
„
„
„
„
Durch Einsatz objektorientierter Datenmodelle
unterschiedliche Sortierung in Kollektionen erfordert die Beachtung der
entsprechenden Sortierprädikate bei der Transformation
falls geordnete Kollektion aus Q in ungeordnete Kollektion in Z transformiert
wird, kann Propagierung unmöglich gemacht werden
Abbildung einer Instanz mit einem mengenwertigen Attribut in mehrere
Instanzen mit jeweils einwertigem (korrespondierendem) Attribut
Nest-/Unnest-Operationen notwendig
Beispiel:
Z
Q
Kaufauftrag
Kunde
Auftragsbezeichnung
Preis
Sachbeareiter
Kundenwunsch
Kunde
Aufträge: LIST
Preise: LIST
Sachbearbeiter: SET
Middleware für Verteilte
Informationssysteme - WS03/04
17
AG Heterogene Informationssysteme
Abbildung von Abstraktionskonzepten
„
„
„
Durch Einsatz objektorientierter Datenmodelle
Darstellung gleicher Sachverhalte auf unterschiedlichen Abstraktionsebenen
Beispiel: Datenebene vs. Typebene
Q
Z
Teil
SachNr
besteht_aus: SET
Konstrukteur
Teil
SachNr
Einzelteil
Konstrukteur
18
AG Heterogene Informationssysteme
Zusammenbau
besteht_aus: SET
Middleware für Verteilte
Informationssysteme - WS03/04
Abbildung von Abstraktionskonzepten (2)
„
Beispiel: Datentypebene vs. Objektebene
Q
Teil
SachNr
Konstrukteur
Teil
SachNr
erstellt_von
Z
Person
Name
19
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Dynamische Aspekte und Integritätsbedingungen
„
„
zu berücksichtigen: Seiteneffekte von Funktionen, Rückgabewerte von
Methoden, Repräsentation der Zeit, unterschiedliche Programmiersprachen,
...
Abbildung nicht automatisierbar !
20
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Abbildungskardinalität
„
in bisheriger Diskussion Annahme der unidirektionalen Abbildung
„
„
„
„
bzw. impliziter Definition der Rücktransformation
hier jedoch Einschränkungen wie bei View-Update
evtl. mit speziellen Vorkehrungen für Rücktransformation
bidirektionale Abbildung
„
„
Q → Z und Z → Q
explizite Definition der Rücktransformation
Middleware für Verteilte
Informationssysteme - WS03/04
21
AG Heterogene Informationssysteme
Abbildungskardinalität (Forts.)
„
bidirektionale Abbildung
„
Beispiel: mögliche Semantik bei Änderung des Attributs erstellt_von in Z
Q
Teil
SNR
erstellt_von
Pers
PersNr
Name
Teil
SachNr
erstellt_von
Z
PS/FS
„
Beispiel: Checkin-Abhängigkeit
Z
Kabel
ende_1
ende_2
Kabel
Kabelende
ID
ID_ende_1
ID_ende_2
ID
22
AG Heterogene Informationssysteme
Q
(oo. DB)
Middleware für Verteilte
Informationssysteme - WS03/04
Schemakardinalität
„
„
„
In der bisherigen Diskussion Annahme der Zuordnung genau eines
Quellschemas zu genau einem Zielschema (Schemaabbildung)
Nun: mehrere Quellschemata zu einem Zielschema (Schemaintegration)
Horizontale Kongruenz
„
identische Anwendungsbereiche
„
„
„
teilweise überlappende Anwendungsbereiche
„
„
„
„
semantisch gleiche Information, aber unterschiedliche Darstellungsformen und
unterschiedliche ID (Entity-Identifikationsproblem)
Problem der DB-übergreifenden Konsistenz
nicht alle Informationen können in der integrierten Sicht dargestellt werden
impliziert Projektion von Elementen der Quellschemata
höhere Wahrscheinlichkeit der Verwendung unterschiedlicher Darstellungsformen und ID
in den Qi
disjunkte Anwendungsbereiche
„
Integration wenig sinnvoll
23
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Horizontale Datenverteilung
„
disjunkte Verteilung der Daten auf die Qi
„
„
replizierte Verteilung der Daten auf die Qi
„
„
es sind Prädikate zu spezifizieren, anhand derer abgeleitet werden kann, auf
welche Qi neu erzeugte Instanzen aus Z zu propagieren sind
es ist zu beachten, dass Daten unterschiedlich strukturiert und identifiziert werden
können
teilweise überlappende Verteilung der Daten auf die Qi
„
„
Vorkehrungen der beiden vorgenannten Punkte sind zu beachten
beim Integrationsprozess müssen Daten zusammengefügt werden
24
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Weitere Probleme
„
Dauerhaftigkeit von Zieldaten
„
„
„
bisher Annahme der transienten Verwaltung der Zieldaten
persistente Datenhaltung in Z in der Regel nur zur Datenmigration
dabei in der Regel nur unidirektionale Abbildung und keine Propagierung
„
Heterogenität von Datenmodellen
„
Datenstrukturierungsgrad
„
„
„
unterschiedliche Mächtigkeit kann zum Verlust von Information führen
bisher Annahme der Nutzung von ‘strukturierten’ Quellsystemen mit ‘generischen’
Schnittstellen (‘strukturiert’ heißt: es gibt ein Schema; ‘generisch’ heißt:
Datenzugriffsschnittstelle ist unabhängig von der Semantik der Daten)
bei semi-strukturierten Daten (z. B. ADTs, HTML) oder unstrukturierten Daten trifft
dies nicht zu
„
„
hier ist keine Schemaintegration möglich
lediglich operationale, wrapper-basierte Abbildung
25
AG Heterogene Informationssysteme
Schemaintegrationstechniken
Middleware für Verteilte
Informationssysteme - WS03/04
Schemaintegrationstechniken
„
Zusicherungsbasierte Schemaintegration
„
Zusicherungen: Inter-Schema-Korrespondenzen
„
Integrationsregeln
„
„
beschreiben welche Schemabestandteile in Beziehung zueinander stehen
bestimmen wie die korrespondierenden Bestandteile in das integrierte Schema
eingebracht werden
„
Integration von Klassenhierarchien mit Upward Inheritance
„
Generic Integration Model – GIM
„
„
„
Erweiterung der zusicherungsbasierten Schemaintegration
Analyse extensionaler Beziehungen zwischen Objekttypen/-klassen der Schemata
Zerlegung der Klassen in sog. Basisextensionen
„
Multidatenbanksprachen
„
Abbildungssprachen
„
„
Sichtenbildung als Integrationsmittel
Beschreibung der Abbildung zwischen Schemata und Konfliktlösungschritte in
deklarativer oder prozeduraler Form
27
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Zusicherungsbasierte Schemaintegration
„
Grundidee
„
„
„
Beschreibung von paarweisen Beziehungen zwischen Elementen der Schemata als
Inter-Schema-Korrespondenzen
Integrationsregeln für die zu Verfügung stehenden Korrespondenzformen
bestimmen das Auftreten im integrierten Schema
Korrepondenzen entsprechen datenquellenübergreifende Integritätsbedingungen
„
„
Garantie durch das System?
Generisches Datenmodell als Grundlage
„
Bestandteile
„
„
„
„
Objekttypen (und Extensionen)
wertbasierte Attribute
Links (Referenzattribute)
abstrahiert von spezifischen Datenmodellen
„
Besonderheiten der spezifischen Datenmodelle werden jedoch nicht vollständig abgedeckt
28
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Inter-Schema-Korrespondenzen
„
Semantische Korrespondenz von Schemabestandteilen, weiter beschrieben
durch Beziehung auf extensionaler Ebene
„
„
Äquivalenz, Teilmenge, Überlappung, Disjunktheit
Korrespondenzformen
„
Element-Korrespondenz
„
Element-und-Attribut-Korrespondenz
„
Pfad-Korrespondenz
„
„
„
„
Beispiel: S1.Personal ⊇ S2.Projektmitarbeiter
Beispiel: S1.Personal.PNr = S2.Projektmitarbeiter.PersNr
Korrespondenz von Beziehungen
Beipiel: S1.Personal-Abteilung ⊆ S2.Projektmitarbeiter-Projekt-Abteilung
29
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Integrationsregeln
„
Jeweils für Form der Korrepondenz
„
Beipiel: S1.X1 ≡ S2.X2
„
„
„
„
S.X im integrierten Schema, Bezeichner X kann mit X1 oder X2 übereinstimmen
Für korrespondierende Attributpaare wird jeweils ein Attribut übernommen, Wert
repräsentiert immer die Vereinigung der einzelnen Werte
Zusätzlich werden alle Attribute ohne Korrepondenz aus den beteiligten Schemata
übernommen.
Zusätzliche Regeln für Übernahme von Schemabestandteilen ohne
Korrespondenz
30
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Upward Inheritance
„
Ausgangspunkt: Schemazusicherungen mit extensionalen Korrespondenzen
„
Integrationsregeln
„
betrachtet ausschliesslich objektorientierte Klassenhierarchien
„
A=B
A/B
„
A⊇B
A
B
„
A∩B
oder
A≠B
A∪B
A
B
Middleware für Verteilte
Informationssysteme - WS03/04
31
AG Heterogene Informationssysteme
Generic Integration Model – GIM
„
Analyse der extensionalen Beziehungen für
beteiligte Schemata führen zu einer Zerlegung von
Klassen in sog. Basisextensionen
„
„
GIM Matrix
„
„
„
„
Mengen von Objekten, die gleichzeitig Mitglieder
derselben Klassen sind
Betrachtet werden nun die den Klassen
zugeordneten Attribute
Menge von Extensionen mit einer gemeinsamen
Attributmenge
-> Klasse K
K1 besitzt Teilmenge der Extensionen von K2,
K1 besitzt Obermenge der Attribute von K2
-> K1 ist Subklasse von K2
E1
E2
X
X
A2
X
X
A3
X
A1
E3
...
En
...
X
X
...
X
...
X
...
...
Am
X
Ableitung eines integrierten Schemas
„
Permutation von Zeilen und Spalten zur Bestimmung
von formalen Konzepten
„
„
"maximale mit Kreuzen ausgefüllte Rechtecke"
Ableitung einer Klassenhierarchie
32
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Abbildungssprache
„
Nachteile herkömmlicher Verfahren
„
„
„
„
Betrachten vor allem extensionale Konflikte, in homogenem Datenmodell
Unterstützen keine zufriedenstellende Auflösung struktureller Konflikte
Updateproblematik
Überwindung der Heterogenität durch Entwicklung
einer Abbildungssprache
„
„
„
„
Integration mehrerer Schemata, die möglicherweise in verschiedenen
Datenmodellen erstellt sind, d. h., Abbildung von Daten zwischen heterogenen
Schemastrukturen
Deskriptive Sprache, d. h. deklarative Abbildungsspezifikationen
Technologieunabhängigkeit der Abbildungsspezifikation
Unterstützung von sowohl Retrieval als auch Update
(vergleiche: View-Update-Problematik)
33
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
BRIITY
„
Forschungsansatz einer Abbildungssprache
„
AG DBIS, FB INF, UNI KL
„
wurde entworfen, um vorgenannte Probleme zu überwinden
„
unterstützt bi-direktionale Abbildungen
„
deskriptiv
„
technologieunabhängig
„
unterstützt Benutzer-spezifizierte Update-Anweisungen
„
„
besonderes Anliegen: Unterstützung von objektorientierten Zielschemata, wobei
Abbildung mengenorientiert und deskriptiv (d. h. wie in relationalen Systemen)
beschrieben kann
Unterstützung von EXPRESS als Ziel-Datenmodell
34
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Struktur einer Abbildungsspezifikation
Z
Q (rel. DB)
item
name
created_by
ITEM
name
PERS
created_by
key
name
BEGIN
MAPPED_SCHEMAS
ts := target_schema <- rel_db:= rel_db@rel_dbs@localhost;
END_MAPPED_SCHEMAS;
INCLUDE
LIB /usr/users/sauter/libstring.a;
INC string.h;
END_INCLUDE;
TYPE_MAPPING
MAP ts.DM <- rel_db.US$;
ts.DM <- 0.67 * rel_db.US$;
rel_db.US$ <- 1.5 * ts.DM;
END_MAP;
END_TYPE_MAPPING;
...
35
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Struktur einer Abbildungsspezifikation (Forts.)
„
Allgemeine Struktur einer Abbildungsspezifikation (Forts.)
...
ENTITY_MAPPING
MAP item <-_item := rel_db.ITEM, _pers:= rel_db.PERS;
ON_RETRIEVE
name <- _item.name;
created_by <- _pers.name;
IDENTIFIED_BY(_item.name, _pers.key);
WHERE (_item.created_by = _pers.key);
ON_UPDATE ...
ON_INSERT ...
ON_DELETE ...
END_MAP;
END_ENTITY_MAPPING;
END.
36
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Elementare mengenorientierte Abbildungsregeln
„
Grundlegender Aufbau einer MAP-Anweisung
Ziel
item
OID
name
created_by
Abbildung
MAP item <- _item := rel_db.ITEM,
_pers:= rel_db.PERS;
ON_RETRIEVE
IDENTIFIED_BY (_item.name, _pers.key);
name <- _item.name;
created_by <- _pers.name;
WHERE (_item.created_by = _pers.key);
Quelle
SELECT _item.name, _pers.name
FROM ITEM _item, PERS _pers
WHERE _item.created_by =
_pers.key
Middleware für Verteilte
Informationssysteme - WS03/04
37
AG Heterogene Informationssysteme
Bedingte Abbildung
„
Abbildung mehrerer Quellinstanzen auf eine Zielinstanz oder
„
Konvertierung von Datentypen
item
Z
assembly_type : STRING
condition
Q
(rel. DB)
ITEM
assembly_type: INTEGER
MAP item <- _item:=rel_db.ITEM;
ON_RETRIEVE
assembly_type <- IF (_item.assembly_type = 512) THEN “manufacturing”
ELSE IF (_item.assembly_type = 918) THEN “configurable”
ELSE ...;
38
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Referentielle Integrität in relationalen Zielschemata
Z
ITEM
item
person
ITEM-PERS
name approved_by
key name
item
pers
Q
(oo. DB)
name
PERSON
id
MAP item <- _item:=oo_db.ITEM, _ip:=oo_db.ITEM-PERS, _pers:=oo_db.PERSON;
ON_RETRIEVE
name <- _item.name;
approved_by <- CASCADED_MAP person.key
WITH_ID _item.INV(_ip:item).pers.id
IDENTIFIED_BY (_item.name);
END_MAP;
Middleware für Verteilte
Informationssysteme - WS03/04
39
AG Heterogene Informationssysteme
Abbildung netzartiger Strukturen
„
betrachte Beispiel auf vorangegangener Folie, wobei jedoch nun auch Z
objektorientiert sein soll
Z
MAP person <- oo_db.PERSON;
ITEM
item
person
name
ITEM-PERS
name approved_by
name
item
ON_RETRIEVE
pers
name <- oo_db.PERSON.id;
IDENTIFIED_BY (oo_db.PERSON.id);
END_MAP;
MAP item <- _item:=oo_db.ITEM, _ip:=oo_db.ITEM-PERS, _pers:=oo_db.PERSON;
ON_RETRIEVE
Q
(oo. DB)
PERSON
id
name <- _item.name;
approved_by <- CASCADED_MAP person
WITH_ID _item.INV(_ip:item).pers.id
IDENTIFIED_BY (_item.name);
END_MAP;
40
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Generalisierung
Q
Teil
SachNr
Teil
SachNr
Konstrukteur
...
Z
Einzelteil
Konstrukteur
MAP Teil <- _t := oo_db.Teil;
ON_RETRIEVE
SachNr <- _t.SachNr;
IDENTIFIED_BY (OID(_t));
END_MAP;
MAP Einzelteil SUBTYPE_OF(Teil) <- _t := oo_db.Teil;
ON_RETRIEVE
Konstrukteur <- _t.Konstrukteur;
IDENTIFIED_BY (OID(_t));
END_MAP;
...
Middleware für Verteilte
Informationssysteme - WS03/04
41
AG Heterogene Informationssysteme
Abbildung von Aggregaten
„
dienen der Abbildung mengenwertiger Attribute sowie für NEST/UNNEST
<set valued attribute mapping> ::=
[NEST] (LIST|SET|ARRAY) ’(’<right hand side of attr mapping or nested set valued mapping>’)’
[WHERE <DNF expression>]
[ORDER_BY <sort expression>]
[GROUPED_BY <source attr identification>].
„
Beispiel:
MAP Kaufauftrag <- _k:= oo_db.Kundenwunsch;
Kaufauftrag
ON_RETRIEVE
Z
Kunde
Auftragsbez: SET
Kunde <- _k.Kunde;
Auftragsbez <- SET (_k.Auftraege * 98,5%)
WHERE (_k.Auftraege > 20);
Kundenwunsch
IDENTIFIED_BY (OID(_k));
Kunde
Auftraege: LIST
END MAP
Q
42
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
NEST-Operation
Z
assembly
Q
(rel. DB)
ITEM
name
items: SET OF STRING
name
assembly
MAP assembly <- _item:= rel_db.ITEM;
ON_RETRIEVE
name <- _item.assembly;
items <- NEST (_item.name)
GROUPED_BY (_item.assembly);
Middleware für Verteilte
Informationssysteme - WS03/04
43
AG Heterogene Informationssysteme
UNNEST-Operation
Z
Kaufauftrag
Kundenwunsch
Kunde
Auftragsbez
Preis
Sachbearbeiter
Kunde
Auftraege: LIST
Preise: LIST
Sachbearbeiter: SET
Q
(oo. DB)
MAP Kaufauftrag <- _k:=oo_db.Kundenwunsch;
ON_RETRIEVE
FOR_ALL (_unnest_auftrag := UNNEST (_k.Auftraege),
_unnest_preis : = UNNEST (_k.Preise))
FOR_ALL (unnest_sachbearbeiter := UNNEST (_k.Sachbearbeiter))
Kunde <- _k.Kunde;
Auftragsbez <- _unnest_auftrag;
Preis <- _unnest_preis;
Sachbearbeiter <- _unnest_sachbearbeiter;
IDENTIFIED_BY (OID(_k);
END_MAP;
44
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Regeln zur Propagierung von Updates
<update_clause> ::=
’ON_UPDATE’ (<update_statement> {’,’ <update_statement>}
|
’INVERSE_TO_RETRIEVE’ ’;’).
<update_statement> ::=
<target_attribute_id> ’OF’ <update_statement_body_list>
| <update_statement_for_set_valued_target_attributes>.
<update_statement_body> ::=
(’NEW’|’MODIFIED’|’DELETED’) ’:’ (’RESTRICTED’|’INVERSE_TO_RETRIEVE’|<assign_stmnt_list>)’;’.
<assign_statement> ::=
’ASSIGN’ <conjunction_of_assgn_statement_expr>
[’WHERE’ <where_clause_containing_bool_expr_of_assgn_statement>].
<assign_statement_expr> ::=
[’NOT_’]’IS_INSTANCE’’(’<source_entity_id>[<with_instance_id>][':'<attr_value_expr_list>]’)’
| <is_element_expr>
| <has_value_expr>.
Middleware für Verteilte
Informationssysteme - WS03/04
45
AG Heterogene Informationssysteme
Update-Operation
Z
Q (rel. DB)
item
ITEM
name
created_by
name
PERS
created_by
key
name
ON_UPDATE created_by OF
NEW:
ASSIGN ( IS_INSTANCE(_item: name = ts.item.name, created_by = ?1) AND
MODIFIED:
ASSIGN ( IS_INSTANCE(_pers: name = ts.item.created_by));
IS_INSTANCE(_pers: key = ?1, name = ts.item.created_by));
ASSIGN ( IS_INSTANCE(_item: name = ts.item.name, created_by = ?1))
WHERE ( IS_INSTANCE(_pers: key = ?1, name = ts.item.created_by));
DELETED:
ASSIGN ( NOT_IS_INSTANCE(_pers: key = ?1))
WHERE ...;
46
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Update-Regeln für mengenorientierte Ziel-Attribute
Z
Kaufauftrag
Kunde
Bezeichnung: LIST
Kundenwunsch
MAP Kaufauftrag <- _k:=oo_db.Kundenwunsch;
ON_RETRIEVE ...
ON_UPDATE ...
ON_INSERT
FOR EACH_ELEMENT_VALUE
_b OF Kaufauftrag.Bezeichnung DO
ASSIGN
IS_INSTANCE (_k: Kunde = Kaufauftrag.Kunde,
Auftrag = (_b / 98.5%));
END_FOR;
END_MAP;
Kunde
Auftrag
Q
Middleware für Verteilte
Informationssysteme - WS03/04
47
AG Heterogene Informationssysteme
Multiple Instanzierung
„
Partitionen
Z
cable
end_1
end_2
MAP end_of_cable <-
CABLE
end_of_cable
ID
Q
(rel. DB)
ID
ID_of_end_1
ID_of_end_2
PARTITION _part_end1: _c:=rel_db.CABLE,
PARTITION _part_end2: _c:=rel_db.CABLE;
PARTITION _part_end1:
ON_RETRIEVE
ID <- _c.ID_of_end_1;
IDENTIFIED_BY (_c.ID);
PARTITION _part_end2:
ON_RETRIEVE
ID <- _c.ID_of_end_2;
IDENTIFIED_BY (_c.ID);
END_MAP;
...
48
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Multiple Instanzierung (Forts.)
„
Partitionen (Forts.)
Z
cable
end_1
end_2
Q
(rel. DB)
CABLE
end_of_cable
ID
ID
ID_of_end_1
ID_of_end_2
...
MAP cable <- _c:=rel_db.CABLE;
ON_RETRIEVE
end_1 <- CASCADED_MAP end_of_cable
PARTITION _part_end1
WITH_ID (_c.ID, _c.ID_of_end_1);
end_2 <- CASCADED_MAP end_of_cable
PARTITION _part_end2
WITH_ID (_c.ID, _c.ID_of_end_2);
IDENTIFIED_BY (_c.ID);
END_MAP;
Middleware für Verteilte
Informationssysteme - WS03/04
49
AG Heterogene Informationssysteme
Integration mehrerer Quell-Schemata
„
Überlappende Anwendungsbereiche → DB-übergreifende Verbundoperationen
BEGIN
MAPPED_SCHEMAS
z := integriert <- q1 = teile_db@db2@host1,
q2 = pers_db@oracle@host2;
END_MAPPED_SCHEMAS;
ENTITY_MAPPING
MAP Teil <-_t := q1.Teil, _p:= q2.Pers;
Q1
ON_RETRIEVE
SachNr <- _t.SNR;
erstellt_von <- _p.Name;
...
WHERE (_t.erstellt_von = _p.PersNr);
...
END_ENTITY_MAPPING;
END.
50
AG Heterogene Informationssysteme
Teil
SachNr
erstellt_von
Teil
SNR
erstellt_von
Z
Pers
PersNr
Name
Q2
Middleware für Verteilte
Informationssysteme - WS03/04
Identische Anwendungsbereiche →
kontextabhängige Abbildung
MAP Teil <-
Teil
SachNr
...
PARTITION db_q1: _t := q1.Teil,
PARTITION db_q2: _i := q2.item;
Z
PARTITION db_q1
ON_RETRIEVE
SachNr <- _t.SNR;
IDENTIFIED_BY(_t.SNR);
Q1
...
PARTITION db_q2
Teil
SNR
...
item
id
...
Q2
ON_RETRIEVE
SachNr <- _i.id;
IDENTIFIED_BY(_i.id);
END_ENTITY_MAPPING;
...
END.
51
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Globale Identität
MAP Teil <-
PARTITION db_q1: _t := q1.Teil,
PARTITION db_q2: _i := q2.item;
PARTITION db_q1
ON_RETRIEVE
Q1
SachNr <- _t.SNR;
Teil
Konstr_Bereich <- “EntwicklungPkw”
SNR
IDENTIFIED_BY(_t.SNR);
Gewicht
GLOBAL_IDENTITY (_t.SNR,
“EntwicklungPkw”);
...
PARTITION db_q2
ON_RETRIEVE
item
SachNr <- _i.id;
id
Konstr_Bereich <- _i.department
department
IDENTIFIED_BY(_i.id, _i.department);
Q2
END_ENTITY_MAPPING;
...
END.
52
AG Heterogene Informationssysteme
Teil
SachNr
Kontr_Bereich
Z
Middleware für Verteilte
Informationssysteme - WS03/04
Zusätzliche Integritätsbedingungen
„
IBs für Konflikte auf Instanzenebene: ECA-Regeln
„
Checkin-Abhängigkeiten
Z
CABLE
cable
end_of_cable
end_1
end_2
ID
ID_of_end_1
ID_of_end_2
ID
Q
(oo. DB)
INTEGRITY_CONSTRAINTS
DEPENDENCIES
GROUP
cable, end_of_cable
WHERE (cable.end_1 = OID(end_of_cable)) AND (cable.end_2 = OID(end_of_cable))
END_DEPENDENCIES;
END_INTEGRITY_CONSTRAINTS;
„
Initialisierung von Primärschlüsselattributen in Quellschemata
Middleware für Verteilte
Informationssysteme - WS03/04
53
AG Heterogene Informationssysteme
Ausführungsmodell
object buffer
e. g.,
ACCESS item
mapping definition
(specified in BRIITY and
stored in an ASCII file)
mapping layer
parser
BRIITY’algebra
e. g.,
MAP item
graph
assembly
pool of algebra graphs
e. g.,
ACCESS ITEM
DBs
54
AG Heterogene Informationssysteme
...
Middleware für Verteilte
Informationssysteme - WS03/04
Ausführungsmodell (Forts.)
„
„
Parsen der Abbildungsspezifikation
Anfragetransformation
„
„
„
„
„
Auswahl der relevanten Abbildungsgraphen
„
„
„
für die Bearbeitung einer Query sind die Abbildungsgraphen relevant, die für die
Erzeugung der in der Query angesprochenen Objekttypen des Zielschemas
verantwortlich sind
Abbildungsgraph wird anhand des Wurzelknotens selektiert
Assemblierung
„
„
„
Transformation in Abbildungsgraph (Algebra-Graph)
Blattknoten: Operationen zum Zugriff auf die DBSs
innere Knoten: Algebraoperatoren
Wurzelknoten: Operator zum Erzeugen von Zielinstanzen
Query-Graph und Abbildungsgraph werden zusammengefügt
Wurzel-Operator des Abbildungsgraphen und Zugriffsoperator des Query-Graphen
werden verschmolzen
Optimierung und Ausführung des assemblierten Graphen durch MappingLayer
55
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Zusammenfassung
„
Schemaabbildung und -integration
„
Zielvorstellung
„
„
„
„
„
Bereitstellung eines integrierten Schemas
Bearbeitung der Zieldaten mit generischen Operatoren
Unterstützung eines breiten Spektrums von Quellsystemen und Auswahlmöglichkeit
hinsichtlich der Nutzung eines Zielsystems
Schemaintegrationstechniken
Abbildungssprache BRIITY
„
„
„
„
löst die wesentlichen Probleme struktureller Heterogenität
unterstützt sowohl relationale als auch objektorientierte Modelle auf beiden Seiten
(Quellsysteme, Zielsystem)
erlaubt bi-direktionale Abbildung und unterstützt so beliebige Update-Operationen auf den
Zieldaten
hoher Spezifikationsaufwand
56
AG Heterogene Informationssysteme
Middleware für Verteilte
Informationssysteme - WS03/04
Herunterladen