Automatisiertes Auffinden von Präfix- und Suffix-Inklusionsabhängigkeiten in relationalen Datenbankmanagementsystemen

Ähnliche Dokumente
Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Da ist zunächst der Begriff der Menge.

Datenbanken. Schemaerweiterung zur Abbildung von Imperfekten Daten. Andreas Merkel

Das relationale Datenmodell

DWH Automatisierung mit Data Vault 2.0

Kapitel 1: Einführung 1.1 Datenbanken?

Jan Hegewald. Informationsintegration in Biodatenbanken

d.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y

Vorlesung Datenbanken I Zwischenklausur

Repetitive Strukturen

Aufgabe 3. Sei A eine Menge von Zahlen und neg das Tripel. neg = (A, A, R) A = N A = Z A = R A = R \ {0} mod : N 0 N N 0

FGIS SS Datenbanktheorie 1.2. Enthaltensein-Problem

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

ER-Modell, Normalisierung

Darstellungsformen von Funktionen

String - Matching. Kapitel Definition

funktionale Abhängigkeiten: Semantik funktionale Abhängigkeiten: Syntax

Geoinformation Abbildung auf Tabellen

Wissensentdeckung in Datenbanken

Relationales Datenbanksystem Oracle

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Datenbanken Unit 3: Das relationale Modell

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Cognitive Interaction Technology Center of Excellence

Das Frühwarnsystem für die. Das Frühwarnsystem für die Ausliefer-Produkt-Audits (APA) (APA)

13 Mehrdimensionale Zufallsvariablen Zufallsvektoren

Konzeptueller Entwurf

ODE-Solver. Inhalt. Einleitung. grundlegende Algorithmen. weiterführende Algorithmen

Finden Sie eine Relation R und eine Menge A so dass

1. Einführung Seite 1. Kapitel 1: Einführung

Diplomprüfung für Vermessungsingenieure Herbsttrimester 2009 Fach: Geoinformationssysteme

Data Mining auf Datenströmen Andreas M. Weiner

Rückblick: Datenbankentwurf

Indexstrukturen für Zeichendaten und Texte

Eigenschaften von Datenbanken, insbesondere

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Lösungen zur Übungsserie 1

Einführung in die Informatik II

Die Nerode-Relation und der Index einer Sprache L

Grundbegriffe der Wahrscheinlichkeitsrechnung

Kapitel 1: Wiederholungsfragen Grundlagen DBS

Partitionierungsstrategien für Data Vault

Datenbanksysteme I Übung: Normalformen und Relationale Algebra Jana Bauckmann

Kommunikation und Datenhaltung. Übungsblatt D1. (Relationale Algebra & SQL)

Datenbanken Unit 3: Das relationale Modell

Konstruktion von Suffix Bäumen

DATAFUSION IM MILCHVIEHSTALL

3. Grundlagen relationaler Datenbanksysteme

TU München. Hauptseminar: WS 2002 / Einführung in Suffix - Bäume

6. Einführung 43. gilt. Dann soll also A B x B = b eindeutig lösbar sein, also A B vollen Rang haben, d. h. invertierbar (regulär) sein.

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

pue08 December 9, 2016

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

D-MATH, D-PHYS, D-CHAB Analysis I HS 2017 Prof. Manfred Einsiedler. Lösung 4

5.2 Entity-Relationship-Modell

Informationssysteme. Prof. Dr. Hans Czap. Lehrstuhl für Wirtschaftsinformatik I. Lehrstuhl für Wirtschaftsinformatik I - II - 1 -

Kapitel 4: Das Überdeckungsproblem

1.3 Aussagen. Beispiel: Das Bruttosozialprodukt der Bundesrepublik Deutschland ist höher als das der USA ist eine offenbar falsche Aussage.

Datenbanken. Teil 2: Informationen. Kapitel 2: Einführung. Zusammenfassung der Grundbegriffe. Übersicht über wichtige Grundbegriffe:

Algorithmik und Programmieren

Einführung in die mathematische Logik

Kapitel DB:IV (Fortsetzung)

3. Das Relationale Datenmodell

Effiziente Algorithmen

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Distributed Algorithms. Image and Video Processing

Gröbnerbasen in Monoid- und Gruppenringen

1 Zahlentheorie. 1.1 Kongruenzen

5 Verteilte Algorithmen. vs5 1

Kapitel 3: Grundlagen von Anfragesprachen

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Vorlesung Datenstrukturen

8 Baum in perfekter Komposition

5 Sortieren in eindimensionalen Zellularautomaten

3. Relationen Erläuterungen und Schreibweisen

Kap. 5.3: SAP-Datenmodell, Metadatenverwaltung

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

Software-Engineering Einführung

Mathematik für Naturwissenschaftler II SS 2010

3 Werkzeuge der Mathematik

Informatik II, SS 2018

Mathe <> Deutsch. Die 7 verwirrendsten Mathe-Floskeln einfach erklärt! Math-Intuition.de

Datenbanken Unit 2: Das ER-Modell

Datenvorverarbeitung von nominalen Daten für Data Mining

Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006

B Grundbegriffe zu Mengen und Abbildungen

Mathematische Grundlagen der Computerlinguistik. Relationen und Funktionen (Teil 1)

Theoretische Informatik SS 03 Übung 11

Kapitel II Funktionen reeller Variabler

Algorithmische Bioinformatik 1

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?

Frequent Itemset Mining + Association Rule Mining

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Alternative Lösung. Analysis I (WS 08/09) Denk/Rheinländer Gruppe 1 (Sylvia Lange) Universität Konstanz FB Mathematik & Statistik.

4. Tries und kd-bäume

2.1. Konvexe Hülle in 2D

Ästhetik ist die Theorie der ästhetischen Erfahrung, der ästhetischen Gegenstände und der ästhetischen Eigenschaften.

Transkript:

Automatisiertes Auffinden von Präfix- und Suffix-Inklusionsabhängigkeiten in relationalen Datenbankmanagementsystemen Exposé für eine Diplomarbeit Jan Hegewald Betreut von Jana Bauckmann 7. März 2007 1 Hintergrund Das Projekt Aladin [LN05] verfolgt das Ziel Datenbanken der Life Sciences weitgehend automatisch zu integrieren. Die Integration erfolgt hierbei weder Schema-orientiert noch mittels einer manuellen Datenanalyse, sondern über die automatische Erkennung von Abhängigkeiten zwischen Objekten. Die integrierten Daten lassen sich dann durch Verfolgen der Beziehungen zwischen den Objekten browsen oder mittels einer Anfragesprache abfragen. 2 Aufgabenstellung Typische Life-Sciences-Datenbanken beschreiben jeweils einen biologischen Sachverhalt, beispielsweise DNA oder Proteine. Zwischen einzelnen Datenbanken bestehen Zusammenhänge. So verweist etwa eine Datenbank über Krankheiten typischerweise von einer Krankheit auf beteiligte Gene in einer Gendatenbank. Diese semantischen Zusammenhänge sind nicht explizit syntaktisch deklariert, sondern müssen zunächst ermittelt werden. Die verschiedenen Datenquellen können als relationale Datenbanken repräsentiert werden, deren Struktur einem Star Schema ähnelt. Die jeweils beschriebenen Objekte, wie beispielsweise Proteine, werden in der Faktentabelle, hier Primärrelation genannt, abgelegt und durch einen Primärschlüssel, die sogenannte Accession Number, identifiziert. Zusätzliche Eigenschaften dieser Objekte werden in Dimensionstabellen gespeichert. Im Rahmen der Diplomarbeit sollen Beziehungen zwischen beliebigen Attributen aus einer Datenquelle und den Accession Numbers der Primärrelation einer anderen Datenquelle automatisch identifiziert werden. Die zu betrachtenden Datenquellen sind in der Regel mehrere Gigabyte groß und bestehen jeweils aus sehr vielen Attributen, die wiederum sehr viele Werte beinhalten. Für die beschriebene Aufgabe werden jedoch nicht einzelne Datenbanken, sondern alle zu integrierenden Datenbanken betrachtet. Um Beziehungen zwischen Attributen zu entdecken, müssen im Allgemeinen alle Paare von 1

Attributen auf eine Beziehung zueinander geprüft werden. Im vorliegenden Fall ist es voraussichtlich möglich nur die Accession Number der Primärrelation mit allen anderen Attributen aller anderen Datenquellen auf eine Beziehung zueinander zu testen, da bei einer Beziehung von einer Datenquelle zu einer anderen meist die Accession Number der Primärrelation, also das jeweilige biologische Objekt, referenziert wird. Selbst unter diesen Umständen muss jedoch eine sehr hohe Zahl von Tests zwischen zwei Attributen durchgeführt werden, die jeweils alle Tupel einbeziehen müssen, sofern es sich um eine Beziehung handelt. Daher besteht eine besondere Herausforderung der Arbeit darin, die semantischen Zusammenhänge sehr effizient zu finden. 3 Vorgehen 3.1 Definitionen Als Beziehungen sollen im konkreten Fall Präfix- und Suffix-Inklusionsabhängigkeiten, (Prefix-Suffix-Inclusion-Dependencies, PS-INDs), betrachtet werden. Die im Folgenden eingeführten Begriffe werden in Abbildung 1 an Hand eines Beispiels visualisiert. Eine Inklusionsabhängigkeit zwischen zwei Attributen ist im Allgemeinen so definiert, dass die Menge der Werte des einen Attributes A in der Menge der Werte des anderen Attibutes B enthalten sein muss. A B PS-INDs seien nun so definiert, dass eine Menge von Werten eines Attributs in der Menge der Bildwerte einer Funktion f, angewandt auf ein anderes Attribut, enthalten ist. Ist die Abbildung f eine Funktion, die eine Zeichenkette um ein Präfix oder um ein Suffix ergänzt, so handelt es sich um eine Präfix- bzw. Suffix-Inklusionsabhängigkeit und damit wahrscheinlich um einen semantischen Zusammenhang der zwei Attribute. Typischerweise treten PS-INDs zwischen dem Attribut, das die Accession Numbers enthält, und einem Attribut einer Relation in einer anderen Datenbank auf. Dasjenige Attribut, das die Accession Numbers enthält, wird hierbei als referenziertes Attribut bezeichnet, das andere als abhängiges Attribut. Die Werte der Attribute werden analog bezeichnet. Abbildung 1: Beispiel für eine Präfix-Inklusionsabhängigkeit 2

3.2 Herangehensweise Eine mögliches Vorgehen zum Finden von PS-INDs besteht darin, zunächst als Abbildung f nur das Anhängen eines Suffixes s zu betrachten. f(x) := concat(x, s) Um zu testen, ob eine PS-IND vorliegt, reicht es dabei aus, zu prüfen, ob die Menge aller Werte des Attributes A eine Teilmenge der Werte des Attributes B verkettet mit dem Suffix s bildet. A concat(b, s) Im Detail wird dies im folgenden Abschnitt 3.3 beschrieben. Als nächstes soll der Fall betrachtet werden, in dem man PS-INDs finden möchte, bei denen die Abbildung f ein Präfix p vor den referenzierten Wert stellt. f(x) := concat(p, x) In diesem Fall ist zu prüfen, ob die Inklusionsbeziehung A concat(p, B) gilt. Definiert man die Operation ( ) 1 als Umkehrung eines Strings, so ist die obige Beziehung äquivalent zu: A 1 concat(b 1, p 1 ) Somit kann man das Präfix-Problem auf das Suffix-Problem zurückführen und jeder Algorithmus, der das Suffixproblem löst, löst auch das Präfixproblem. Die geforderte echte Inklusionsbeziehung tritt in der Praxis möglicherweise selten auf, da Daten oft verschmutzt sind. Um dennoch PS-INDs zu finden, müsste der Algorithmus so modifiziert werden, dass er einen festgelegten Anteil von nicht-abhängigen Werten toleriert und dennoch eine PS-IND zwischen zwei Attributen erkennt. 3.3 Teilaufgaben Eine Teilaufgabe beim Finden von PS-INDs ist das Erkennen möglicher Präfixe oder Suffixe. Hierbei ist zunächst zu definieren, welche Typen in Frage kommen. Es ist denkbar Affixe variabler Länge zu erkennen, wenn die Länge der Accession Number konstant ist. Dies ist auch ein praktikabler Ansatz, wenn der referenzierte Wert aus anderen Zeichen besteht als das Affix, beispielsweise aus numerischen und alphabetischen Zeichen. Alternativ könnte man Affixe fester Länge suchen. Dieser Fall ist einfacher zu behandeln, wenn sich die Länge der Affixe zuverlässig ermitteln lässt. Für die Erkennung kommen verschiedene Ansätze in Betracht: Pattern-Mining-Algorithmen, Verfahren, die auf Datenbankstatistiken beruhen, oder selbst zu entwickelnde Ansätze. Wurde ein wahrscheinliches Affix ermittelt, muss ein Algorithmus gefunden werden, der entsprechend den oben dargelegten Überlegungen die Inklusionsbeziehung zwischen den Werten der zwei Attribute überprüft. Hierbei wird es bei Affixen fester Länge wahrscheinlich zielführender sein, beim Vergleich nicht die referenzierten Werte um das Affix zu ergänzen, sondern 3

dieses vom abhängigen Wert zu entfernen und anschließend die Inklusionsbeziehung zu prüfen. Für den Fall variabler Affixe müssen andere Wege zum Testen der Inklusionsbeziehung gefunden werden. Sofern möglich, soll der bestehende Algorithmus SPIDER [BLNT07] für das Finden der PS-INDs angepasst und verwendet werden. Da die zu untersuchenden Datenquellen mehrere GBytes groß sind, muss ein Algorithmus zur Lösung dieses Problems sehr effizient sein. Daher sind Komplexitätsabschätzungen unabdinglich. Weiterhin sind Heuristiken zu entwickeln, die syntaktisch scheinbare, aber semantisch unwahrscheinliche Abhängigkeiten erkennen und somit ausschließen können. 4 Erweiterungsmöglichkeiten Bisher wurde angenommen, dass die Abbildung entweder Präfixe oder Suffixe an den referenzierten Wert anhängt. Gibt man diese Annahme auf, so funktioniert das oben vorgeschlagene Verfahren eventuell noch, wenn man die Suffixe und Präfixe identifizieren und abschneiden kann. Ist dies nicht möglich, so wäre ein Zeichenkettentest auf das Enthaltensein der referenzierten Werte in den abhängigen Werten anzuwenden. Die Laufzeit des Algorithmus dürfte in diesem Fall jedoch wahrscheinlich (viel) schlechter werden, da für jeden Wert des potenziell referenzierten Attributs getestet werden muss, ob irgendein Wert des potenziell abhängigen Attributs existiert, der den referenzierten Wert als Teilstring enthält. Außerdem kann man die Annahme aufgeben, dass ein Attribut genau eine semantische Beziehung zu einem anderen Attribut in einer anderen Relation aufweist. Statt dessen könnten die abhängigen Werte Accession Numbers verschiedener Datenquellen referenzieren. Hier müssten dann Gruppen von abhängigen Werten gefunden werden. Eine Gruppe ist eine Teilmenge der Werte eines Attributs, die für sich betrachtet eine PS-IND zu einer Accession Number aufweist. Kann diese minimale Anzahl/Anteil gefunden werden, so deutet dies auf eine Beziehung zwischen den Tupeln der beteiligten Relationen hin. Dieser Fall ist ungleich schwieriger. Mindestens zwei Ansätze sind möglich. Zunächst könnte man das Problem eventuell auf das verschmutzter Daten reduzieren. Hierbei müsste man den zulässigen Anteil der nicht-abhängigen Werte hoch ansetzen und das abhängige Attribut auf eine PS-IND mit weiteren Attributen testen, auch wenn bereits semantische Beziehungen zu Primärrelationen gefunden wurden. Fraglich ist dann jedoch, ob es noch zuverlässig möglich sein wird Affixe in der Gesamtmenge der Werte des Attributs zu erkennen. Alternativ könnte man zunächst versuchen die einzelnen Gruppen zu identifizieren und dann jede einzelne auf eine PS-IND mit anderen Attributen zu testen. Diese Partitionierung des abhängigen Attributs könnte wahrscheinlich nur über Pattern- Mining-Algorithmen erreicht werden. Da Pattern-Mining-Algorithmen jedoch wahrscheinlich eine recht hohe Komplexität haben, ist es fraglich, ob dieser reine Vorverarbeitungsschritt in für die Datenmengen hinreichender Performanz umgesetzt werden kann. 4

Literatur [BLNT07] Jana Bauckmann, Ulf Leser, Felix Naumann, and Véronique Tietz. Efficiently detecting inclusion dependencies. In Proceedings of the International Conference on Data Engineering (ICDE 2007), 2007. [LN05] Ulf Leser and Felix Naumann. (Almost) Hands-off information integration for the life sciences. In Proceedings of the Conference on Innovative Database Research (CIDR 2005), 2005. 5