3-Informationsintegration - Universität Basel | Informatik

Werbung
Frühjahrsemester 2013
CS243 Datenbanken
Kapitel 3: Informationsintegration*
H. Schuldt
* Folien basieren zum Teil
auf Unterlagen von
Dr. Diego Milano
Warum Informationsintegration?
•
Aus Kapitel 1:
A Data Warehouse is a subject-oriented, integrated, non-volatile, and
time variant collection of data in support of managements decisions
•
Integration muss auf verschiedenen Ebenen stattfinden
– Intensionale Ebene
• Integration auf Schemaebene
• wird auch als „Schemaintegration“ bezeichnet
– Extensionale Ebene
• Integration auf Instanzebene
• wird auch als „Datenintegration“ oder „Data Cleaning“ bezeichnet
FS 2013
Datenbanken (CS243) – Informationsintegration
3-2
1
Data Warehousing & Informationsintegration
Operationale Datenbanksysteme
Externe Systeme
...
...
OLTP
Informationsintegration
Data Warehouse
OLAP
FS 2013
Datenbanken (CS243) – Informationsintegration
3-3
Informationsintegration
Ziel der Integration
• Mehrere Datenquellen einem Benutzer so zu präsentieren, als wäre es
nur eine einzige Datenquelle
Mögliche Probleme
• Heterogenität der beteiligten Datenquellen
•
Daten werden physisch verteilt gespeichert
– Redundanz: identische Duplikate vs. widersprüchliche Daten
•
Autonome Systeme
– Einzelne Schemata können sich ändern
– Integration muss dann jeweils erneut durchgeführt werden
FS 2013
Datenbanken (CS243) – Informationsintegration
3-4
2
Architekturen
•
Wiederholung aus cs241 / cs261: Architektur eines DBMS
A1
A2
Ext. Schema1
A3
A4
Ext. Schema2
A5
Anwendungen
Ext. Schema3
Externe Ebene
Logische Datenunabhängigkeit
Konzeptuelle (logische) Ebene
Logisches Schema
Physische Datenunabhängigkeit
Interne (physische) Ebene
Internes Schema
FS 2013
Datenbanken (CS243) – Informationsintegration
3-5
Virtuelle Integration
•
•
•
Daten bleiben in den beteiligten Quellsystemen
Die Extension des integrierten Datenbestandes ist nicht materialisiert
Daten werden bei jedem Zugriff zusammengeführt
– Anfragen an das globale Schema werden durch Daten aus den
lokalen Quellen bedient
Integriertes (globales) Schema
lokales Schema1
lokales Scheman
Externes Schema1
Externes Scheman
Logisches Schema1
Extension1
Internes Schema1
DBMS1
FS 2013
...
Logisches Scheman
Internes Scheman
Extensionn
DBMSn
Datenbanken (CS243) – Informationsintegration
3-6
3
Virtuelle Integration – Eigenschaften
•
Vorteile
– Updates, die auf den lokalen Quellen durchgeführt werden, sind sofort
in der (virtuellen) integrierten DB sichtbar
– Keine Redundanz und damit auch keine Konflikte durch Synchronisation
mehrerer Extensionen
•
Nachteile
– Constraints auf dem globalen Schema können nicht oder nur mit grossem
Aufwand umgesetzt und erzwungen werden
– Die Bearbeitung von Anfragen kann sehr aufwändig und ineffizient sein
(abhängig von der Komplexität der Abbildung von lokalen auf globale
Schemata)
– Das Propagieren von Updates vom globalen Schema zu den lokalen
Schemata kann komplex (oder sogar nicht eindeutig) sein
Ø vgl. Änderungsoperationen auf Views (cs241/cs261)
– Problematische Behandlung von Inkonsistenzen über mehrere lokale
Extensionen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-7
Materialisierte Integration
•
•
•
Daten werden zusätzlich in das integrierte System kopiert
Es gibt also eine weitere Extension (die des integrierten Schemas)
– Anfragen an das globale Schema werden durch diese Extension bedient
Typische Konfiguration von Data Warehouses
Integrierter
Datenbestand
Integriertes (globales) Schema
lokales Schema1
lokales Scheman
Externes Schema1
Externes Scheman
Logisches Schema1
Extension1
Internes Schema1
DBMS1
FS 2013
...
Logisches Scheman
Internes Scheman
Extensionn
DBMSn
Datenbanken (CS243) – Informationsintegration
3-8
4
Materialisierte Integration – Eigenschaften
•
Vorteile
– Anfragen können aus dem integrierten Datenbestand bedient werden
(effektiver als bei der virtuellen Integration)
– Komplexe Transformationen zwischen lokalen Schemata und globalem
Schema können einfacher angewandt werden
• Einmalige Integration (bzw. zu wohldefinierten Zeitunkten),
nicht bei jeder Anfrage
• Globales Schema kann signifikant von lokalen Schemata abweichen
•
Nachteile
– Bei lokalen Updates sind lokale Datenbestände und integrierter
Datenbestand nicht mehr synchron (Ø evtl. widersprüchliche Daten).
Periodische Auffrischungen des integrierten Datenbestands nötig
– Grössere Speicheranforderungen durch Replikation
FS 2013
Datenbanken (CS243) – Informationsintegration
3-9
Heterogenität …
•
Syntaktische Heterogenität:
– Unterschiede in der Darstellung gleicher Sachverhalte
(z.B. UNICODE vs. ASCII, little endian vs. big endian, 42 vs. zweiundvierzig)
•
Datenmodellheterogenität:
– Verwendung unterschiedlicher Datenmodelle für die Darstellung
gleicher Sachverhalte (siehe Kapitel 2)
– Flat files, XML, verschiedene Datenbanktypen, proprietäre Elemente
in Datenmodellen
– z.B. relationales Datenmodell vs. objektorientiertes Datenmodell, d.h.
Modellierung von Person als Relation oder als Klasse
FS 2013
Datenbanken (CS243) – Informationsintegration
3-10
5
… Heterogenität …
•
Strukturelle Heterogenität:
– Unterschiede in der Repräsentation von Information
– Zwei Schemata sind unterschiedlich, obwohl sie den gleichen Ausschnitt
aus der realen Welt erfassen , z.B.
Person (Name, Adresse) vs.
Person (Vorname, Nachname, Strasse, Hausnummer, Ort, PLZ)
– Verschiedene Repräsentation derselben Information, z.B.
Speicherung des Preises einer Ware in €, CHF, $, £ oder ¥
– Andere Ursache:
• Normalisierung von Relationen
• Optimierung für bestimmte Arten von Joins, etc.
FS 2013
Datenbanken (CS243) – Informationsintegration
3-11
… Heterogenität …
•
Schematische Heterogenität
– Sonderfall der strukturellen Heterogenität
– Verwendung unterschiedlicher Elemente des Datenmodells zur
Modellierung derselben Sachverhalte, z.B.
• Modellierung eines Sachverhalts als Attribut …
• … oder als eigenständige Relation
FS 2013
Datenbanken (CS243) – Informationsintegration
3-12
6
… Heterogenität
•
Semantische Heterogenität:
– Unterschiede der Bedeutung der verwendeten Begriffe und Konzepte
– die korrekte Interpretation hängt dabei zumeist vom Kontext ab
• z.B. Homonyme
Bank (Name, Bilanzvolumen, ...) vs.
Bank (Ort, Anzahl_Sitzplätze, ...)
• z.B. Synonyme
Bank (Name, Bilanzvolumen, ...) vs.
Geldinstitut (Bezeichnung, Gewinn, ...)
• z.B. Hypernyme
Sportler (Name, Verein, ...) vs.
Fussballer (Name, Verein, ...)
– Nicht oder nur partiell kompatible Domänen, z.B.
Student (MatNr, Name, …) und Student (MatNr, Name, …)
wobei eine Relation alle Basler Studierenden enthält, die andere alle
Informatik-Studierenden
FS 2013
Datenbanken (CS243) – Informationsintegration
3-13
3.1 Schemaintegration
Präzisierung des Integrationsproblems auf intensionaler Ebene
• Gegeben sind n (in der Regel heterogene) Quellschemata L1, …, Ln
• Integration dieser n heterogenen Schemata erfordert
– Identifikation von Korrespondenzen (Gemeinsamkeiten) zwischen diesen
Quellschemata
– Entwurf eines integrierten globalen Schemas, das von den n Quellschemata
abstrahiert (und das evtl. Auf bestimmte Anwendungen zugeschnitten ist,
wie z.B. analytische Anfragen im Data Warehousing)
– Die formale Spezifikation von Abbildungsvorschriften zwischen den einzelnen
Quellschemata und dem integrierten Schema
•
•
•
Schemaintegration ist eine komplexe intellektuelle Entwurfsaufgabe
Es gibt vereinzelte Werkzeuge für die (zumindest semi-automatische)
Unterstützung der Schemaintegration – jedoch in den meisten Fällen im Status
von Forschungsprototypen
Schemaintegration erfordert sowohl Kenntnisse im Datenbankentwurf als auch
spezielle Kenntnisse über die Anwendungswelt, um die zu integrierenden
Schemata zu verstehen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-14
7
Wrapper-basierte Architekturen
•
Ein Wrapper ist eine Software, die ein anderes Softwaresystem einkapselt und
andere als die ursprünglich vorhandenen Schnittstellen nach aussen anbietet
– Technische Unterschiede werden verborgen
– In gewissem Masse können dadurch auch Unterschiede der verwendeten
Datenmodelle verborgen werden (alle Quellen werden in einheitlicher
Repräsentation dargestellt)
Kanonisches Modell
Wrapper
Wrapper
Wrapper
Wrapper
Altanwendung
RDBMS
OODBMS
XML
?
FS 2013
Datenbanken (CS243) – Informationsintegration
<author id="mf">
<first->Max</first>
<last>Frisch</last>
</author>
<book>
<title>…</title>
</book>
3-15
Schemaintegration
Integriertes (globales) Schema
SchemaAbbildung
...
lokales Schema L1
DBMS1
FS 2013
lokales Schema Ln
DBMSn
Datenbanken (CS243) – Informationsintegration
3-16
8
Mediator
•
Ein Mediator interagiert mit den einzelnen Wrappern und stellt eine
vereinheitlichte globale Sicht über den lokalen Schemata zur Verfügung
Mediator
Schema-Abbildung
Wrapper
Wrapper
Wrapper
Wrapper
Altanwendung
RDBMS
OODBMS
XML
?
FS 2013
<author id="mf">
<first->Max</first>
<last>Frisch</last>
</author>
<book>
<title>…</title>
</book>
Datenbanken (CS243) – Informationsintegration
3-17
Schemaintegration: Schritte
1. Analyse, Normalisierung und Abstraktion
– Verwendung einer gemeinsamen Sprache / Repräsentation zur
konzeptuellen Modellierung (z.B. ER)
2. Auswahl einer Integrationsstrategie
– Festlegen, wie (und in welcher Reihenfolge) Schemata verglichen werden
3. Schema Matching
– Beziehungen zwischen lokalen Schemata identifizieren
4. Schema Alignment
– Konflikte (durch Heterogenität) zwischen beteiligten Schemata auflösen
5. Schema Fusion
– Globales Schema erstellen
Ø Ergebnis ist eine paarweise Abbildung zwischen den lokalen Schemata und
dem globalen Schema
FS 2013
Datenbanken (CS243) – Informationsintegration
3-18
9
Schritt 1: Analyse
•
•
•
Ein vertieftes Verständnis der lokalen Datenquellen (zunächst unabhängig
voneinander) erwerben
Ergebnis ist ein konzeptuelles Schema in der Sprache, die für alle lokalen
datenquellen gewählt wird
Diese Aktivität besteht oftmals aus dem Re-Engineering des konzeptuellen
Schemas
– Im Gegensatz zur Abbildung ERM ins Relationenmodell ist in der Analyse
zumeist nur die logische Repräsentation (oder evtl. sogar nur das physische
Schema) gegeben, aus dem dann die konzeptuelle Repräsentation wieder
abgeleitet werden muss
– Ergebnis: genau und vollständiges (und dokumentiertes) konzeptuelles
Schema der lokalen Datenquelle
FS 2013
Datenbanken (CS243) – Informationsintegration
3-19
Probleme der Analysephase
•
Informationen über die Anwendungswelt sind unter Umständen nur schwer
zu bekommen
– Geschäftsregeln nicht explizit formuliert bzw. nicht zugänglich
– Wichtigste Informationsquellen in der Praxis: lokale Domänenexperten
•
Analog ist es zumeist auch schwierig, Informationssysteme eines Unternehmens
zu verstehen
– Altsysteme ohne Datenbank, sondern mit proprietären Dateiformaten
– Selbst bei der Verwendung von Datenbanken
• Keine oder ungenügende Dokumentation, d.h., die Daten
sind oftmals die einzige „Dokumentation“
• Keine oder ungenügende Normalisierung
• Integritätsbedingungen nicht dokumentiert, zum Teil nicht einmal in
der Datenbank erzwungen (bestenfalls in der Anwendung implementiert)
• Gewachsene Systeme (d.h. Schema wurde mehrfach erweitert,
ergänzt, modifiziert) und ist damit nur schwer verständlich
FS 2013
Datenbanken (CS243) – Informationsintegration
3-20
10
Analyse, Normalisierung, Abstraktion
CREATE TABLE product(
cat_desc
VARCHAR(255),
cat_name
VARCHAR(255),
cat_code
INTEGER,
prod_desc VARCHAR(255),
prod_name VARCHAR(255),
prod_code INTEGER PRIMARY KEY
);
prod_desc
cat_desc
Product
cat_name
prod_name
prod_code
cat_code
Normalisierung und Korrektur:
Das Ausgangsschema ist nicht normalisiert und stellt die
Beziehungen der Anwendungswelt nicht korrekt dar.
Description/String
CREATE TABLE category(
cat_desc
VARCHAR(255),
cat_name
VARCHAR(255),
cat_code
INTEGER PRIMARY_KEY,
);
Product
CREATE TABLE product(
prod_desc VARCHAR(255),
prod_name VARCHAR(255),
prod_code INTEGER PRIMARY KEY
cat_code
INTEGER REFERENCES category(cat_code)
);
belongs_to
Name/String
Code / integer
(1,1)
(0,n)
Category
Description / String
Name/String
Code / String
FS 2013
Datenbanken (CS243) – Informationsintegration
3-21
Schritt 2: Integrationsstrategie
•
•
Der Vergleich vieler verschiedener Schemata in einem Schritt ist nicht immer
möglich bzw. nicht sehr effizient (gerade bei grossen, sehr heterogenen
Schemata)
Unterschiedliche Ansätze, um strukturiert vorzugehen:
Integration process
binary
ladder
FS 2013
n-ary
balanced
single step
Datenbanken (CS243) – Informationsintegration
iterative
3-22
11
Schritt 3: Schema Matching
•
Vergleichende Analyse der unterschiedlichen konzeptuellen Schemata
mit dem Ziel …
– gemeinsame Konzepte (und Beziehungen zwischen diesen Konzepten)
zu identifizieren
– Unterschiede wie z.B. strukturelle und semantische Konflikte
festzustellen
– Abhängigkeiten zwischen (Teil-)Schemata zu identifizieren
(um Teilschemata zusammen zu führen)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-23
Strukturelle Konflikte
•
•
Beispiel: Book ist ein gemeinsames Konzept
Publisher und die Beziehung zu Book besitzen einen strukturellen Konflikt
– in einem Modell als Attribut repräsentiert, im anderen als Entitätstyp
Title
Book
Title
ISBN
Book
published_by
Publisher
Publisher_address
FS 2013
ISBN
Address
Publisher
Datenbanken (CS243) – Informationsintegration
Name
3-24
12
Semantische Konflikte …
•
•
•
Die Attribute Age und Birthdate modellieren zwei semantisch unterschiedliche
Konzepte
Allerdings gibt es eine offensichtliche Beziehung zwischen diesen Konzepten,
so dass der Konflikt einfach aufgelöst werden kann
Die Auflösung des Konflikts erfordert die Restrukturierung eines der beiden
Schemata, um die Konzepte zu vereinheitlichen
– das bedeutet, dass eines der beiden konzeptuellen Schemata
transformiert werden muss
– diese Transformation muss dann auch auf der Extension
ausgeführt werden
Birthdate
Age
Citizen
SSN
FS 2013
Citizen
SSN
Datenbanken (CS243) – Informationsintegration
3-25
… Semantische Konflikte
•
Homonyme:
•
Synonyme:
zwei Konzepte besitzen denselben Namen, aber unterschiedliche
Bedeutungen
zwei Konzepte haben dieselbe Bedeutung, aber unterschiedliche
Namen
Äquivalent, aber “linguistischer
Konflikt” Æ Synonyme
Worker
Employee
(1,1)
(1,1)
assigned_to
assigned_to
(1,n)
(1,n)
Department
identisch
FS 2013
Department
inkompatibel
Teacher
(1,1)
teaches
(1,n)
Class
Object
(1,1)
instance_of
(1,n)
Class
Nicht äquivalent Æ Homonyme
Datenbanken (CS243) – Informationsintegration
3-26
13
Vergleich von Schemata
•
Identität: ein Konzept ist zweimal auf gleiche
Art und Weise modelliert – sowohl aus struktureller
als auch aus semantischer Sicht
•
Äquivalenz: zwei Konzepte besitzen dieselbe Semantik,
es gibt jedoch strukturelle Konflikte
(strukturelle Unterschiede)
•
Vergleichbarkeit: Konzepte sind mit unterschiedlicher
Struktur und Semantik modelliert, stellen aber denselben
Ausschnitt aus der Anwendungswelt dar
•
Inkompatibilität: Der Ausschnitt aus der Anwendungswelt
unterscheidet sich. Die entstehenden Konflikte sind nicht
(oder nur sehr schwer) zu beheben
FS 2013
Datenbanken (CS243) – Informationsintegration
3-27
Beispiel: Unterschiedliche, aber vergleichbare Schemata
Employee
(1,1)
Employee
(1,1)
participates_in
assigned_to
(1,n)
(1,n)
Project
Department
(1,1)
belongs_to
(1,n)
Department
FS 2013
Datenbanken (CS243) – Informationsintegration
3-28
14
Beispiel: nicht vergleichbare Schemata
•
•
Die Semantik der beiden Schemata scheint gleich zu sein
Allerdings sind die Kardinalitäten unterschiedlich, so dass damit auch
die Schemata inkompatibel sind
Professor
Professor
Name
(0,1)
(2,n)
teaches
teaches
(1,n)
Course
Name
(1,n)
Course
Course_ID
FS 2013
Course_ID
Datenbanken (CS243) – Informationsintegration
3-29
Beziehungen zwischen (Teil-)Schemata
Schema i
Title
ISBN
Address
Name
FS 2013
Schema k
Book
Book
published_by
written_by
Publisher
works_for
Author
Datenbanken (CS243) – Informationsintegration
Title
ISBN
Address
Name
3-30
15
Schritt 4: Schema Alignment
•
•
•
Ziel dieses Schritts ist es, sie Konflikte aufzulösen, die im vorigen Schritt
identifiziert wurden
Hierzu müssen die lokalen Schemata transformiert werden
– Ändern von Entitätstypen (Namen und Typen von Attributen)
– Ändern von Beziehungen zwischen Entitätstypen / funktionale Abhängigkeiten
– Ändern von Kardinalitäten / Integritätsbedingungen
Dabei ist zu beachten:
– Nicht alle Konflikte lassen sich auflösen, da Informationen auf
widersprüchliche Arten darstellt sein können
– In diesem Fall müssen Domänenexperten (Anwendungsexperten)
entscheiden, welche Sicht der Anwendungswelt sie im integrierten Schema
unterstützen möchten
– Im Zweifelsfall werden solche Schemata bevorzugt, die die spätere
Anwendung (z.B. Data Warehousing-Anfragen) besser unterstützen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-31
Schritt 5: Schema Fusion
•
Aufeinander angeglichene (‚aligned‘) Schemata werden in einem einzigen
integrierten Schema zusammen geführt
– Je nach Wahl in Schritt 2 kann das für alle Schemata auf einmal passieren,
oder inkrementell
•
Vorgehen
– Gemeinsame Konzepte werden zusammengeführt
(z.B. Erweiterung der Attributliste)
– Unterschiedliche Konzepte werden zunächst unabhängig voneinander
in das integrierte Schema eingebracht, allerdings mit dem Ziel,
falls möglich Beziehungen zwischen (bisher disjunkten) Teilen zu
identifizieren und in das integrierte Schema aufzunehmen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-32
16
Alignment und Fusion
•
Beide Schritte werden in der Praxis verzahnt und iterativ ausgeführt
– Konflikte zwischen zwei lokalen Schemata werden aufgelöst
– Ein initiales integriertes Schema wird erstellt
– Nach und nach wird das integrierte Schema mit weiteren
lokalen Schemata fusioniert
•
Ergebnis
– Integriertes Schema (unter Berücksichtigung aller lokaler Schemata)
– Schema-Abbildung (Mapping)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-33
Schema-Abbildung (Mapping)
•
Eine Schema-Abbildung besteht aus zwei Teilen
– einer Menge von Korrespondenzen zwischen Elementen (Attributen,
Entitätstypen, Beziehungen) zweier Schemata
– Einer Beschreibung des Integrationsprozesses
•
Korrespondenzen
– zwischen Attributen werden auch als Wertkorrespondenzen bezeichnet
– daraus abgeleitet werden Korrespondenzen zwischen Entitätstypen und
Beziehungen (auch Schemakorrespondenzen genannt)
•
Je nach Heterogenitätsgrad der zu integrierenden lokalen Schemata lassen sich
Abbildungen mehr oder weniger gut formal beschreiben
•
Ein Mapping beschreibt sowohl die nötigen Anpassungen auf intensionaler Ebene
als auch die Transformationen, die auf extensionaler Ebene nötig werden
– Ziel ist es, jedes Konzept in jedem lokalen Schema durch eine Kette von
Abbildungen in das globale Schema zu überführen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-34
17
3.2 Datenintegration
•
•
•
Nach der Integration der Schemata (intensionale Ebene) müssen in einem
nächsten Schritt in der Regel auch die eigentlichen Daten (extensionale Ebene)
integriert werden. Man spricht hier auch von Datenintegration
Dazu gehört das Identifizieren von Datensätzen, die dasselbe Objekt der
realen Welt darstellen (d.h. Datensätzen, die in zwei oder mehreren lokalen
Datenbanken auftreten)
Bei der Datenintegration müssen oftmals inkonsistente und/oder nicht
vollständige Daten „repariert“ werden. Man spricht hier auch von
Datenbereinigung (Data Cleaning)
– Duplikaterkennung: welche (unterschiedlichen) Daten gehören zu
demselben Objekt?
– Inkonsistente Daten: in zwei oder mehreren lokalen Datenbanken werden
dieselben Objekte unterschiedlich gespeichert (z.B. durch fehlerhafte Daten,
veraltete Daten, falsch formatierte Daten, etc.)
– Inkomplette Daten: durch die Schemaintegration können Teile von
Datensätzen aus lokalen Quellen fehlen und müssen komplettiert werden
FS 2013
Datenbanken (CS243) – Informationsintegration
3-35
Vergleich von Extensionen
•
Auch wenn nach der Integration auf intensionaler Ebene die Schemata von
Datenbanken übereinstimmen, muss bei der Integration auf extensionaler Ebene
überprüft werden, welche Datensätze evtl. gemeinsam sind, und welche Daten
in die integrierte Datenbank überführt werden
Student (MatNr, Name, Studiengang, Wohnort)
Studierende
aus Basel
InformatikStudierende
Student (MatNr, Name, Studiengang, Wohnort)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-36
18
Semantische Duplikate …
•
Unterschiedliche Datensätze repräsentieren das gleiche Objekt der realen Welt
auf inkonsistente Art (d.h. produzieren einen Konflikt)
– In einzelnen Quellen: fehlerhafte Tupel
Bundesrat
Name
Vorname
Departement
Berset
Alain
EDI
Widmer-Schlumpf
Eveline
EJPD
…
…
…
…
…
– Vor der Integration müssen Daten bereinigt werden, um nach der Integration
potentielle semantische Duplikate zu verhindern
FS 2013
Datenbanken (CS243) – Informationsintegration
3-37
… Semantische Duplikate
•
Mögliche semantische Duplikate in unterschiedlichen Quellen (nach der
Integration), z.B.
– Verschiedene Wertebereiche für IDs
Bundesrat
Bundesrat
ID
Name
Vorname
Departement
ID
Name
Vorname
DL
Leuthard
Doris
UVEK
02
Leuthard
Doris
Departement
UVEK
EW
Widmer-Schlumpf
Eveline
EFD
04
Widmer-Schlumpf
Eveline
EFD
…
…
…
…
…
…
– Unterschiedliche Werte (Fehler oder Inkonsistenzen)
Bundesrat
Bundesrat
ID
Name
Vorname
Departement
ID
Name
Vorname
Departement
02
Leuthard
Doris
UVEK
02
Leuthard
Doris
EVD
04
Widmer-Schlumpf
Eveline
EFD
04
Widmer-Schlumpf
Eveline
EJPD
…
…
…
…
…
…
FS 2013
Datenbanken (CS243) – Informationsintegration
3-38
19
Inkorrekte Daten
•
Inkorrekte Daten können aus mehreren Gründen entstehen
– Durch Eingabefehler / Anwendungsfehler
Bundesrat Name
Vorname
Departement
Leuthard
Doris
UVEK
Widmer-Schlumpff
Evelyn
EFD
– Durch nicht-erzwungene Integritätsbedingungen
(zu jedem Zeitpunkt kann nur ein Departement geleitet werden)
Bundesrat Name
Vorname
Departement
Widmer-Schlumpf
Eveline
EJPD
Widmer-Schlumpf
Eveline
EFD
– Änderungen in der realen Welt
Bundesrat Name
FS 2013
Vorname
Departement
Leuthard
Doris
EVD
Widmer-Schlumpf
Eveline
EJPD
Datenbanken (CS243) – Informationsintegration
3-39
Data Cleaning
•
•
•
Unter Data Cleaning versteht man das Auffinden und Bereinigen von Fehlern
in der Ausprägung einer Datenbank
In der Praxis ist dies ein komplexes Problem
– Unterschiedliche Arten von Inkonsistenzen
– Erkennung erfordert zumeist vertieftes Anwendungswissen; generische
Lösungen sind nur begrenzt möglich
– Oftmals muss man zur Erkennung und Behebung auch verstehen,
welche Sicht auf die reale Welt für eine Datenbank die richtige ist
(was ist Bestandteil der Datenbank, was nicht?)
Bereinigte Daten sind in einer Vielzahl von Anwendungen essentiell
– Data Warehousing
– Data Mining
– Datenanalyse
– …
FS 2013
Datenbanken (CS243) – Informationsintegration
3-40
20
Cleaning-Prozess
•
Data Cleaning erfordert die systematische Bereinigung von Datenquellen,
in mehreren Schritten
1. Daten analysieren – sowohl das Schema als auch (Beispiel-)Daten
– Daten zunächst umwandeln, um die nachfolgenden Schritte zu vereinfachen,
z.B.
• Attribute aufsplitten
• Nachschlagen in Wörterbüchern (dictionary lookup), zur Fehlerkorrektur
• Standardisierte Darstellung
2. Datenbereinigung (Transformationen): iterative Folge von unterschiedlichen
Schritten
– Datentransformation entwerfen
– Datentransformation anwenden
– Datentransformation verifizieren (und evtl. wieder rückgängig machen)
– Gerade dieser iterative Prozess wird von vielen Werkzeugen nicht
oder nur ungenügend unterstützt
FS 2013
Datenbanken (CS243) – Informationsintegration
3-41
Vorverarbeitung …
•
Attribute aufsplitten
Bundesrat
•
Bundesrat
Name
Departement
Name
Vorname
Leuthard, Doris
UVEK
Leuthard
Doris
Departement
UVEK
Widmer-Schlumpf, Eveline
EFD
Widmer-Schlumpf
Eveline
EFD
Normalisierung
– Normalisierung von Datumsangaben
(z.B. festgelegte Zeitzone, GMT, UTC, PST, …)
– Normalisierung von Preisen (Festlegen einer Referenzwährung)
– Normalisierung von Masseinheiten (m, cm, ft, …)
www.schnaeppchen.ch
www.cheapstuff.co.uk
Item
Price
Item
Price
ipad 2
529
ipad 2
409
HTC One
349
HTC One
275
CHF
FS 2013
£
Datenbanken (CS243) – Informationsintegration
3-42
21
… Vorverarbeitung
•
Standardisierung, z.B.
– einheitliche Gross-/Kleinschreibung
– einheitliche Datumsformate, z.B. YYYY-MM-DD vs. DD.MM.YYYY
– Abkürzungen und Akronyme ausschreiben
– unterschiedliche Schreibweisen vereinheitlichen wie z.B. ß vs. ss
– …
Bundesrat
Bundesrat
FS 2013
Name
Vorname
Leuthard
Doris
Departement
UVEK
Widmer-Schlumpf
Eveline
EFD
Berset
A.
Eidgenössisches Departement des Innern
Name
Vorname
Departement
Leuthard
Doris
Eidgenössisches Departement für Umwelt, Verkehr,
Energie und Kommunikation
Widmer-Schlumpf
Eveline
Eidgenössisches Finanzdepartement
Berset
Alain
Eidgenössisches Departement des Innern
Datenbanken (CS243) – Informationsintegration
3-43
Dictionary Lookup
•
Verwendung von Wörterbüchern: Nachschlagen in Datenbanken mit hoher
(evtl. garantierter) Datenqualität zum Auffinden und Korrigieren von Fehlern
Name
Vorname
Kanton
Leuthard
Doris
AG
Widmer-Schlumpf
Eveline
GR
Berset
Allan
FR
…
Kantone
www.vornamen.ch/jungennamen/a.html
FS 2013
Datenbanken (CS243) – Informationsintegration
3-44
22
Ähnlichkeits- bzw. Distanzfunktionen
•
Für einen Dictionary Lookup muss man die Werte der integrierten Datenbank
mit den Werten aus dem Dictionary vergleichen, um den/die ähnlichsten
Eintrag/Einträge zu finden
– Benötigt wird ein Distanzmass bzw. ein Ähnlichkeitsmass zu Berechnung
•
Die besten Distanz-/Ähnlichkeitsmasse sind domänenspezifisch, lassen sich
daher nicht generisch angeben
•
Weit verbreitete generische Distanzmasse sind auf spezielle Datentypen
zugeschnitten
– Für binäre Werte / Codes:
• Hamming-Distanz
– Für Zeichenketten
• Phonetische Distanzmasse (z.B. Soundex)
• String Edit Distance (Levenshtein-Distanz)
• N-Gramme
FS 2013
Datenbanken (CS243) – Informationsintegration
3-45
Hamming-Distanz
•
•
•
Bezeichnet die Anzahl der unterschiedlichen Zeichen in Codes fester Länge
Sei S ein endliches Alphabet und x = (x1, x2, …, xn) sowie y = (y1, y2, …, yn)
Worte aus S, d.h. x, y œ Sn
Dann gilt für die Hamming-Distanz:
D(x,y) =
S
xi∫yi
1
mit i = 1, …, n
Beispiel:
01010101
01110001
FS 2013
Datenbanken (CS243) – Informationsintegration
3-46
23
Phonetische Suche
•
•
•
Basieren auf Indexierung von Worten gemäss ihrer Aussprache
Homophone (unterschiedlich geschriebene, aber gleich oder ähnlich
ausgesprochene Worte) erhalten denselben Index, werden daher als
ähnlich angesehen
Der am weitesten verbreitete Algorithmus zur phonetischen Suche ist Soundex
(andere sind z.B. NYSIIS oder Metaphone)
In Soundex wird ein Wort auf einen vierstelligen Code abgebildet,
bestehend aus einem Buchstaben und drei Ziffern
– Erster Buchstabe: Anfangsbuchstabe des Wortes
– Drei Ziffern: kodieren die restlichen Konsonanten. Ähnlich klingende
Konsonanten werden auf denselben Wert abgebildet, z.B. {B, F, P, V} → 1
Nach dritter Stelle wird abgebrochen bzw. bei kurzen Worten mit 0 aufgefüllt
– Beispiel:
•
Soundex ist auch in den gängigen DBMS (wie z.B. MS SQL, Oracle) verfügbar
•
FS 2013
Datenbanken (CS243) – Informationsintegration
3-47
String Edit Distance (Levenshtein-Distanz)
•
•
•
Definiert als Distanzmass zweier Strings und bezeichnet die minimale Anzahl an
atomaren Änderungsoperationen (Einfügen, Löschen, Ersetzen) von Zeichen,
um von einem String zum anderen zu gelangen
Beispiele
Varianten der String Edit Distance
– Häufig auftretende Fehler (wie verdrehte Buchstabenfolgen) werden
zusammen betrachtet und als einer Änderungsoperation angesehen
– Blockweise Betrachtung von Buchstaben, anstelle einzelner Buchstaben
(für die Anwendung auf ganze Sätze)
•
Das Verfahren ist sehr aufwändig: O(m·n), wobei m und n die Längen
der zu vergleichenden Strings sind
FS 2013
Datenbanken (CS243) – Informationsintegration
3-48
24
N-Gramme
•
Zu analysierende Wörter werden in Fragmente (in der Regel einzelne Buchstaben)
zerlegt. Danach werden jeweils n aufeinanderfolgende Fragmente zu N-Grammen
zusammen gefasst
– N-Gramme werden sehr häufig in der Computerlinguistik (aber z.B. auch
in der Gensequenzanalyse) verwendet
– Ausser auf Buchstaben können N-Gramme auch für Phoneme, Silben
oder ganze Wörter verwendet werden
•
Beispiel: Trigramme (N = 3)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-49
Jaccard-Distanz
•
Die Jaccard-Distanz Jd wird häufig zusammen mit N-Grammen verwendet
– Gibt das gemeinsame Auftreten von Elementen in zwei Mengen A und B an
(hier: gemeinsame N-Gramme zweier Wörter)
•
Definition: seien A und B zwei Mengen, dann ist
Jd(A, B) = 1- J(A, B) = 1-
|A … B|
|A » B|
=
|A » B| - |A … B|
|A » B|
•
Beispiel:
•
N-Gramme werden für die String-Ähnlichkeit oft auch verwendet, um (englische)
Strings in einen 263-dimensionalen Vektorraum (Dimensionen: aaa, aab, …, zzz)
abzubilden. In diesem Vektorraum wird dann u.a. die Kosinus-Distanz als
Ähnlichkeitsmass eingesetzt.
FS 2013
Datenbanken (CS243) – Informationsintegration
3-50
25
Objekterkennung und Konfliktauflösung
•
In der Phase ‚Objekterkennung und Konfliktauflösung‘ (Reconciliation) geht
es darum, semantische Duplikate in der Extension zu identifizieren und
allfällige Konflikte zwischen diesen semantischen Duplikaten zu eliminieren
1. Welche Tupel repräsentieren dasselbe Objekt (= semantische Duplikate)
2. Alle semantischen Duplikate werden durch ein einziges,
konsolidiertes Tupel ersetzt
•
Beispiel
Bundesrat Name
FS 2013
Vorname
Departement
Widmer-Schlumpff
Eveline
EFD
Leuthard
Doris
UVEK
Widmer-Schlumpf
Eveline
EJPD
Datenbanken (CS243) – Informationsintegration
3-51
Ähnlichkeit von Tupeln
•
Wie beim Vergleich einzelner Attribute benötigt man auch ein Ähnlichkeitsmass
für den Vergleich kompletter Tupel
– Tupel als ein String betrachten (Attribute konkatenieren) und bekannte
String-Ähnlichkeiten anwenden (aber: hohe Komplexität, ausserdem auch
grosse Nachteile bei fehlenden Attributen)
– Gewichtetes Mittel der Ähnlichkeitswerte der einzelnen Attribute
• Ähnlichkeit, falls gewichtetes Mittel > Schwellwert
– Vorgegebene Regeln (ebenfalls über die paarweise Ähnlichkeit
einzelner Tupel), z.B.
• D(t1, t2) = true, falls (t1.Name º t2.Name) ⁄ (t1.Vorname = t2.Vorname)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-52
26
Similarity Join
•
Um semantische Duplikate in einer Relation zu finden muss man alle Paare
von Tupel vergleichen (= Similarity Join)
– Dies entspricht einem Selbst-Join, allerdings müssen Join-Partner nicht
über die Gleichheit der gemeinsamen Attribute sondern über ihre Ähnlichkeit
ausgewählt werden
•
Naiver Ansatz bei Relation mit |N| Tupeln
– O(N2) Ähnlichkeitsvergleiche (Berechnung des kartesischen Produkts)
– Aber: Tupel-Vergleiche sind teuer – dieser Ansatz ist für grosse N
nicht verwendbar
FS 2013
Datenbanken (CS243) – Informationsintegration
3-53
Approximative Similarity Join
•
•
Unterschiedliche Verfahren versuchen die Berechnung von Similarity Joins zu
approximieren, um die Kosten für die Berechnung zu reduzieren
– Tupel, die zu keinen anderen Tupel unähnlich sind, von Berechnung
ausschliessen
– Nur „aussichtsreiche“ Ähnlichkeitsvergleiche durchführen
– …
Diese Verfahren approximieren, da im Vergleich zum naiven Ansatz
ähnliche Tupel übersehen werden können
FS 2013
Datenbanken (CS243) – Informationsintegration
3-54
27
Approximative Similarity Join: Blocking
•
Grundüberlegung: ähnliche Tupel stimmen zumindest in einigen Attributen
(Keys) überein
– Bestimmung der Blöcke aus Tupeln mit identischen Attributwerten in den
Keys, z.B. durch
• Gruppierung mittels Group By in SQL über den Keys
• Hashing über Key-Attributen
• Sortierung nach Key-Attributen
– Similarity Join muss dann nur noch für r Tupel innerhalb einer Gruppe
durchgeführt werden (r á N)
•
Das Verfahren reduziert die Anzahl der Vergleiche, reagiert aber sehr empfindlich
auf fehlerhafte Werte in den Key-Attributen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-55
Approximative Similarity Join: SNM
•
•
SNM: Sorted Neighborhood Method
Grundüberlegung: ähnliche Tupel besitzen ähnliche Werte in bestimmten
Attributen
– Sortierung bringt ähnliche Werte näher zueinander
– Vergleich nur von Tupeln, die in der Sortierung nahe beieinander liegen
– Verwendet für die Ähnlichkeitsbetrachtung ein sliding window fester Grösse
– Komplexität: O(N·w), w: Grösse des sliding windows und w á N
•
Erhöhung der Ergebnisqualität
– Mehrere Durchläufe mit jeweils unterschiedlichen Keys, nach denen
sortiert wird
– Betrachtung der transitiven Hülle der Ähnlichkeit, d.h.
t1 º t2 ⁄ t2 º t3 fl t1 º t3
•
SNM ist robust gegenüber kleineren Fehlern in den Keys, erfordert aber nach
wie vor die Ähnlichkeit (ähnliche Tupel werden nur gefunden, wenn sie im
gleichen sliding window sind)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-56
28
Konfliktauflösung
•
Nach dem Ermitteln von semantischen Duplikaten müssen allfällige Konflikte
behoben werden
•
Naiver Ansatz: eines der Tupel aus einer Menge von semantischen Duplikaten
wird ausgewählt, die anderen verworfen
•
Reconciliation:
– Attributwerte werden gemäss vorgegebener Funktionen zur Konfliktauflösung
zusammen geführt
• Diese Funktionen sind anwendungsspezifisch bzw. domänenspezifisch,
z.B.
– Für numerische Werte: min, max, avg, …
– Auswahl gemäss Vertrauen in die Quelle, aus der das Tupel stammt
– Alle Werte werden aufbewahrt
• Ist nur möglich bei einem nicht rein relationalen Datenmodell
(z.B. in ORDBMS, bei mengenwertigen Attributen)
•
In der Praxis erfolgt die Reconciliation zumeist in Form des naiven Ansatzes,
durch manuelle Auswahl von Tupeln (bzw. durch sehr einfache Regeln)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-57
Qualitätsmass für die Duplikaterkennung …
•
Dies entspricht einer Klassifikationsaufgabe, die die Menge der „relevanten“
(R, Elemente gehören zur Zielklasse) von der Menge der „nicht-relevanten“
(N, Elemente gehören nicht zur Zielklasse) unterscheiden soll.
•
Bei den relevanten Elementen, die korrekt der Zielklasse zugeordnet werden,
spricht man von “true positives” (TP), nicht relevante Elemente die korrekterweise
nicht der Zielklasse zugeordnet werden, bezeichnet “true negatives” (TN).
•
Unter “false positive” (FP) versteht man ein nicht-relevantes Element, das
fälschlicherweise als positiv klassifiziert wurde, unter “false negative” (FN) ein
relevantes Element, das fälschlicherweise als nicht-relevant klassifiziert wurde.
R
N
FN
TN
TP
FS 2013
FP
Datenbanken (CS243) – Informationsintegration
P = TP + FP
als positiv klassifizierte
Elemente
3-58
29
… Qualitätsmass für die Duplikaterkennung
•
Wichtigste Masse sind Precision und Recall
– Precision: wie gut ist die Klassifikation bei der Vermeidung von false positives,
d.h. welcher Prozentsatz der als positiv klassifizierten ist tatsächlich korrekt
Prec 
R  P (TP  FN )  (TP  FP)
| TP |


P
TP  FP
| TP |  | FP |
– Recall: wie gut ist die Klassifikation bei der Vermeidung von false negatives,
d.h. welcher Prozentsatz der relevanten Elemente wurde tatsächlich erkannt
Rec 
R  P (TP  FN )  (TP  FP)
| TP |


R
TP  FN
| TP |  | FN |
– Fscore (F): Verbindet Precision und Recall
F  2
FS 2013
Prec  Rec
Prec  Rec
Datenbanken (CS243) – Informationsintegration
3-59
Zusammenfassung Datenintegration
•
Vor Datenintegration: einzelne Datenquellen bereinigen
•
Durchführung der eigentlichen Datenintegration
– Quellen zusammen führen (natürlich erst nach erfolgter Schemaintegration)
– ggf. Daten transformieren, um einen integrierten Datenbestand zu erstellen
•
Nach Datenintegration: integrierten Datenbestand ggf. nochmals bereinigen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-60
30
3.3 Informationsintegration im Data Warehousing
•
Die Schemata von Datenbanken ändern sich in der Regel nicht allzu häufig.
Schemaintegration wird daher im Data Warehousing nur einmal durchgeführt
bzw. immer dann, wenn dies nötig wird.
•
Die Daten selbst ändern sich häufig und müssen daher regelmässig in das
Data Warehouse überführt werden
•
Man spricht dabei auch von ETL-Operationen (Extraction, Transformation, Load)
– Extraction: Datenquellen werden überwacht und die für das Data Warehouse
relevanten Daten werden zu vorgegebenen Zeitpunkten extrahiert
– Transformation: Anwendung von vorgegebenen Transformationsregeln
• Zur Anpassung des Quellschemas an das Schema der integrierten
Datenbank (= des Data Warehouse)
• Zur Bereinigung der Datenquellen (vor bzw. nach der Integration)
– Load: Das Laden der Daten in das Data Warehouse. Dabei können
evtl. vordefinierte Konsistenzüberprüfungen vorgenommen werden
(z.B. Integritätsbedingungen, etc.)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-61
ETL-Prozess
Quellen
Extract
Transform
Staging Area
Load
Integrierte Datenbank
(Data Warehouse)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-62
31
Einstufige Architektur
Source Level
Operationale und
externe Daten
ETL
Feeding Level
Warehouse Level
Integrierte Datenbank
(Data Warehouse)
Analysis Level
Daten-Transformation
Daten-Bereinigung
Aggregation
De-Normalisierung
Metadaten
Data
Mart
Data Mining
FS 2013
•
•
•
•
OLAP
Reporting
Datenbanken (CS243) – Informationsintegration
3-63
Mehrstufige Architektur
Operationale und
externe Daten
Source Level
ETL
Feeding Level
Integrierte Datenbank
ETL
Warehouse Level
• Aggregation
• De-Normalisierung
Data Warehouse
Metadaten
Analysis Level
Data
Mart
Data Mining
FS 2013
• Daten-Transformation
• Daten-Bereinigung
OLAP
Reporting
Datenbanken (CS243) – Informationsintegration
3-64
32
Integrierte Datenbank
•
Enthält das Ergebnis der Bereinigung und Integration der Quellen
•
Die Granularität ist in der Regel die der Quellen
(d.h. Daten sind beispielsweise nicht aggregiert)
•
Das Datenmodell ist durch das integrierte Schema gegeben
•
Dieser Zwischenschritt wird oftmals eingesetzt um die Integration/Bereinigung
der Daten vom Befüllen des Warehouses zu trennen
– Zusätzliche Aktivitäten: Aggregation der Daten, Transformation in
mehrdimensionales Datenmodell (Ø Kapitel 7), etc.
FS 2013
Datenbanken (CS243) – Informationsintegration
3-65
Vorgehen
•
Typischerweise werden Data Warehouses in einem Bottom-Up-Prozess,
beginnend mit den Quellsystemen erstellt
– Design der Integrierten Datenbank
• Abbildung Quellschemata Ø integriertes Schema
– Festlegen der Transformationen / Datenbereinigungen
– Design des Data Warehouses
• Abbildung integriertes Schema Ø Date Warehouse-Schema
– Festlegen, wie das Data Warehouse befüllt wird
• De-Normalisierungen, Aggregationen, evtl. weitere Transformationen
FS 2013
Datenbanken (CS243) – Informationsintegration
3-66
33
Historische Daten
•
Data Warehouses werden hauptsächlich für die strategische Planung und Analyse
eingesetzt (z.B. um Trends festzustellen). Daher werden nicht nur die aktuellen
Werte der Quellen gespeichert, sondern auch, wie sich diese über die Zeit
entwickelt haben.
– Data Warehouses müssen also die komplette Geschichte von Daten
verwalten, oder zumindest eine aggregierte Sicht darüber
(z.B. Mittelwert der Verkaufszahlen eines Produkts)
– Beispiel für Daten mit historischem Bezug: für jeden Wert werden zwei
Zeitstempel gespeichert, zwischen denen der Wert aktuell war
•
Daten der Quellen selbst können
– transient sein: es werden nur aktuelle Daten aufbewahrt.
Änderungsoperationen überschreiben alte Daten (z.B. Lagerbestand)
– mehrere Versionen enthalten: eine mehrere historische Daten werden
aufbewahrt (z.B. eine fest vorgegebene Anzahl alter Zustände, etc.).
Es ist oftmals nicht bekannt, wie lange diese Daten aufbewahrt werden
– sämtliche Versionen beinhalten: sämtliche Versionen von Daten werden
aufbewahrt (z.B. aus rechtlichen Gründen für ein vorgegebenes Zeitintervall)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-67
Extraktion
•
Man unterscheidet zwischen inkrementellen und statischen Extraktionstechniken
•
Statische Extraktion:
– Verwendet einen Snapshot jeder operativen Datenbank.
Frühere Snapshots werden komplett überschrieben
– Nicht geeignet für transiente Datenquellen und Datenquellen mit mehreren
Versionen (da historische Daten überschrieben werden können)
– Die Load-Operation entspricht dann einer kompletten Ersetzung des
Data Warehouse
•
Inkrementelle Extraktion:
– Verwendet nur die Änderungen, die in den operationalen Datenbanken seit
der letzten Integration vorgenommen wurden
– Die Load-Operation entspricht einem „Refresh“ des Data Warehouse
FS 2013
Datenbanken (CS243) – Informationsintegration
3-68
34
Inkrementelle Extraktion
•
Unmittelbar, bei Änderung in Quellsystem
– Trigger-basiert: Änderungen werden durch Trigger überwacht und weiter
propagiert. Das ist in der Regel recht ineffizient und nur für kleine Teile der
Datenbank anwendbar
– Log-basiert: Änderungen werden via Datenbank-Log überwacht. Allerdings
haben DB-Logs in der Regel ein proprietäres Format bzw. sind nur nutzbar,
wenn DBMS entsprechendes Extraktions-Modul besitzt
– Anwendungs-basiert: Protokollierung von Änderungen direkt in die OLTPAnwendung eingebaut (z.B. für DB-Systeme ohne Log und Trigger)
•
Verzögert
– Basiert auf Zeitstempel der letzten Integration. Dies erfordert jedoch die
Änderung des Schemas der Quelldatenbank (z.B. Änderungszeitstempel
wird mit abgespeichert)
FS 2013
Datenbanken (CS243) – Informationsintegration
3-69
Literatur
[LN 07] Ulf Leser und Felix Naumann: „Informationsintegration – Architekturen
und Methoden zur Integration verteilter heterogener Datenquellen“.
dpunkt.verlag, 2007.
FS 2013
Datenbanken (CS243) – Informationsintegration
3-70
35
Herunterladen