Probabilistische Datenbanken



Ähnliche Dokumente
Zeichen bei Zahlen entschlüsseln

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Professionelle Seminare im Bereich MS-Office

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

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

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Primzahlen und RSA-Verschlüsselung

Vorlesung Dokumentation und Datenbanken Klausur

Was meinen die Leute eigentlich mit: Grexit?

1 Mathematische Grundlagen

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Dieses erste Kreisdiagramm, bezieht sich auf das gesamte Testergebnis der kompletten 182 getesteten Personen. Ergebnis

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

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

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Lineare Gleichungssysteme

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

4. BEZIEHUNGEN ZWISCHEN TABELLEN

How to do? Projekte - Zeiterfassung

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

Alle gehören dazu. Vorwort

Informationsblatt Induktionsbeweis

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Hilfedatei der Oden$-Börse Stand Juni 2014


Der Zwei-Quadrate-Satz von Fermat

Studieren- Erklärungen und Tipps

Kapitalerhöhung - Verbuchung

Leichte-Sprache-Bilder

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Berechnungen in Access Teil I

Anleitung über den Umgang mit Schildern

Anwendungsbeispiele Buchhaltung

Theoretische Informatik SS 04 Übung 1

Dow Jones am im 1-min Chat

Null-Werte in Relationalen Datenbanken

Im Original veränderbare Word-Dateien

TECHNISCHE UNIVERSITÄT MÜNCHEN

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Professionelle Seminare im Bereich MS-Office

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Beweisbar sichere Verschlüsselung

Statuten in leichter Sprache

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Ein Ausflug zu ACCESS

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

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

Sollsaldo und Habensaldo

Das Leitbild vom Verein WIR

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Konzepte der Informatik

2.5.2 Primärschlüssel

3. LINEARE GLEICHUNGSSYSTEME

Eine Logikschaltung zur Addition zweier Zahlen

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Modellbildungssysteme: Pädagogische und didaktische Ziele

Codex Newsletter. Allgemeines. Codex Newsletter

Das Persönliche Budget in verständlicher Sprache

Durchführung der Datenübernahme nach Reisekosten 2011

Lineare Gleichungssysteme

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Summenbildung in Bauteiltabellen mit If Then Abfrage

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

SEMINAR Modifikation für die Nutzung des Community Builders

Webalizer HOWTO. Stand:

LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE

Wir machen neue Politik für Baden-Württemberg

Die Post hat eine Umfrage gemacht

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Daten sammeln, darstellen, auswerten

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

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

So gehts Schritt-für-Schritt-Anleitung

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Tutorial: Entlohnungsberechnung erstellen mit LibreOffice Calc 3.5

Geld Verdienen im Internet leicht gemacht

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Anlegen eines DLRG Accounts

Umfrage der Klasse 8c zum Thema "Smartphones"

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Data Mining: Einige Grundlagen aus der Stochastik

Einkaufen im Internet. Lektion 5 in Themen neu 3, nach Übung 10. Benutzen Sie die Homepage von:

Grundlagen der Informatik

Guide DynDNS und Portforwarding

Repetitionsaufgaben Wurzelgleichungen

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Transkript:

Probabilistische Datenbanken Seminar Intelligente Datenbanken AG Intelligente Datenbanken Prof. Dr. Rainer Manthey 26.04.05 Maarten van Hoek - 1 -

Inhaltsverzeichnis 1.0 Einleitung...3 2.0 Modell probabilistischer Daten...4 2.1 Darstellung in relationalen Datenbanken...5 2.2 Integritätsbedingungen für probabilistische Daten...6 3.0 Relationale Algebra...8 3.1 Basisdefinitionen...8 3.2 Hilfsoperatoren...8 3.3 Grundoperatoren...9 4.0 Null-Werte in probabilistischen Daten...12 5.0 Zusammenfassung...13 Quellen...14-2 -

1.0 Einleitung Datenbanken spielen in der heutigen Welt eine sehr wichtige Rolle. Überall werden Datenbanken zur Verwaltung größerer Datenmengen eingesetzt. Den größten Anteil an eingesetzten Datenbanken bilden die Relationalen Datenbanken. Bei Relationalen Datenbanken liegt die Annahme einer fehlerfreien und richtigen Welt zugrunde, das heißt, in Relationalen Datenbanken werden Daten zu einem Modell der realen Welt gespeichert und die Daten werden als richtig und fehlerfrei angesehen. Fragt man eine Datenbank nach der Telefonnummer einer Person, wird die Datenbank entweder keine Antwort ausgeben oder alle gespeicherten Telefonnummern zu dieser Person. Es wird angenommen, dass die eingetragenen Telefonnummern richtig sind. In der Realität wissen wir jedoch, dass Daten sehr schnell veraltern, falsch eingegeben werden oder aus eventuell unzuverlässigen Quellen stammen und daher nicht immer richtig sind. Probabilistische Datenbanken versuchen nun genau diesem Punkt Rechnung zu tragen. Probabilistische Daten stellen mögliche Weltzustände dar, speichern also mögliche Wirklichkeiten. Man ordnet den Daten bestimmte Wahrscheinlichkeiten zu und ist so in der Lage, die Unsicherheit über die Richtigkeit der Daten darzustellen. So könnte man z.b. zwei Datenbanken zu einer zusammenfassen und bei voneinander abweichenden Daten, beide speichern und den jeweiligen Daten bestimmte Wahrscheinlichkeiten zuordnen. Oder man könnte eine Art Alterungsfunktion benutzen um der Unsicherheit über ältere Daten gerecht zu werden. Im 2. Kapitel wird daher ein Modell einer probabilistischen Datenbank vorgestellt und gezeigt wie in diesem Modell mit der Unsicherheit über die Wirklichkeit umgegangen wird. Das Modell kann in einer relationalen Datenbank gespeichert werden und erfüllt die 1NF. Am Ende von Kapitel 2 wird noch verdeutlicht, welche Integritätsbedingungen für dieses probabilistische Modell erfüllt sein müssen. Der sinnvolle Umgang mit den probabilistischen Daten kann durch eine echte Erweiterung der relationalen Algebra erreicht werden, wie in Kapitel 3 zu lesen ist. Hier werden beispielhaft ein paar Operatoren dargestellt und wie diese zu ändern sind. An Beispielen wird gezeigt wie diese arbeiten. Zusätzlich wird auch ein neuer Konditionierungsoperator vorgestellt, der für sinnvolle Ergebnisse von Operatoren auf probabilistischen Daten sehr hilfreich ist. Da Null-Werte bereits in relationalen Datenbanken eine ähnliche Bedeutung wie unsicheres -Wissen haben, kommt ihnen in probabilistischen Daten eine ganz besondere Rolle zu, wie in Kapitel 4 vorgestellt wird. - 3 -

2.0 Modell probabilistischer Daten Probabilistische Daten unterscheiden sich von bisherigen relationalen Daten, da sie die Unsicherheit über das Wissen eines Datums darstellen müssen. Ist man sich also zum Beispiel unsicher welches Studienfach ein bestimmter Student mit der Matrikelnummer 1481 studiert, könnte man sich das so vorstellen, wie in Tabelle 1 gezeigt. Matr.Nr. Name Fach 1481 Uwe Informatik [0,6] Medizin 1578 Fritz Mathematik Sport [0,4] [0,7] [0,3] Tabelle1: Beispiel für Unsicheres Studienfach Es ist hier nicht sicher, welches Fach der Student 1481 studiert, es sind lediglich die Wahrscheinlichkeiten bekannt. Mit der Wahrscheinlichkeit 0,6 studiert er Informatik und mit der Wahrscheinlichkeit von 0,4 studiert er Medizin. Die Wahrscheinlichkeiten: Es gibt sehr viele Möglichkeiten solche Wahrscheinlichkeiten zu bestimmen, so wäre es zum Beispiel denkbar 100 Leute zu befragen, was sie glauben, welches Fach der Student 1481 studiert. Halten 60% der Leute ein Informatikstudium für wahrscheinlich, könnte man die Wahrscheinlichkeit für ein Informatikstudium mit 0,6 angeben, somit würde die Wahrscheinlichkeit die anteilige Meinung der Befragten widerspiegeln. Man könnte auch durch persönliche Einschätzungen die Wahrscheinlichkeiten bestimmen, z.b. Ich glaube aus meinem alten Adressbuch stimmen noch 80% aller Daten oder Ich glaube die Chancen stehen 50-50, dass es heute regnen wird. Eine weitere Möglichkeit wäre, die Wahrscheinlichkeiten versuchen zu berechnen aufgrund von Vorhersagen oder Trends oder vorherigen Ergebnissen, wie zum Beispiel Wetterdaten oder Sportergebnisse. Im Folgenden soll es keine Rolle spielen, wie die Wahrscheinlichkeiten ermittelt wurden und ob sie aussagekräftig sind oder nicht. Es wird davon ausgegangen, dass derjenige, der die Daten mit den zugehörigen Wahrscheinlichkeiten eingegeben hat, wusste was er tut. Das Ziel dieser Ausarbeitung ist zu zeigen wie mit probabilistischen Daten unseres Modells sinnvoll umgegangen wird und nicht, dass die Daten korrekt sind oder wie sie zu bilden sind. Mögliche Welten Probabilistische Daten speichern nicht mehr das Modell einer Welt, wie es in relationalen Datenbanken üblich ist. Vielmehr speichern sie das Modell vieler möglicher Welten. So stellen die Daten von Tabelle 1 nicht eine mögliche Welt, sondern vier mögliche Welten dar. So könnte Student 1481 Informatik studieren und Student 1578 Sport, jedoch könnte auch 1481 Medizin und 1578 Sport studieren usw. - 4 -

2.1 Darstellung in relationalen Datenbanken Probabilistische Daten sind also Daten, die die Unsicherheit über die genaue Ausprägung von Attributen darstellen, indem man diesen bestimmte Wahrscheinlichkeiten zuweisen kann. So wie dies in Tabelle 1 geschieht, lässt sich das aber nicht in einer relationalen Datenbank speichern, daher werden wir nun zu einem bestimmten Modell probabilistischer Daten kommen, dass die 1NF erfüllt und sich ohne weiteres in bisherigen relationalen Datenbanken speichern lässt. Matr.Nr Name Fach ps 1481 Uwe Informatik 0,6 1481 Uwe Medizin 0,4 1578 Fritz Mathematik 0,7 1578 Fritz Sport 0,3 Tabelle 2: probabilistische Daten in 1NF Die Daten werden nun wie in Tabelle 2 gezeigt in einer relationalen Datenbank gespeichert. Jede Relation wird um das Attribut ps (probability Stamp) erweitert bzw. ist dieses Attribut nicht vorhanden, ist es gleichzusetzen mit ps = 1 für alle Tupel diese Relation. In dieser Spalte werden nun die zugehörigen Wahrscheinlichkeiten gespeichert daher müssen die Werte zwischen 0 und 1 liegen. Es ist klar, dass diese Speicherung probabilistischer Daten die 1. NF erfüllt. Primary Key Der Primary Key in diesem Modell einer probabilistischen Datenbank hat im Gegensatz zur relationalen Datenbank keine Unique-Eigenschaft. Dem Primary Key kommt auch weiterhin eine wichtige Bedeutung zu, da jeder Schlüsselkandidat genau ein Objekt in unserer modellierten Welt darstellt. So bezieht sich in Tabelle 2 die Matr.Nr z.b. 1481 auf genau ein Objekt der Welt, also genau einen Studenten. Vielleicht sind wir unsicher darüber, wie dieser Student heißt oder was er studiert oder über alle anderen Attribute, aber ein Schlüssel bezieht sich immer auf genau einen Studenten! D.h. es herrscht keine Unsicherheit darüber, ob der Student 1481 und 1578 vielleicht eine Person ist. Im Grunde ist der Primary Key vielleicht so was wie ein Fingerabdruck oder eine DNA-Probe, welche eindeutig einer bestimmten Person zugeordnet werden kann. Bedeutung des ps-attributes Die ps-spalte stellt nun nicht die Wahrscheinlichkeit für die Ausprägung eines einzelnen Attributes dar, sondern die Wahrscheinlichkeit für die Existenz des gesamten Tupels, also die Verbundwahrscheinlichkeit. So bedeutet die Wahrscheinlichkeit in der ersten Zeile von Tabelle 2: Pr{1481; Uwe; Informatik} = 0,6 Also ist die Wahrscheinlichkeit, dass dieses Tupel genau in dieser Ausprägung existiert, es also einen Studenten 1481 mit Namen Uwe und mit Studienfach Informatik gibt, gleich 0,6. Durch addieren von Zeilen kann man nun auch bestimmte abhängige Wahrscheinlichkeiten berechnen, so ist z.b. Pr{1481; Uwe} = Pr{1481; Uwe; Informatik} + Pr {1481; Uwe; Informatik} = 0,6 + 0,4 = 1 Es ist also sicher dass der Student 1481 den Namen Uwe trägt. Pr{1481; Informatik} = Pr{1481; Uwe; Informatik} = 0,6-5 -

Mit einer Wahrscheinlichkeit von 0,6 studiert 1481 Informatik. Man kann also durch die Addition der Wahrscheinlichkeiten über alle Tupel die ein (oder mehrere) Attribut(e) gleich haben, die Wahrscheinlichkeit für die Existenz dieser Tupel berechnen. Wie in dem ersten Beispiel gezeigt, werden alle Wahrscheinlichkeiten für die Tupel mit den Werten {1481; Uwe} addiert und berechnen so die Wahrscheinlichkeit, dass der Student 1481 den Namen Uwe trägt. Es ist also möglich bestimmte Wahrscheinlichkeiten aus diesem Modell herzuleiten. Unsicherheit über die Existenz Pr{1481} = Pr{1481; Uwe; Informatik} + Pr {1481; Uwe; Informatik} = 0,6 + 0,4 = 1 Das bedeutet es ist sicher, dass es einen Studenten mit der Matr.Nr 1481 gibt, also dessen Existenz! Das ist hier der Fall, da sich alle Wahrscheinlichkeiten zu diesem Schlüssel auf 1 addieren. In unserem Modell wollen wir aber auch zulassen, dass dies nicht der Fall ist, also es nicht sicher ist, ob dieses Objekt überhaupt besteht. Matr.Nr Name Fach ps 1344 Hugo Informatik 0,3 1344 Jan Sport 0,4 Tabelle 3: Unsicherheit über die Existenz Wie in Tabelle 3 zu sehen ist, addiert sich die Wahrscheinlichkeit für die Existenz des realen Weltobjektes Pr{1244} = Pr{1244; Hugo; Informatik} + Pr{1244; Jan; Sport} = 0,3 + 0,4 = 0,7 nicht zu 1. Es ist also nicht nur unsicher, was 1344 studiert und wie 1344 heißt, sondern es ist sogar auch unsicher ob es 1344 überhaupt gibt. Mit einer Wahrscheinlichkeit von 0,3 existiert 1344 gar nicht. Zum Beispiel könnt der Student schon lange mit dem Studium aufgehört haben oder aufgrund eines Fehlers eingegeben worden sein und es gab niemals diesen Studenten. 2.2 Integritätsbedingungen für probabilistische Daten Probabilistische Daten müssen bestimmte Integritätsbedingungen erfüllen, hierbei wird unterschieden zwischen den intrarelationalen Integritätsbedingungen (also Integritätsbedingungen, die innerhalb einer Relation gelten müssen) und referenziellen Integritätsbedingungen (die für Referenzen gelten müssen). Intrarelationale Integritätsbedingungen Jede Relation darf höchstens ein Attribut ps haben. Gibt es das Attribut nicht, ist dies gleichbedeutend mit ps=1 für alle Tupel. Die Werte von ps sind aus (0,1] also größer 0 und kleiner-gleich 1. Der Wert 0 bedeutet, dass ein solches Tupel nicht existiert, also wird dieses Tupel auch nicht in der DB gespeichert. Die Summe aller Werte von ps zu einem Objekt aus der realen Welt (Primary Key) darf nicht größer als 1 sein! Ein Objekt kann nicht wahrscheinlicher als 1 sein. Addieren sich die Werte zu eins, so ist die Existenz diese Objektes sicher. - 6 -

Kein Wert einer Relation darf den Wert NULL enthalten (wie in der Einleitung schon angesprochen ist dies ein besonderer Fall in probabilistischen Daten und wird daher erst in Kapitel 4 besprochen). Referenzielle Integritätsbedingungen Die Summe der ps-werte des Fremdschlüssels darf nicht größer sein, als die Summe der ps-werte in der referenzierten Tabelle zu einem Primary Key. Sei Tabelle 4 Fremdschlüssel der Spalte Fach in Tabelle 3, dann darf es nicht sein, dass es mit der Wahrscheinlichkeit von 0,3 (Pr{1244; Hugo; Informatik}) einen Studenten der Informatik gibt, aber die Wahrscheinlichkeit, dass Informatik überhaupt kleiner 0,3 ist, da die Existenz des Studenten die Existenz des Faches Informatik impliziert. In Tabelle 4 muss also die Wahrscheinlichkeit für die Existens von Informatik mindestens 0,3 sein, also Pr{Informatik} >= 0,3, da Pr{1244; Informatik} = 0,3. Fach Ort ps Informatik Römerstr. 0,3 Sport Poppelsdorf 0,4 Tabelle 4: Referenzielle Integrität - 7 -

3.0 Relationale Algebra In diesem Kapitel betrachten wir nun die relationale Algebra, die für den Umgang mit den Probabilistischen Daten unseren Modells benötigt wird. In der Quelle von D. Dey und S. Sarkar [1996] wird gezeigt, dass diese Algebra eine echte Erweiterung der bisherigen relationalen Algebra ist, sowie ihre Abgeschlossenheit. 3.1 Basisdefinitionen Zu einem relationalen Schema Ρ sei R = attr(ρ) und höchstens ein Attribut von R darf ps heißen. Die Werte von ps müssen in (0,1] liegen. Sei S R, dann bezeichnen wir mit x(s) die Werte von Tupel x auf der Teilmenge der Attribute (also im Grunde ist x(s), genau das, was die Informationssysteme Vorlesung mit π S (x) bezeichnete, allerdings wird die Projektion in diese Algebra umdefiniert, so dass diese Bezeichnung so nicht mehr möglich ist. Gemeint ist aber im Grunde genau die Projektion, so ist z.b. x(ps) genau der Wert des Tupels x für das Attribut ps.) Wenn ps nicht Element von R ist, gilt x(ps) = 1 für alle Tupel x auf R. 3.2 Hilfsoperatoren Die folgenden Operatoren werden nur benötigt um die folgenden Grundoperatoren der Algebra zu definieren. Werte-Äquivalent Zwei Tupel x und y auf dem gleichen Schema Ρ mit R = attr(ρ) heißen Werte-Äquivalent (x y), genau dann, wenn für alle A R/pS (x(a) = y(a)). Es ist sehr unsinnig Werte- Äquivalente Tupel (also Tupel die äquivalent sind bis auf den Wahrscheinlichkeitswert) in der Datenbank zu speichern, da man besser nur ein Tupel der gleichen Werte mit einer angepassten Wahrscheinlichkeit speichert. Genau hierfür benötigt man die Koaleszenz- Operatoren. Koaleszenz-Plus Der Koaleszens-Plus Operator ist auf zwei Werte-Äquivalenten Tupeln x und y definiert als: ( ) ( ) ( ) min 1, ( ) ( ) - 8 - { } z = x y x y z x z ps = x ps + y ps Also bildet der Koaleszenz-Plus Operator aus zwei Werte-Äquivalenten Tupeln x und y ein drittes Tupel z, welches auch Werte-Äquivalent zu den beiden anderen ist und der Wert für ps entweder 1 oder die Addition von x(ps) und y(ps) ist. Koaleszenz-Max

Der Koaleszenz-Max Operator auf zwei Werte-Äquivalenten Tupeln x und y ist definiert als: { } ( ) ( ) ( ) max ( ), ( ) z = x y x y z x z ps = x ps y ps Der Koaleszenz-Max Operator bildet also genau das Tupel z, welches Werte-Äquivalent zu den beiden anderen ist und z(ps) das Maximum von x(ps) und y(ps) ist. Union 3.3 Grundoperatoren Seien r und s Relationen über dem gleichen Schema Ρ mit R = attr(ρ), so ist die Vereinigung der beiden Relationen definiert durch: ( ( )) ( ) { ( ) ( ) : x ( ( x s) y r: y x ) ( y r z s : x = y z ) r s = x R x r y s y Also genau die Tupelmenge, die Tupel, entweder in r enthalten sind und kein Werte- Äquivalentes Tupel in s hat oder die Tupel, die in s enthalten sind und für die es kein Werte- Äquivalentes Tupel in r gibt oder bei Werte-Äquivalenz ein Tupel mit der höheren Wahrscheinlichkeit. Der Union Operator ist hier nicht ganz so intuitiv zu erklären, bei Werte-Äquivalenten Tupeln wird ein Tupel mit der höchsten Wahrscheinlichkeit übernommen. Stellt man sich vor, dass Wahrscheinlichkeiten meist untertrieben werden, könnte man sich überlegen, dass eine höhere Wahrscheinlichkeit mehr Informationen darstellt und daher in die neue Relation übernommen werden sollte. Eine Addition, wie vielleicht für einige auf den ersten Blick auch intuitiv wäre, ist nicht wirklich sinnvoll, da verschiedene Wahrscheinlichkeiten für ein bestimmtes Objekt in der realen Welt bestimmt nicht zu einer Addition der Wahrscheinlichkeiten führt, wenn man dieses Wissen vereint. Die Wahrheit kann dadurch nicht wahrscheinlicher werden als vorher. Allerdings wäre hier auch vorstellbar die kleinere der beiden Wahrscheinlichkeiten zu übernehmen oder auch eine Art Mittelwert. Weiterhin kann der Union Operator zu Daten führen, die die Integritätsbedingungen verletzen, da durch die Übernahme der jeweils höchsten Wahrscheinlichkeit es vorkommen kann, das zu einem Primary-Key-Objekt die Addition der Wahrscheinlichkeiten nach der Vereinigung den Wert 1 überschreiten. (Allerdings kann es auch in bisherigen relationalen Daten zu Problemen mit dem Primary Key durch die Vereinigung führen.) Differenz Seien r, s und R wie zuvor, dann ist die Differenz der Relationen gegeben durch: ( ( )) { ( ) ( ) : x r s = x R x r y s y - 9 -

( y r z s : (( x y z) ( y ( ps ) z ( ps )) x( ps ) y ( ps ) z ( ps ) ( )))} > = Projektion Sei r eine Relation auf dem Schema Ρ mit R = attr(ρ) und SR, so ist die Projektion von r auf S definiert durch: S y r y( S) x ( r) = x( S) x = y( S) Die Projektion besteht nun nicht mehr aus den Werten der einzelnen Attribute, wie das in der bisherigen relationalen Algebra war, sondern addiert die jeweils zugehörigen Wahrscheinlichkeitswerte des ps-attributes durch Verwendung des Koaleszenz-Plus Operators. Somit liefert der Projektions Operator genau die addierten Wahrscheinlichkeiten, wie in Kapitel 2.1 zu sehen war. Man kann anhand von simplen beispielen sehr schnell verdeutlichen, dass die entstehenden Wahrscheinlichkeiten meist nur dann sinnvoll bleiben wenn der Primary Key in der Projektionsmenge (S) enthalten ist. Stellt man sich zum Beispiel eine größere Tabelle mit Studenten vor, in der große Unsicherheit über das Studienfach herrscht und projeziert man nun auf das Attribut Informatik, addiert sich die Wahrscheinlichkeit für Informatik höchstwahrscheinlich auf 1 auf, obwohl vielleicht die einzelnen Studenten nur mit relativ geringer Wahrscheinlichkeit Informatik studieren und daher die Existenz von Informatik nicht als so sicher angenommen werden kann. Selektion und Umbenennung Die Selektion und die Umbenennung bleiben unverändert gegenüber der bisherigen relationalen Algebra. Allerdings besitzt die Selektion die Möglichkeit nach bestimmten Wahrscheinlichkeiten (also den Werten des ps-attributes) zu selektieren, was zwar keine überraschende neue Funktion darstellt, aber für die Möglichkeiten mit den probabilistischen Daten umzugehen sehr wichtig ist. Die Umbenennung hat auch die Möglichkeit das ps-attribut umzubenennen, welches nicht zu empfehlen ist, da ein Fehlen des ps-attributes mit ps=1 für alle Tupel gleichzusetzen ist. Die Umbenennung des ps-attributes kann also auch zu Daten führen, welche die intrarelationale Integritätsbedingungen für den Primary Key nicht erfüllen. Natural Join Seien r und s Relationen über den Schemata Ρ und Σ und sei R = attr(ρ)-{ps} und S = attr(σ)-{ps} und V = attr(ρ) attr(σ), dann ist der Natural Join gegeben durch: - 10 -

{ V : ' ' (( ) ( x( S' ) z( S' )) x( ps) y( ps) z( ps) r s = x( ) y r z s x( R ) = y( R ) ( ))} = = Betrachtet man diesen Operator genauer, so fällt auf, dass die Wahrscheinlichkeiten der verbundenen Tupel multipliziert werden. Hier ist zu beachten, dass diese Multiplikation aus stochastischer Sicht nur dann sinnvoll ist, wenn die beiden Wahrscheinlichkeiten unabhängig voneinander sind. Eine Multiplikation stochastisch abhängiger Wahrscheinlichkeiten führt nicht zu sinnvollen Ergebnissen. Konditionierung Sei r eine Relation auf dem Schema Ρ mit R = attr(ρ) und SR-{pS}. Die Konditonierung von r auf S ist definiert durch: y ps ϒ S ( r) = x( R ) y r: ( x y) x( ps) = ηsr, η Sr, = y r y( S) = x( s) ( x) min 1, y( ps) ( ) ( y) Die Konditionierung ist eine völlig neue Operation, es gibt in der bisherigen relationalen Algebra nichts Vergleichbares. Das liegt daran, dass diese Operation die Wahrscheinlichkeiten mit Hilfe der Teilmenge SR-{pS} konditioniert. Intuitiv kann man sich das so vorstellen, dass die Wahrscheinlichkeiten nach der Konditionierung angeben wie die Wahrscheinlichkeiten wären, wenn S bereits gelten würde. In Tabelle 4 zum Beispiel wäre Pr{Informatik, Römerstr.} = 1, wenn wir sicher wüssten, dass es Informatik gibt, da wenn dies so ist, nur die Römerstr. als Ort in Frage kommt. - 11 -

4.0 Null-Werte in probabilistischen Daten Matr.Nr Name Fach Geburtsjahr ps 1481 Uwe Informatik 1980 0,2 1481 Hugo Informatik NULL 0,5 1481 NULL NULL 1985 0,3 Tabelle 5: Null-Werte in probabilistischen Daten Null-Werte in relationalen Daten haben die Bedeutung von weiß nicht oder egal, drücken also im Grunde auch eine Art von Unsicherheit aus. Null-Werte in probabilistischen Daten haben nun eine ganz ähnliche Bedeutung, da aber in probabilistischen Daten Unsicherheit auch anders und genauer darstellbar ist, werden Null-Werte hier zu einem besonderen Fall. Stellt man sich nun Daten wie z.b. in Tabelle 5 gezeigt vor, so kann man hier nun die vorher recht einfachen Fragen nach bestimmten Wahrscheinlichkeiten nicht mehr so einfach beantworten. Will man zum Beispiel die Wahrscheinlichkeit wissen, dass Student 1481 den Namen Fritz trägt (Pr{1481, Fritz}) so ist diese Anfrage nicht mehr so einfach zu beantworten. Mit einer Wahrscheinlichkeit von 0,2 heißt der Student Uwe und mit einer Wahrscheinlichkeit von 0,5 heißt er Hugo, zusammenaddiert kann man sagen, dass wir sicher wissen, dass er mit einer Wahrscheinlichkeit von 0,7 nicht Fritz heißt. Da sich in der 3. Zeile ein Null-Wert befindet, können wir die Wahrscheinlichkeit, dass der Student 1481 Fritz heißt, aber auch nicht ganz ausschließen, wir können also als Lösung nur angeben, das die Wahrscheinlichkeit zwischen 0 und 0,3 liegen muss. Also ist Pr{1481, Fritz} = [0; 0,3]. Ähnlich verhält es sich mit Pr{1481, Hugo} auch hier können wir nur das Intervall [0,5; 1] also Lösung angeben. Durch das Zulassen von Null-Werten in diesem Modell probabilistischer Daten ist es oft nur möglich eine untere und eine obere Schranke für die Wahrscheinlichkeiten anzugeben. Jedoch ist dadurch auch die Wahrscheinlichkeit, dass der Student 1481 500 Jahre vor Christus geboren wurde, zwischen 0 und 0,5. So mächtig Null-Werte probabilistische Daten auch machen, sie lassen auch relativ unsinnige Wahrscheinlichkeiten zu und fordern daher einen umsichtigen Umgang. Weiterhin kann unsere Algebra aus Kapitel 3 mit Null-Werten nicht umgehen, die zugehörige Algebra würde um einiges komplizierter sein. Jedoch kann sich das auch durchaus lohnen, so wäre auch eine Anfragesprache denkbar, die nicht nur nach bestimmten Wahrscheinlichkeiten als Kriterien gefragt würde, sondern auch nach die obere und untere Schranke mit einbezieht. - 12 -

5.0 Zusammenfassung Probabilistische Datenbanken versuchen der Unsicherheit der Daten gerecht zu werden. Man kann mit probabilistischen Daten nicht nur die Unsicherheit über die Ausprägung bestimmter Attribute ausdrücken, sondern auch die Unsicherheit über die Existenz des Objektes in der realen Welt. Probabilistische Daten lassen sich in relationalen Datenbanken speichern, indem man die Relationen um das Attribut ps erweitert, und erfüllen die 1. NF. Der Primary Key muss hierfür jedoch anders definiert werden und ist im Vergleich zu relationalen Daten nicht mehr unique. Die für probabilistische Daten benötigte Algebra ist eine echte Erweiterung der bisherigen relationalen Algebra. Die meisten Operationen müssen nur leicht verändert werden um mit den Wahrscheinlichkeiten sinnvoll umgehen zu können. Einige Operatoren, wie Selektion und Umbenennung bleiben unverändert. Herkömmliche relationale Daten können auch weiterhin verwaltet werden und sind als Sonderfall (ps=1 für alle Tupel) enthalten. Erlaubt man Null-Werte in probabilistischen Daten, kann man für die Wahrscheinlichkeiten zu bestimmten Anfragen nur noch die obere und untere Schranke ermitteln. Null-Werte erhöhen die Mächtigkeit der probabilistischen Datenbank mit Unsicherheit umzugehen, ermöglichen aber auch die Beantwortung von unendlich vielen Anfragen, die größtenteils wahrscheinlich so nicht sinnvoll sind. - 13 -

Quellen D. Dey, S. Sarkar: A Probabilistic Relational Model and Algebra, ACM Transactions on Database Systems, Vol. 21, September 1996. A. de Keijzer, M. van Keulen: A Probabilistic Database Extension, Technical Report 04-21, Centre for Telematics and Information Technology (CTIT), University of Twente, November 2004. D. Barbará, H. Gracia-Molina, D. Porter: The Management of Probabilistic Data, IEEE Transactions on Knowledge and Data Engineering, Vol. 4, Oktober 1992. Dr. Rainer Manthey: Skript zu Informationssysteme, 2002 http://dict.leo.org http://www.google.de - 14 -