27
Informationsintegration Datenfusion: Union und Co. 12.7.2006 Jens Bleiholder When you use information from one source, it‘s plagiarism; when you use information from many sources, it‘s information fusion.“ [Belur V. Dasarathy] 12.7.2007 2 Rückblick Semantische Heterogenität ist ein überladener Begriff ohne klare Definition. Er bezeichnet die Unterschiede in Bedeutung, Interpretation und Art der Nutzung.“ [Öszu, Valduriez 91] Namenskonflikte Identität Datenkonflikte

VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

InformationsintegrationDatenfusion: Union und Co.

12.7.2006

Jens Bleiholder

„When you use information from one source, it‘s plagiarism; when you use information from many sources, it‘s information fusion.“

[Belur V. Dasarathy]

12.7.2007

2

Rückblick

„Semantische Heterogenität ist ein überladener Begriff ohne klare Definition. Er bezeichnet die Unterschiede in Bedeutung, Interpretation und Art der Nutzung.“

[Öszu, Valduriez 91]

Namenskonflikte

Identität

Datenkonflikte

Page 2: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

3

Semantische Heterogenität

■ Gleiches Objekt mehrfach beobachtet■ Manuelle Erfassung der Daten■ Objekt ändert Eigenschaften von Zeit zu Zeit■ Keine global konsistente ID

□ ISBN, SSN, etc.

081508150815

t

0875✍08150815

0815 4711

Quelle A Quelle B

12.7.2007

4

Typische Anwendungen

■ Personen- und Adressdaten□ Volkszählungen□ Werbeaktionen□ Kundenpflege

■ Bibliographische Daten□ Zentrale Register

■ Waren/Katalogdaten□ Einkauf bei mehreren Shops

■ Webseiten□ Metasuchmaschinen

■ Molekularbiologische Daten

Page 3: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

5

Überblick

Schema Matching

Duplikaterkennung

Datenfusion

Visualisierung/Export

Anwendung

Schritt 1:

Schritt 2:

Schritt 3:

Schritt 4:

DatenquellenNamenskonflikte(schematische Konflikte)

Identitätsproblem

Datenkonflikte

12.7.2007

6

Schema Matching

Findet semantisch gleiche Attribute in Relationen■ Zwei Attribute, die gleiche Bedeutung tragen■ Attributnamen und -werte dürfen sich unterscheiden

Fantasy

Anim.

Sci-Fi

Crime

Genre

Wachowski1999The Matrix

Adamson2001Shrek

Crowe2001Vanilla Sky

Petersen2004Troy

Ritchie2000Snatch

DirectorYearTitle

Fantasy161999Matrix

Comedy162000Vannile Sky

Sci-FiR2001Vannila Ski

HistoryR2004Troja

CrimeR1999Snatch

GenreRatingJahrTitel

Page 4: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

7

Schema Matching

Formales Problem■ Zwei Tabellen, mit unterschiedlichen Attributen■ Erzeuge eine Abbildung, die jedem Attribut einer Tabelle die semantisch

gleichen der anderen Tabellen zuordnet

Problemerweiterungen■ Mehrere Tabellen■ 1:m und n:m Beziehungen■ XML Dokument, also Nesting

12.7.2007

8

Objektidentifikation

Findet Duplikate in Relationen■ Zwei Tupel, die das gleiche real-world Objekt repräsentieren■ Attributwerte dürfen sich unterscheiden

Fantasy

Anim.

Sci-Fi

Crime

Genre

5

4

3

2

1

ID

Wachowski1999The Matrix

Adamson2001Shrek

Crowe2001Vanilla Sky

Petersen2004Troy

Ritchie2000Snatch

DirectorYearTitle

5

3

3

2

1

ID

Fantasy161999Matrix

Comedy162000Vannile Sky

Sci-FiR2001Vannila Ski

HistoryR2004Troja

CrimeR1999Snatch

GenreRatingJahrTitel

Page 5: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

9

Objektidentifikation

Formales Problem■ Eine Tabelle (der Größe N), potentiell mit Duplikaten■ Erzeuge für jedes Tupel eine ID, so dass Duplikate gleiche ID‘s erhalten

Problemerweiterungen■ Zwei Tabellen mit unterschiedlichem Schema■ Ein XML Dokument mit Duplikaten

12.7.2007

10

Datenkonflikte

Zwei Duplikate haben unterschiedliche Attributwerte für semantisch gleiches Attribut.

21

DCBAID

1

1ECBAID

unique, check, key

(inter-source)

(intra-source)

Page 6: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

11

Datenkonflikte – Beispiele

amazon.deamazon.de

bol.debol.de

IDID

5.99 €Moby DickHerman Melville0766607194

3.98 €H. Melville0766607194 ⊥

12.7.2007

12

Datenkonflikte – Entstehung

■ Keine Integritätsbedingungen / Konsistenz-Checks■ Redundante Schemata■ Vorhandensein von Duplikaten■ Nicht korrekte Einträge

□ Tippfehler, Übertragungsfehler□ Falsche Rechenergebnisse

■ Obsolete Einträge□ Verschiedene Aktualisierungszeitpunkte

– ausreichende Aktualität einer Quelle– verzögerte Aktualisierung

□ Vergessene Aktualisierung

Innerhalb eines Informationssystems

Page 7: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

13

Datenkonflikte – Entstehung

■ Unterschiedliche Datentypen (mit/ohne Codierung)

□ 1,2,...,5 bzw. "sehr gut", "gut", ..., mangelhaft"

■ Gleicher Datentyp

□ Schreibvarianten– Kantstr. / Kantstrasse / Kant Str. / Kant Strasse– Kolmogorov / Kolmogoroff / Kolmogorow

□ Typische Verwechslungen (OCR)– U<->V, 0<->o, 1<->l, usw.

Innerhalb eines Informationssystems

12.7.2007

14

Datenkonflikte – Behebung

■ Referenztabellen für exakte Wertabbildung□ Z.B. Städte, Länder, Produktnamen, Codes...

■ Ähnlichkeitsmaße□ bei Tippfehlern□ bei Sprachvarianten (Meier, Mayer,...)

■ Standardisieren und transformieren■ Nutzung von Hintergrundwissen (Metadaten)

□ Konventionen (landestypische Schreibweisen)□ Ontologien zur Behandlung von Zusammenhängen□ Thesauri, Wörterbücher zur Behandlung von Homonymen,

Synonymen, ...

Innerhalb eines Informationssystems

Page 8: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

15

Datenkonflikte – Entstehung

■ Lokal konsistent aber global inkonsistent

■ Duplikate

■ Unterschiedliche Datentypen

■ Lokale Schreibweisen/Konventionen

Integration von Informationssystemen

12.7.2007

16

Datenkonflikte – Behebung

■ Präferenzordnung über Datenquellen□ Aktualität□ Trust (Vertrauen)□ Öffnungszeiten □ usw.

■ Informationsqualität■ Konfliktlösungsfunktionen

Integration von Informationssystemen

Page 9: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

17

Datenkonflikte – Implementierung

Prozedural

■ Programm

■ Im DB Kern

Deklarativ

■ Anfragesprache

Schnell Gut in materialisierten ISSchlecht wiederverwendbar

Funktioniert gut in föderierten ISWiederverwendbarLangsamer

12.7.2007

18

Relationale Objektintegration

Union (Vereinigung), z.B.[GUW02]

Eliminierung exakter Duplikate

Minimum Union, [GL94]

Eliminierung subsumierter Tupel

Jedoch

Duplikatintegration

Konfliktlösung

Auch: Join, Merge, Group, …

Page 10: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

19

Relationale Algebra – Vereinigung

34MeierStefanie2

32MüllerPeter1

alternachnamevornamep_id

Mitarbeiter m

44ZwickelAndreas7

28WegerPetra5

alternachnamevornamep_id

Employees e

44ZwickelAndreas7

28WegerPetra5

34MeierStefanie2

32MüllerPeter1

alternachnamevornamep_id

m ∪ e

Frage: Wie sieht m ∪ e aus?

12.7.2007

20

Union zur Informationsintegration?

Was bedeutet UNION compatible?

Gleiche Spaltenzahl Gleiche Datentypen

Verschiedene Schemata?Null-Werte?

Datenkonflikte?

Page 11: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

21

Relationale Algebra – Vereinigung

34MeierStefanie2

32MüllerPeter1

alternachnamevornamep_id

Mitarbeiter m

12.3.60ZwickelAndreas7

21.3.76WegerPetra5

geborennachnamevornamep_id

Employees e

Anderes Schema:

m ∪ e nicht definiert!

Problemlösung:

SchemaSQL

Schema Mapping

12.7.2007

22

Relationale Algebra – Vereinigung

34ZwickelAndreas7

28WegerPetra5

alternachnamevornamep_id

Mitarbeiter m

⊥ZwickelAndreas7

28WegerPetra5

alternachnamevornamep_id

Employees e

Null-Werte

⊥ZwickelAndreas7

28WegerPetra5

34ZwickelAndreas7

alternachnamevornamep_id

m ∪ e

„ ⊥“ vs. „34“ ist auch ein Konflikt!

Page 12: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

23

Relationale Algebra – Vereinigung

34ZwickelAndreas7

32MüllerPeter1

alternachnamevornamep_id

Mitarbeiter m

44ZwickelAndreas7

28WegerPetra5

alternachnamevornamep_id

Employees e44ZwickelAndreas7

28WegerPetra5

34ZwickelAndreas7

32MüllerPeter1

alternachnamevornamep_id

m ∪ e

„44“ vs. „34“ ist erst recht ein Konflikt!

12.7.2007

24

Konfliktbehebung mit Union?

a, ba, -

=> a, ba, -

a, ba, b

=> a, b

a, ba, c

=> a, ba, c

a, -, da, c, -

=> a, -, da, c, -

Quelle 1 →Quelle 2 →

ExakteDuplikate!

Page 13: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

25

Konfliktbehebung mit Union?

Ungeeignet

■ Es werden nur „echte“ Duplikate entfernt.

■ In SQL nur mit DISTINCT (Aufwand!)

Außerdem

■ Es können leicht strukturelle Konflikte auftreten:

□ Primärschlüssel

■ Es muss Schemagleichheit herrschen

12.7.2007

26

Minimum Union

Seien R1 und R2 Relationen mit Schemata S1 bzw. S2.

Outer Union füllt R1 und R2

zunächst mit NULL-Werten auf, so dass beide dem Schema S1∪S2 entsprechen.

Dann wird die Vereinigung der beiden aufgefüllten Relationen gebildet.

Beispiel aus [Cod79]

21Q

12P

21P

CBA

R

V3

U2

DB

S

V⊥3⊥

U⊥2⊥

2

1

2

C

⊥1Q

⊥2P

⊥1P

DBA

Outer Union, [Cod79]

Frage: Wie sieht aus?

Page 14: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

27

Minimum Union

Ein Tupel t1 subsumiert ein Tupel t2, wenn

- es über die gleichen Attribute definiert ist,

- t2 hat mehr NULL Werte als t1,

- t1 = t2 für alle nicht-NULL Werte von t2.

Schreibweise:R↓ ergibt die Tupel aus R, die nicht subsumiert sind.

2Meyer⊥2

2⊥Wiebke2

42⊥Peter1

32⊥Peter1

⊥⊥Peter1

⊥MüllerPeter1

32MüllerPeter1

alternachnamevornamep_id

R

42⊥Peter1

2⊥Wiebke2

2Meyer⊥2

32MüllerPeter1

alternachnamevornamep_id

R↓

Frage: Wieviele Tupel hat R↓?

Subsumption, [Ull89]

12.7.2007

28

Minimum Union – NULL-Werte

Semantik der NULL? [GUW02]

■ Wert unbekannt ("unknown")□ Es gibt einen Wert, ich kenne ihn aber nicht□ Bsp.: Unbekannter Geburtstag

■ Wert nicht anwendbar ("inapplicable")□ Es gibt keinen Wert, der hier Sinn macht□ Bsp.: Ehemann/-frau für Ledige

■ Wert zurückbehalten ("withheld")□ Wir dürfen den Wert nicht erfahren□ Bsp.: Geheime Telefonnummer

Page 15: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

29

Minimum Union – NULL-Werte

C.J. Date:- "Into the Unknown"- "Much Ado About Nothing"- "NOT Is Not Not!"- "Oh No Not Nulls Again"-…

"Value does not exist"

"Value undefined"

"Value not supplied"

"Total ignorance" NULL

„Distinguished" NULL

Im weiteren: "Unknown"

12.7.2007

30

Minimum Union – Beispiel

55

32

alter

MeyerWiebke3

SchmidtFranz2

MüllerPeter1

nachnamevornamep_id

Kunde K

56

32

alter

⊥3

Schmidt2

Müller1

nachnamep_id

Customer C

Minimum Union, [GL94]

56⊥⊥3

55

32

alter

MeyerWiebke3

SchmidtFranz2

MüllerPeter1

nachnamevornamep_id

56⊥⊥3

⊥Schmidt⊥2

32Müller⊥1

55

32

alter

MeyerWiebke3

SchmidtFranz2

MüllerPeter1

nachnamevornamep_id

Page 16: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

31

Konfliktbehebung mit Minimum Union?

a, ba, -

=> a, b

a, ba, b

=> a, b

a, ba, c

=> a, ba, c

a, -, da, c, -

=> a, -, da, c, -

Quelle 1 →Quelle 2 →

Nicht in Standard-DBMS implementiert!

Subsumption!

12.7.2007

32

Und was ist mit Join?

28LehmannKlaus4

55

32

alter

MeyerWiebke3

SchmidtFranz2

MüllerPeter1

nachnamevornamep_id

Kunde K

47Weger5

56

32

alter

Meier3

Schmidt2

⊥1

nachnamep_id

Customer C

55

32

K.alter

Wiebke

Franz

Peter

K.vorname

Meier

Schmidt

C.nachname

56

32

C.alter

Meyer3

Schmidt2

Müller1

K.nachnamep_id

K ⋈p_id C

Frage: Ist Join zur Konfliktbehebung geeignet?

Page 17: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

33

Merge und Prioritized Merge

■ Vermischt Join und Union zu einem Operator

■ COALESCE beseitigt NULLs

■ Priorisierung möglich (⊳)

■ Lässt sich mit Hilfe von SQL ausdrücken

( SELECT K.p_id, K.vorname, Coalesce(K.nachname, C.nachname), Coalesce(K.alter, C.alter)

FROM K LEFT OUTER JOIN C ON K.p_id = C.p_id )

UNION

( SELECT C.p_id, K.vorname, Coalesce(C.nachname, K.nachname), Coalesce(C.alter, K.alter)

FROM K RIGHT OUTER JOIN C ON K.p_id = C.p_id )

Merge (⊠), [GPZ01]

12.7.2007

34

Merge – Beispiel

28LehmannKlaus4

55

32

alter

MeyerWiebke3

SchmidtFranz2

MüllerPeter1

nachnamevornamep_id

Kunde K

47Weger5

56

32

alter

Meier3

Schmidt2

⊥1

nachnamep_id

Customer C

47Weger⊥5

28LehmannKlaus4

56MeyerWiebke3

56

55

32

alter

Wiebke

Franz

Peter

vorname

Meier3

Schmidt2

Müller1

nachnamep_id

C ⊠ KFragen: Wiesieht das Schema aus? Wie das Ergebnis?

Page 18: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

35

Konfliktbehebung mit Merge?

a, ba, -

=> a, b

a, ba, b

=> a, b

a, ba, c

=> a, ba, c

a, -, da, c, -

=> a, c, d

Quelle 1 →Quelle 2 →

KeineSubsumption!

12.7.2007

36

Und was gibt es sonst noch?

Match Join [YaÖz99]

■ Komplexer Operator

ConQuer [FuFM05]

■ „Consistent Query Answering“

■ Rewriting einer SQL Anfrage

Burdick et. al. [BDJR05]

■ Uncertainty in Data Warehouses

■ „Possible Worlds“

Probabilistische Modelle [Mich89]

■ Erweitern das Schema um Wahrscheinlichkeiten

Page 19: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

37

Was sollte Duplikatintegration können?

a, ba, -

=> a, b

a, ba, b

=> a, b

a, ba, c

=> a, cr(b,c)

a, -, da, c, -

=> a, c, d

Quelle 1 →Quelle 2 →

Konfliktbehandlung

12.7.2007

38

Konfliktbehandlung

Lösungsidee(Strategie)

Ausführung(Funktion)

Benutzer

System

Page 20: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

39

Strategien, um Konflikte zu…

Pass it on

Take the informationNo Gossiping

Trust your friends

Cry with the wolvesRoll the dice

Meet in the middle

Nothing is older thanthe news from yesterday

…ignorieren

…vermeiden

…lösen

12.7.2007

40

Konfliktlösungsfunktionen

….….

Benutzt eine TaxonomieMostAbstract, MostSpecific

Nimmt aktuellsten WertMostRecent

Gruppiert, fügt zusammenGroup, Concat

Nimmt ersten nicht-null WertCoalesce

QuellenauswahlChoose(source)

Wahl abhängig von val in colChooseDepending(col, val)

MehrheitsentscheidVote

Nimmt längsten/kürzesten WertLongest, Shortest

Nimmt ersten/letzten Wert, reihenfolgeabhängigFirst, Last

ZufallswahlRandom

Standard AggregationsfunktionenMin, Max, Sum,

Count, Avg, StdDev

Page 21: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

41

Ausführung von Konfliktlösung

Union, Joinund Co.

Gruppierung(nach ID)

Mit SQL Bordmitteln?

12.7.2007

42

Gruppierung – Beispiel

21.1.95Martina

2006.6.99Jochen

25.4.02Martina

113.3.01Franz

1212.7.03Peter

3023.4.02Peter

2010.11.03Peter

wertdatumname

Bestellungen b

SELECT name, SUM(wert)

FROM BestellungenGROUP BY name

200Jochen

4Martina

11Franz

62Peter

wertname

Page 22: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

43

Gruppierung und Aggregation

■ Gruppierung weist jedem Attribut zu:

□ Gruppierung oder

□ Aggregation

■ Tupel werden gruppiert nach gleichen Gruppierungswerten, alle anderen Attribute werden innerhalb der Gruppen aggregiert.

■ NULL-Werte bilden eigene Gruppe

SELECT name, SUM(wert)

FROM BestellungenGROUP BY name

12.7.2007

44

Gruppierung zur Integration

■ Outer-Union auf alle Quellen

■ Mit SQL GROUP BY umschließen

□ Gruppierung nach ID Attribut

□ Aggregat-Funktionen als Konfliktlösungsfunktion für alle anderen Attribute.

Page 23: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

45

Gruppierung zur Integration

SELECT p_id, RESOLVE(vorname), RESOLVE(nachname), RESOLVE(alter) FROM K ] CGROUP BY p_id

55MeyerWiebke3

55SchmidtFranz2

32MüllerPeter1

alternachnamevornamep_id

56Meier⊥3

⊥Schmidt⊥2

32Müller⊥1

55

55

32

alter

MeyerWiebke3

SchmidtFranz2

MüllerPeter1

nachnamevornamep_id

12.7.2007

46

Gruppierung zur Integration

56Meier⊥3

⊥Schmidt⊥2

32Müller⊥1

55

55

32

alter

MeyerWiebke3

SchmidtFranz2

MüllerPeter1

nachnamevornamep_id

SELECT p_id, MAXLEN(vorname), CHOOSE(nachname,C), MAX(alter) FROM K ] CGROUP BY p_id

56MeierWiebke3

55SchmidtFranz2

32MüllerPeter1

alternachnamevornamep_id

LängsterString

C ist bevorzugteQuelle

größterWert

Page 24: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

47

Gruppierung – Beispiel

SELECT books.isbn,MAXLEN(books.title),MIN(books.price)

FROM (SELECT * FROM books1

UNIONSELECT * FROM books2

)AS books

GROUP BY books.isbn

books1 books2

GROUP+

aggregates

12.7.2007

48

Gruppierung – Vor-/Nachteile

Vorteile■ Effizient

□ Implementierung durch Sortierung■ Behandelt Duplikate innerhalb einer Quelle und zwischen Quellen gleich.■ Simpel / kurz

Nachteile■ Beschränkt auf eingebaute Standard Aggregat-Funktionen:

□ MAX, MIN, AVG, VAR, STDDEV, SUM, COUNT■ Gruppierung nur nach Gleichheit

□ ID Attribut ist notwendig■ Outer Union nicht immer implementiert.

Page 25: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

49

Gruppierung – Vor-/Nachteile

Nachteile genauer:■ Standard Aggregate

□ MAX, MIN, AVG, VAR, STDDEV, SUM, COUNT□ Erweiterung um „user-defined aggregates“

– Optimierung– Assoziativität und Kommutativität nicht sichergestellt.

□ Einzig Informix bot dies an. □ Außerdem zwei Forschungsprojekte

■ Standard Gruppierung□ Implizit ist Gleichheit gefordert.□ Besser wäre: GROUP BY similar(id,name,birthdate)□ Wird nirgends angeboten

– Effizienz ist schwer für den Optimierer abzuschätzen.– Transitivität kann nicht gewährleistet werden.

12.7.2007

50

Dies sollten Sie gelernt haben

Namenskonflikte

Identität

Datenkonflikte

Semantische Heterogenität

Lösungen

(Minimum) Union

Gruppierung/Aggregation

Join, Merge, …

SQL

UrsachenProbleme

Page 26: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

12.7.2007

51

Masterarbeiten

■ GenFuse

□ Automatische Generierung von Fusionsanfragen

□ Nutzung historischer Daten

□ Nutzung von Präferenzen

■ DifFuse

□ Erfassung von Differenzen von Fusionen

□ Nutzererfahrungen

□ Maße

12.7.2007

52

Literatur

[GL94] Outerjoins as Disjunctions, Cesar A. Galindo-Legaria, SIGMOD 1994 conference

[Cod79] E. F. Codd: Extending the Database Relational Model to Capture More Meaning. TODS 4(4): 397-434 (1979)

[Ull89] Jeffrey D. Ullman: Principles of Database and Knowledge-Base Systems, Volume II. Computer Science Press 1989

[GUW02] Hector Garcia-Molina, Jeffrey D. Ullman and Jennifer Widom, Database Systems, Prentice Hall, 2002

[GPZ01] S. Greco, L. Pontieri, E. Zumpano, Integrating and Managing Conflicting Data, Springer, 2001

[YaÖz99] L. L. Yan, T. Özsu, Conflict tolerant queries in AURORA, CoopIS 1999 conference

[FuFM05] A. Fuxman, E. Fazli, R. Miller, Conquer: Efficient Management of inconsistent databases, SIGMOD 2005 conference

[BDJR05] D. Burdick, P. Deshpande, T. Jayram, R. Ramakrishnan, S. Vaithyanathan, OLAP OverUncertain and Imprecise Dat, VLDB 2005 conference

[Mich89] L. DeMichiel, Resolving Database Incompatibility: An Approach to Performing Relational Operations over Mismatched Domains, IEEE Trans. Knowl. Data Eng., 1989(1), p. 485-493

Page 27: VL Fusion 2007 - Hasso Plattner Institute · 2014-07-29 · 7 Andreas Zwickel 12.3.60 5 Petra Weger 21.3.76 p_id vorname nachname geboren Employees e Anderes Schema: m ∪ e nicht

Vielen Dank fürs Zuhören!

■ Zusammenfassung:

□ Datenintegration

□ Relationale Datenfusion

□ Umsetzung

■ Thema Dienstag:

□ Hidden Web