51
REFLEXIVE DATENBANKEN Dr. Klaus Peters

Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

Embed Size (px)

Citation preview

Page 1: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

REFLEXIVE DATENBANKEN

Dr. Klaus Peters

Page 2: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BIOGRAPHIE (1/3)

Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn,

Wuppertal 1994-1995 Institut für Biochemie der HU; Design,

Implementierung und Test diskreter geometrischer Algorithmen zur Untersuchung der räumlichen Struktur von Proteinen

Page 3: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BIOGRAPHIE (2/3)

1996-1998 Chefredakteur des Lexikons der Mathematik; Konzeption zur Erstellung des Lexikons, Auswahl der Stichwörter; Koordination der Themen, Autoren und Zuarbeiten

1998-2009 DResearch GmbH; Beratung, Management und Software–Entwicklung; verantwortlicher Entwickler des Teilprojektes Installation und Update der @vantage Plattform und @vantage Komponenten auf SUN Clustersystemen und verteilten Systemen; Softwareverwaltungs- und Softwareausliefungssysteme

Page 4: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BIOGRAPHIE (3/3)

Seit 2009 DResearch GmbH; Entwicklung von Webapplikationen im eGovernment-Bereich; Installation, Konfiguration, Dokumentation, Entwicklung von automatischen Testumgebungen, Anwender-Schulungen für eGovernment-Projekte, Weiterentwicklung einer Bezahlplatform für sächsische Behörden und Gemeinden

Seit 2009: Vorlesung zu Mathematik 1, 2 und 3 an der HTW für den Bachelor-Studiengang Computer Engineering

Homepage: http://home.htw-berlin.de/~peterskl E-Mail: [email protected]

Page 5: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

AGENDA

Motivation

Modellierung

Beispiele

Abfragen

Diskussion

Summary

Page 6: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

Modellierung und Beschreibung von Beziehungen zwischen Entitäten gleichen Typs

Modellierung und Beschreibung von rückbezüglichen Beziehungen

Entität

s

r

MOTIVATION

Page 7: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

FRAGESTELLUNGEN

Wo treten solche Reflexionen in der Praxis auf?

Welche Arten von Reflexionen gibt es? Welche Probleme gibt es bei reflexiven

Beziehungen? Wie werden sie in einem DBMS

abgebildet? Wie werden Abfragen programmiert,

die mit dem vorhandenen SQL nicht abgebildet werden können?

Page 8: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BEISPIELE

Wer ist der Vorgesetzte eines Mitarbeiters?

Welcher Bearbeiter vertritt wen? Welches ist die nächste Haltestelle

eines Busses? Welche Vorlesungen sind für eine

Vorlesungen Voraussetzung?

Wie können solche Beziehungen modelliert werden?

Page 9: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

MODELLIERUNG

Motivation

Modellierung

Beispiele

Abfragen

Diskussion

Summary

Page 10: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

GRAPHEN

Definition: Ein (gerichteter) Graph ist ein Paar (E,K) (E – Ecken/Knoten), K- Kanten/Verbindungen), wobei K eine Menge Paaren von Ecken ist: KEE.

Für eine Ecke heißen diejenigen Kanten, die diese Ecke als erstes Element haben, ausgehende Kanten, die anderen heißen eingehende Kanten.

Page 11: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BEISPIEL FÜR GRAPHEN

A

B D

C

E

Page 12: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BÄUME

Definition: Ein Baum ist ein zusammenhängender Graph ohne Kreise, beim dem genau eine Ecke (die Wurzel) nur ausgehende Kanten hat und alle anderen Ecken genau eine eingehende haben.

Page 13: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BEISPIEL FÜR BÄUME

A

E

C

F

DB

G H

Page 14: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

Definition: Eine Liste ist ein Baum, beim dem jeder Knoten nur maximal eine ausgehende Kante hat.

Jeder Knoten hat maximal einem Vorgänger und maximal einen Nachfolger.

LISTEN

Page 15: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BEISPIEL FÜR LISTEN

A C

D

B

Page 16: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BEISPIELE

Motivation

Modellierung

Beispiele

Abfragen

Diskussion

Summary

Page 17: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

PersonalNr Nachname Vorname

1 Müller Peter

2 Meier Clara

3 Lehmann Thomas

4 Schulze Hans

5 Schröder Andreas

6 Heinrich Beate

Die Ausgangsdaten (Tabelle „Mitarbeiter“):

DIE BEZIEHUNG „VORGESETZTER“

Page 18: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

5. Andreas Schröder

3. Thomas Lehmann

1. Peter Müller

6. Beate Heinrich

2. Clara Meier

4. Hans Schulze

DIE BEZIEHUNG „VORGESETZTER“ ALS BAUM

Page 19: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

… ALS DATENBANKTABELLE

Die zusätzliche Spalte „Vorgesetzter“ stellt einen Schlüssel auf die Tabelle selbst dar: mc:c-Beziehung

PersonalNr Nachname Vorname Vorgesetzter

1 Müller Peter 5

2 Meier Clara 5

3 Lehmann Thomas 4

4 Schulze Hans 1

5 Schröder Andreas

6 Heinrich Beate 2

Page 20: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

DIE BEZIEHUNG „VERTRETER FÜR“

PersonalNr Nachname Abteilung

1 Müller Nordeuropa

2 Meier Nordeuropa

3 Lehmann Südosteuropa

4 Schulze Südosteuropa

5 Schröder Mitteleuropa

6 Heinrich Südosteuropa

Die Ausgangsdaten (Tabelle „Bearbeiter“):

Page 21: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

5. Andreas Schröder

3. Thomas Lehmann

1. Peter Müller

6. Beate Heinrich

2. Clara Meier

4. Hans Schulze

DIE BEZIEHUNG „VERTRETER FÜR“ ALS GRAPH

Page 22: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

…ALS DATENBANKTABELLE

PersonalNr Nachname Abteilung VertreterFuer

1 Müller Nordeuropa 2

2 Meier Nordeuropa 1

3 Lehmann Südosteuropa 4

4 Schulze Südosteuropa 6

5 Schröder Mitteleuropa

6 Heinrich Südosteuropa 3

Die zusätzliche Spalte „VertreterFuer“ realisiert die c:c Beziehung als Schlüssel auf sich selbst.

Page 23: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

DIE BEZIEHUNG „NÄCHSTE HALTESTELLE“

StationsNr Station

1 Nordbahnhof

2 Badstraße

3 Schlossstraße

4 Seeallee

Die Ausgangsdaten (Tabelle „Stationen“):

Page 24: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

3. Schlossstraße

4. Seeallee

2. Badstraße

1. Nordbahnhof

DIE BEZIEHUNG „NÄCHSTE HALTESTELLE“ ALS LISTE

Page 25: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

ALS DATENBANKTABELLE

StationsNr Station naechsteStation

1 Nordbahnhof 4

2 Badstraße 1

3 Schloßstraße

4 Seeallee 3

Die zusätzliche Spalte „naechsteStation“ realisiert als Schlüssel auf sich selbst die c:c-Beziehung.

Page 26: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

Die Ausgangsdaten (Tabelle „Vorlesungen“):

DIE BEZIEHUNG „BENÖTIGTE VORLESUNG“

VNr Vorlesung

1 Zahlen

2 Folgen

3 Reihen

4 Differentialrechnung

Page 27: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

DIE BEZIEHUNG „BENÖTIGTE VORLESUNG“ ALS GRAPH

1. Zahlen

4. Differential-rechnung

2. Folgen

3. Reihen

Page 28: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

BEZIEHUNG „VORLESUNG“

Id Vorlesung noetigFuer

1 1 2

2 1 3

3 1 4

4 2 3

5 2 4

Die Abhängigkeit zwischen den Vorlesungen wird als mc:mc-Beziehung durch eine zusätzliche Tabelle mit zwei Schlüsseln auf die Vorlesungstabelle realisiert.

VNr Vorlesung

1 Zahlen

2 Folgen

3 Reihen

4 Differentialrechnung

Page 29: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

DEFINITION

Eine reflexive Datenbank ist eine Datenbank, bei der wenigstens eine Tabelle (reflexive Tabelle) eine Beziehung auf sich selber hat.

Page 30: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

PROBLEM DER REFLEXIVEN DATENBANKEN

Relation zwischen gleichartigen Entitäten

Abfragen werden schnell zu Ketten von Abfragen

Zyklen sind möglich Modellierender Graph kann

unzusammenhängend sein Ketten von Abfragen könnten schwierig

zu beantworten sein

Page 31: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

DATENBANKABFRAGEN

Motivation

Modellierung

Beispiele

Abfragen

Diskussion

Summary

Page 32: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

ABFRAGEN

Wer ist der Chef einer Abteilung? Welche Mitarbeiter muss ich maximal

vertreten? Wird eine bestimmte Haltstelle vor

einer anderen angefahren? Welche Vorlesungen sind insgesamt

Voraussetzungen für eine bestimmte Vorlesung?

Page 33: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

NÜTZLICHE SQL-STATEMENTS

Kartesisches Produkt WITH-Klausel IN-Klausel START WITH … CONNECT BY-Klausel

Page 34: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

AUSGANGSDATEN (BEZIEHUNG „VORGESETZTER“)ID Name Abteilung Vorgesetzter

1 Albrecht a1 11

2 Beier a1 1

3 Conrad a1 12

4 Dietz a1 2

5 Engel a1 2

6 Fischer a1 2

7 Gericke a1 3

8 Holz a1 3

9 Ingold a1 5

10 Junge a1 5

11 Kurz a2 0

12 Lorenz a1 11

Page 35: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

5

…ALS GRAPH

11

4

1

8

2 3

6 7

9 10

12

Abfrage: Wer ist der oberste Chef in der Abteilung vom Mitarbeiter Engel?

Page 36: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

KARTESISCHES PRODUKTSELECT ma1.name, ma2.name chef FROM Ma ma1, Ma ma2 WHERE

ma1.vorgesetzter = ma2.id;NAME Chef--------- --------Albrecht KurzBeier AlbrechtConrad LorenzDietz BeierEngel BeierFischer BeierGericke ConradHolz ConradIngold EngelJunge EngelLorenz Kurz

Page 37: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

WITH-KLAUSEL

WITH n AS(SELECT ma1.name, ma2.name chef FROM Ma ma1, Ma ma2 WHERE ma1.vorgesetzter=ma2.id) SELECT name, chef FROM n ORDER BY chef;

NAME CHEF-------- --------Beier Albrecht Fischer BeierDietz BeierEngel BeierHolz ConradGierke ConradIngold EngelLorenz KurzAlbrecht KurzConrad Lorenz

Page 38: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

IN-KLAUSELSELECT name,id,vorgesetzter FROM Ma WHERE id IN (SELECT vorgesetzter FROM Ma WHERE id='5');

NAME ID VORGESETZTER----- -- ------------Beier 2 1

SELECT name,id,vorgesetzter FROM Ma WHERE id IN (SELECT vorgesetzter FROM Ma WHERE id IN (SELECT vorgesetzter FROM Ma WHERE id='5'));NAME ID VORGESETZTER-------- -- ------------Albrecht 1 11

Mit der IN-Klausel können wir nur eine endliche Tiefe des Baumes erfassen.

Page 39: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

START WITH …CONNECT BY-KLAUSEL (1/2)

SQL> select lpad(' ',level+1)||name name, id from ma start with id='5' connect by prior vorgesetzter=id;

NAME ID------------ -- Engel 5 Beier 2 Albrecht 1 Kurz 11

Page 40: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

START WITH …CONNECT BY-KLAUSEL (2/2)

SELECT level, name, sys_connect_by_path(name,'/') name_path FROM ma WHERE id = '5' CONNECT BY NOCYCLE PRIOR id=vorgesetzter order by level;

LEVEL NAME NAME_PATH ----- ----- -------------------------- 1 Engel /Engel 2 Engel /Beier/Engel 3 Engel /Albrecht/Beier/Engel 4 Engel /Kurz/Albrecht/Beier/Engel

Nicht jedes DBMS unterstützt solche Befehle.

Page 41: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

PROGRAMME

Abfragen über Programmiersprachen realisieren (Java, C#, VBA, PLSQL)

Rekursivität wird benötigt. Abbruchkriterien einfügen

Page 42: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

WER IST DER CHEF EINER ABTEILUNG?

public Knoten getWurzelInAbt(Mitarbeiter m, long id) {Knoten k = m.getKnoten(id);Abteilung a = k.getAbteilung();

if(k.getVorgesetzter() == null || b.getKnoten(k.getVorgesetzer).getAbteilung() != a) {

return k;} else {

return getWurzelInAbt(m, m.getKnoten(k.getVorgesetzter).getId();

}}

Page 43: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

WELCHE MITARBEITER MUSS ICH MAXIMAL VERTRETEN?

public Knoten[] getAlleVertretene(Bearbeiter b, long id) {Knoten k0 = b.getKnoten(id);k=k0;Knoten[] vertretene = null;while (k.getVertreterFuer()!=null &&

k.getVertreterFuer() != k0) {k=k.getVertreterFuer();

vetretene.add(k);}return vetretene;

}

Page 44: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

WIRD EINE BESTIMMTE HALTSTELLE NACH EINER ANDEREN ANGEFAHREN?

public Boolean isNachfolgendeHS(Stationen s, long id1, long id2) {Knoten k1 = s.getKnoten(id1);Knoten k2 = s.getKnoten(id2);Knoten k = k1;while (k.getNaechsteHS()!= null &&

k.getNaechsteHS()!= k2) {k=k.getNaechsteHS();

};return (k == k2)

}

Page 45: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

WELCHE VORLESUNGEN SIND INSGESAMT VORAUSSETZUNGEN FÜR EINE BESTIMMTE VORLESUNG?

public Knoten[] getAlleBenoetigteV(Vorlesungen v, long id) {

Knoten[] alleBenoetigteV = null; Knoten[] benoetigteV = v.getBenoetigtFuer(id);

if ( benoetigteV !=null ) { alleBenoetigteV.addListUnique(benoetigteV); for (i=0; i<benoetigteV.size(); i++) { alleBenoetigteV.addListUnique( getAlleBenoetigteV(v, benoetigteV[i].getId)));

}return alleBenoetigteV;

Page 46: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

DISKUSSION

Motivation

Modellierung

Beispiele

Abfragen

Diskussion

Summary

Page 47: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

FRAGEN

Kann man in den Beispielen auf die Reflexivität verzichten?

Was sind die Vorteile? Was sind die Nachteile? Wie würde man ein komplexes

Liniennetz mit mehreren Stationen und mehreren Buslinien realisieren?

Page 48: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

ZUSAMMENFASSUNG

Motivation

Modellierung

Beispiele

Abfragen

Diskussion

Summary

Page 49: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

SUMMARY 1/2

reflexive relations can be modelled by graphs (trees or lists or nets)

reflexive relations lead to chains of request chains of request are mapped to find paths

from one node of the graph to another node modelling graph may contain cycles or may

be not connected

Page 50: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

SUMMARY 2/2

reflexive relations can be represented in the database via additional key columns (one-to-many or one-to-one many-to many relations)

SQL statements support reflexive relations for chains of requests recursivity and abort

conditions are necessary For more complicate request we have to use

program interfaces

Page 51: Dr. Klaus Peters. Geboren 1962, 1988 Mathematik-Studium, Humboldt-Universität 1990 Promotion 1990-1994 Lehre und Forschung in Berlin, Bonn, Wuppertal

Vielen Dank! Fragen?