Warum Informationsintegration?



Ähnliche Dokumente
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Datenbanken. Prof. Dr. Bernhard Schiefer.

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

1 Mathematische Grundlagen

3. Das Relationale Datenmodell

7. Übung - Datenbanken

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug Name: Note:

Business Intelligence Praktikum 1

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Data Warehouse Definition (1)

Präsentation zum Thema XML Datenaustausch und Integration

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Schlüssel bei temporalen Daten im relationalen Modell

30. Juni Technische Universität Kaiserslautern. Paul R. Schilling

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Zeichen bei Zahlen entschlüsseln

Primzahlen und RSA-Verschlüsselung

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Allgemeines zu Datenbanken

Elexis-BlueEvidence-Connector

Aufgabe 1: [Logische Modellierung]

Barrierefreie Webseiten erstellen mit TYPO3

OP-LOG

Software Engineering Klassendiagramme Assoziationen

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

2.5.2 Primärschlüssel

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Vorlesung Dokumentation und Datenbanken Klausur

Kapitalerhöhung - Verbuchung

Programmiersprachen und Übersetzer

Grundbegriffe der Informatik

Klassifikation von Integrationskonflikten

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

SQL - Übungen Bearbeitung der Datenbank Personal (1)

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Stellungnahme. E-Government-Standards Seite 1 von 6. Dokument:...eCH Version: ech-kategorie:...standard. Datum der Eingabe:

Theoretische Grundlagen der Informatik WS 09/10

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Objektrelationale Datenbanken

Integration verteilter Datenquellen in GIS-Datenbanken

A1.7: Entropie natürlicher Texte

Abschluss Version 1.0

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

2 Evaluierung von Retrievalsystemen

Zahlensysteme: Oktal- und Hexadezimalsystem

Business Intelligence Praktikum 1

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

Datenidentifikation und -synchronisation: Grundlage zur Erfüllung der Qualitätsanforderungen beim Datenaustausch zwischen Systemen

Software-Engineering Einführung

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Informationsblatt Induktionsbeweis

SharePoint Demonstration

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Klaus Schild, XML Clearinghouse Namensräume

Theoretische Informatik SS 04 Übung 1

Die Downloadarea ist nur noch bedingt mit den bestehenden Dingen befüllt, wird aber nicht mehr aktualisiert.

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Data Quality Management: Abgleich großer, redundanter Datenmengen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Erstellen einer PostScript-Datei unter Windows XP

Kurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin.

, WS2012 Übungsgruppen: Mo.,

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Lizenzierung von System Center 2012

BASIS Karten, WEA-Katalog, Projektierung, Objekte etc.

Die Excel Schnittstelle - Pro Pack

SWE5 Übungen zu Software-Engineering

PowerPoint 2010 Mit Folienmastern arbeiten

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Whitebox-Tests: Allgemeines

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Reporting Services und SharePoint 2010 Teil 1

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Data Warehouse ??? Ein Data Warehouse ist keine von der Stange zu kaufende Standardsoftware, sondern immer eine unternehmensindividuelle

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Task: Nmap Skripte ausführen

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Kapitel 7: Formaler Datenbankentwurf

Updatehinweise für die Version forma 5.5.5

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Einführung. Informationssystem als Abbild der realen Welt

OPERATIONEN AUF EINER DATENBANK

Hinweise zum Ausfüllen der Zeiterfassung

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Educase. Release Notes 1.7: Neue Funktionen und Verbesserungen. Base-Net Informatik AG Wassergrabe 14 CH-6210 Sursee

Transkript:

Frühjahrsemester 2013 CS243 Datenbanken Kapitel 3: Informationsintegration* H. Schuldt * Folien basieren zum Teil auf Unterlagen von Dr. Diego Milano Aus Kapitel 1: Warum Informationsintegration? 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 A 1 A 2 A 3 A 4 A 5 Anwendungen Ext. Schema 1 Ext. Schema 2 Ext. Schema 3 Externe Ebene Logische Datenunabhängigkeit Logisches Schema Konzeptuelle (logische) Ebene Physische Datenunabhängigkeit Internes Schema Interne (physische) Ebene 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 Schema 1 Externes Schema 1 Logisches Schema 1... lokales Schema n Externes Schema n Logisches Schema n Extension 1 Internes Schema 1 Internes Schema n Extension n DBMS 1 DBMS n FS 2013 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 Schema 1 lokales Schema n Externes Schema 1 Logisches Schema 1... Externes Schema n Logisches Schema n Extension 1 Internes Schema 1 Internes Schema n Extension n DBMS 1 DBMS n FS 2013 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 L 1,, L n 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 <author id="mf"> <first->max</first> <last>frisch</last> </author> <book> <title> </title> </book> FS 2013 Datenbanken (CS243) Informationsintegration 3-15 Schemaintegration Integriertes (globales) Schema Schema- Abbildung... lokales Schema L 1 lokales Schema L n DBMS 1 DBMS n FS 2013 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 <author id="mf"> <first->max</first> <last>frisch</last> </author> <book> <title> </title> </book> FS 2013 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 ); cat_desc cat_name cat_code Product Normalisierung und Korrektur: Das Ausgangsschema ist nicht normalisiert und stellt die Beziehungen der Anwendungswelt nicht korrekt dar. prod_desc prod_name prod_code CREATE TABLE category( cat_desc VARCHAR(255), cat_name VARCHAR(255), cat_code INTEGER PRIMARY_KEY, ); Product (1,1) Description/String Name/String Code / integer 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 (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 n-ary ladder balanced single step iterative FS 2013 Datenbanken (CS243) Informationsintegration 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 Book Title ISBN Title ISBN Book published_by Publisher Publisher_address Publisher Address Name FS 2013 Datenbanken (CS243) Informationsintegration 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 SSN Citizen Age SSN Citizen FS 2013 Datenbanken (CS243) Informationsintegration 3-25 Semantische Konflikte Homonyme: zwei Konzepte besitzen denselben Namen, aber unterschiedliche Bedeutungen Synonyme: zwei Konzepte haben dieselbe Bedeutung, aber unterschiedliche Namen Äquivalent, aber linguistischer Konflikt Æ Synonyme inkompatibel Employee Worker Teacher Object (1,1) (1,1) (1,1) (1,1) assigned_to assigned_to teaches instance_of (1,n) (1,n) (1,n) (1,n) Department Department Class Class identisch Nicht äquivalent Æ Homonyme FS 2013 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 Employee (1,1) (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 Name Professor Name (0,1) (2,n) teaches teaches (1,n) (1,n) Course Course_ID Course Course_ID FS 2013 Datenbanken (CS243) Informationsintegration 3-29 Beziehungen zwischen (Teil-)Schemata Schema i Schema k Title ISBN Book Book Title ISBN published_by written_by Address Name Publisher works_for Author Address Name FS 2013 Datenbanken (CS243) Informationsintegration 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 Informatik- Studierende 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 ID Name Vorname Departement DL Leuthard Doris UVEK EW Widmer-Schlumpf Eveline EFD Bundesrat ID Name Vorname Departement 02 Leuthard Doris UVEK 04 Widmer-Schlumpf Eveline EFD Unterschiedliche Werte (Fehler oder Inkonsistenzen) Bundesrat ID Name Vorname Departement 02 Leuthard Doris UVEK 04 Widmer-Schlumpf Eveline EFD Bundesrat ID Name Vorname Departement 02 Leuthard Doris EVD 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 Vorname Departement Leuthard Doris EVD Widmer-Schlumpf Eveline EJPD FS 2013 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 Name Leuthard, Doris Widmer-Schlumpf, Eveline Departement UVEK EFD Bundesrat Name Vorname Departement Leuthard Doris UVEK 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 Item Price ipad 2 529 HTC One 349 www.cheapstuff.co.uk Item Price ipad 2 409 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 Name Vorname Departement Leuthard Doris UVEK Widmer-Schlumpf Eveline EFD Berset A. Eidgenössisches Departement des Innern Bundesrat 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 FS 2013 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 = (x 1, x 2,, x n ) sowie y = (y 1, y 2,, y n ) Worte aus S, d.h. x, y œ S n Dann gilt für die Hamming-Distanz: D(x,y) = S 1 x i y i 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 J d 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 A B A» B - A B J d (A, B) = 1- J(A, B) = 1- = A» B A» B Beispiel: N-Gramme werden für die String-Ähnlichkeit oft auch verwendet, um (englische) Strings in einen 26 3 -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 Vorname Departement Widmer-Schlumpff Eveline EFD Leuthard Doris UVEK Widmer-Schlumpf Eveline EJPD FS 2013 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(t 1, t 2 ) = true, falls (t 1.Name º t 2.Name) (t 1.Vorname = t 2.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(N 2 ) Ä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