Kapitel DB:V (Fortsetzung)

Größe: px
Ab Seite anzeigen:

Download "Kapitel DB:V (Fortsetzung)"

Transkript

1 Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-70 Relational Algebra & Calculus STEIN

2 Anfragekalküle Einleitung Anfragealgebren spiegeln das Konzept von abstrakten Datenstrukturen wider; der Datentyp ist die Relation mit entsprechenden Operationen hierauf. Ein relationaler Ausdruck ist eine prozedurale Beschreibung, also eine genau festgelegte Folge von Operationen zur Berechnung einer Anfrage. DB:V-71 Relational Algebra & Calculus STEIN

3 Anfragekalküle Einleitung Anfragealgebren spiegeln das Konzept von abstrakten Datenstrukturen wider; der Datentyp ist die Relation mit entsprechenden Operationen hierauf. Ein relationaler Ausdruck ist eine prozedurale Beschreibung, also eine genau festgelegte Folge von Operationen zur Berechnung einer Anfrage. Anfragekalküle sind ein logikbasierter Ansatz zur Beschreibung der Ergebnismenge einer Anfrage. Sie können als deklarative bzw. nicht-prozedurale Sprache aufgefasst werden. Insbesondere enthält eine Formel des Kalküls keine Information darüber, wie sie auszuwerten ist. Für das relationale Modell betrachtet man folgende Kalküle: 1. relationaler Tupelkalkül 2. relationaler Domänenkalkül, auch Bereichskalkül genannt DB:V-72 Relational Algebra & Calculus STEIN

4 Anfragekalküle Einleitung (Fortsetzung) Die Kalkülsprache verwendet die Namen der Relationen und Attribute. Die Sätze der Kalkülsprache heißen Formeln. Die Grundbausteine der Formeln heißen Atome. Formeln, deren (Un)Wahrheit sich feststellen lässt, heißen Aussagen. Beispiele für Formeln: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Tupel t ist Element der Relation Mitarbeiter. (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Tupel (Smith, 1234, Weimar, 3334, 5) ist kein Element der Relation Mitarbeiter. (c) t : Mitarbeiter(t) t.abtnr = 5 Es gibt ein Tupel in der Relation Mitarbeiter, in dem AbtNr = 5 gilt. Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-73 Relational Algebra & Calculus STEIN

5 Anfragekalküle Einleitung (Fortsetzung) Die Kalkülsprache verwendet die Namen der Relationen und Attribute. Die Sätze der Kalkülsprache heißen Formeln. Die Grundbausteine der Formeln heißen Atome. Formeln, deren (Un)Wahrheit sich feststellen lässt, heißen Aussagen. Beispiele für Formeln: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Tupel t ist Element der Relation Mitarbeiter. (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Tupel (Smith, 1234, Weimar, 3334, 5) ist kein Element der Relation Mitarbeiter. (c) t : Mitarbeiter(t) t.abtnr = 5 Es gibt ein Tupel in der Relation Mitarbeiter, in dem AbtNr = 5 gilt. Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-74 Relational Algebra & Calculus STEIN

6 Anfragekalküle Einleitung (Fortsetzung) Die Kalkülsprache verwendet die Namen der Relationen und Attribute. Die Sätze der Kalkülsprache heißen Formeln. Die Grundbausteine der Formeln heißen Atome. Formeln, deren (Un)Wahrheit sich feststellen lässt, heißen Aussagen. Beispiele für Formeln: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Tupel t ist Element der Relation Mitarbeiter. (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Tupel (Smith, 1234, Weimar, 3334, 5) ist kein Element der Relation Mitarbeiter. (c) t : Mitarbeiter(t) t.abtnr = 5 Es gibt ein Tupel in der Relation Mitarbeiter, in dem AbtNr = 5 gilt. Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-75 Relational Algebra & Calculus STEIN

7 Anfragekalküle Einleitung (Fortsetzung) Die Kalkülsprache verwendet die Namen der Relationen und Attribute. Die Sätze der Kalkülsprache heißen Formeln. Die Grundbausteine der Formeln heißen Atome. Formeln, deren (Un)Wahrheit sich feststellen lässt, heißen Aussagen. Beispiele für Formeln: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Tupel t ist Element der Relation Mitarbeiter. (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Tupel (Smith, 1234, Weimar, 3334, 5) ist kein Element der Relation Mitarbeiter. (c) t : Mitarbeiter(t) t.abtnr = 5 Es gibt ein Tupel in der Relation Mitarbeiter, in dem AbtNr = 5 gilt. Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-76 Relational Algebra & Calculus STEIN

8 Anfragekalküle Einleitung (Fortsetzung) Die Kalkülsprache verwendet die Namen der Relationen und Attribute. Die Sätze der Kalkülsprache heißen Formeln. Die Grundbausteine der Formeln heißen Atome. Formeln, deren (Un)Wahrheit sich feststellen lässt, heißen Aussagen. Beispiele für Formeln: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Tupel t ist Element der Relation Mitarbeiter. (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Tupel (Smith, 1234, Weimar, 3334, 5) ist kein Element der Relation Mitarbeiter. (c) t : Mitarbeiter(t) t.abtnr = 5 Es gibt ein Tupel in der Relation Mitarbeiter, in dem AbtNr = 5 gilt. Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-77 Relational Algebra & Calculus STEIN

9 Anfragekalküle Aufbau einer Formel / Grammatik der Sprache: Syntax I Sei Σ eine Menge von Atomen aus einem Anfragekalkül, dann sind folgende Ausdrücke Formeln in diesem Kalkül: 1. Jedes Atom in Σ ist eine Formel. 2. Sind α und β Formeln, so sind es auch (α), α, α β, α β und α β. Beispiele für Aussagen, Aussageformen, Atome: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Aussageform, Atom (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Aussage (falsch), keine atomare Formel (c) t : Mitarbeiter(t) t.abtnr = 5 Aussage (wahr), keine atomare Formel Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-78 Relational Algebra & Calculus STEIN

10 Anfragekalküle Aufbau einer Formel / Grammatik der Sprache: Syntax I Sei Σ eine Menge von Atomen aus einem Anfragekalkül, dann sind folgende Ausdrücke Formeln in diesem Kalkül: 1. Jedes Atom in Σ ist eine Formel. 2. Sind α und β Formeln, so sind es auch (α), α, α β, α β und α β. Beispiele für Aussagen, Aussageformen, Atome: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Aussageform, Atom (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Aussage (falsch), keine atomare Formel (c) t : Mitarbeiter(t) t.abtnr = 5 Aussage (wahr), keine atomare Formel Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-79 Relational Algebra & Calculus STEIN

11 Anfragekalküle Aufbau einer Formel / Grammatik der Sprache: Syntax I Sei Σ eine Menge von Atomen aus einem Anfragekalkül, dann sind folgende Ausdrücke Formeln in diesem Kalkül: 1. Jedes Atom in Σ ist eine Formel. 2. Sind α und β Formeln, so sind es auch (α), α, α β, α β und α β. Beispiele für Aussagen, Aussageformen, Atome: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Aussageform, Atom (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Aussage (falsch), keine atomare Formel (c) t : Mitarbeiter(t) t.abtnr = 5 Aussage (wahr), keine atomare Formel Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-80 Relational Algebra & Calculus STEIN

12 Anfragekalküle Aufbau einer Formel / Grammatik der Sprache: Syntax I Sei Σ eine Menge von Atomen aus einem Anfragekalkül, dann sind folgende Ausdrücke Formeln in diesem Kalkül: 1. Jedes Atom in Σ ist eine Formel. 2. Sind α und β Formeln, so sind es auch (α), α, α β, α β und α β. Beispiele für Aussagen, Aussageformen, Atome: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Aussageform, Atom (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Aussage (falsch), keine atomare Formel (c) t : Mitarbeiter(t) t.abtnr = 5 Aussage (wahr), keine atomare Formel Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-81 Relational Algebra & Calculus STEIN

13 Anfragekalküle Aufbau einer Formel / Grammatik der Sprache: Syntax I Sei Σ eine Menge von Atomen aus einem Anfragekalkül, dann sind folgende Ausdrücke Formeln in diesem Kalkül: 1. Jedes Atom in Σ ist eine Formel. 2. Sind α und β Formeln, so sind es auch (α), α, α β, α β und α β. Beispiele für Aussagen, Aussageformen, Atome: (a) Mitarbeiter(t) alternativ: t Mitarbeiter Aussageform, Atom (b) Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) Aussage (falsch), keine atomare Formel (c) t : Mitarbeiter(t) t.abtnr = 5 Aussage (wahr), keine atomare Formel Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-82 Relational Algebra & Calculus STEIN

14 Anfragekalküle Bewertung einer Formel / Interpretation der Sprache: Semantik I 1. Auf Basis des Datenbankzustandes d(r) = {r 1,..., r p } lässt sich einem Atom α Σ ein Wahrheitswert, in Zeichen: I(α), zuweisen. 2. Auf Basis der Wahrheitswerte der Atome lässt sich rekursiv gemäß der Semantik für,,, einer Formel α ein Wahrheitswert I(α) zuweisen. Beispiele für die Bewertung von Formeln: (b) I( Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) ) = 0 }{{} α Atom {}}{ (c) I( t : Mitarbeiter(t) Atom {}}{ t.abtnr = 5 }{{} α ) = 1 Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-83 Relational Algebra & Calculus STEIN

15 Anfragekalküle Bewertung einer Formel / Interpretation der Sprache: Semantik I 1. Auf Basis des Datenbankzustandes d(r) = {r 1,..., r p } lässt sich einem Atom α Σ ein Wahrheitswert, in Zeichen: I(α), zuweisen. 2. Auf Basis der Wahrheitswerte der Atome lässt sich rekursiv gemäß der Semantik für,,, einer Formel α ein Wahrheitswert I(α) zuweisen. Beispiele für die Bewertung von Formeln: (b) I( Mitarbeiter( (Smith, 1234, Weimar, 3334, 5) ) ) = 0 }{{} α Atom {}}{ (c) I( t : Mitarbeiter(t) Atom {}}{ t.abtnr = 5 }{{} α ) = 1 Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt DB:V-84 Relational Algebra & Calculus STEIN

16 Bemerkungen: Ein Atom ist die einfachste Formel. Eine Formel stellt entweder eine Aussage oder eine Aussageform dar. Von einer Aussage lässt sich feststellen, ob sie wahr oder falsch ist; von einer Aussageform lässt sich nicht die Wahrheit bzw. Unwahrheit feststellen. In einem Anfragekalkül geschieht die Feststellung des Wahrheitswertes (= Interpretation, Semantik) einer atomaren Aussage auf Basis des Datenbankzustandes: das Atom entspricht dem Test, ob ein bestimmtes Wertetupel t oder ein bestimmter Attributwert x ein Element einer Relation r im Datenbankzustand d(r) = {r 1,..., r p } ist. Der Wahrheitswert (= Interpretation, Semantik) einer komplexen Formel leitet sich in eindeutiger Weise von den Wahrheitswerten der Atome der Formel ab. Dabei ist die Verknüpfung von Wahrheitswerten mit den Junktoren (= Operatoren),,, wie folgt definiert: α β 0 1 α β 0 1 α β 0 1 α Die Interpretationsfunktion wird mit I bezeichnet und liefert für eine Formel α, die eine Aussage darstellt, ihren Wahrheitswert: α I(α), I(α) {0, 1}. Mit Formeln werden die Bedingungen einer Datenbankanfrage nachgebildet. DB:V-85 Relational Algebra & Calculus STEIN

17 Anfragekalküle Freie und gebundene Variablen Sei α eine Formel, die eine Variable x enthält. Dann sei vereinbart: (a) Ist α ein Atom, so ist x eine freie Variable. (b) Das Vorkommen von x in (α), α, α β, α β und α β ist frei oder gebunden abhängig davon, ob es in α frei oder gebunden ist. (c) Alle freien Vorkommen von x in α sind gebunden in xα und xα. (d) In keiner Formel darf eine Variable sowohl frei als auch gebunden auftreten. DB:V-86 Relational Algebra & Calculus STEIN

18 Anfragekalküle Freie und gebundene Variablen Sei α eine Formel, die eine Variable x enthält. Dann sei vereinbart: (a) Ist α ein Atom, so ist x eine freie Variable. (b) Das Vorkommen von x in (α), α, α β, α β und α β ist frei oder gebunden abhängig davon, ob es in α frei oder gebunden ist. (c) Alle freien Vorkommen von x in α sind gebunden in xα und xα. (d) In keiner Formel darf eine Variable sowohl frei als auch gebunden auftreten. DB:V-87 Relational Algebra & Calculus STEIN

19 Anfragekalküle Freie und gebundene Variablen Sei α eine Formel, die eine Variable x enthält. Dann sei vereinbart: (a) Ist α ein Atom, so ist x eine freie Variable. (b) Das Vorkommen von x in (α), α, α β, α β und α β ist frei oder gebunden abhängig davon, ob es in α frei oder gebunden ist. (c) Alle freien Vorkommen von x in α sind gebunden in xα und xα. (d) In keiner Formel darf eine Variable sowohl frei als auch gebunden auftreten. DB:V-88 Relational Algebra & Calculus STEIN

20 Anfragekalküle Freie und gebundene Variablen Sei α eine Formel, die eine Variable x enthält. Dann sei vereinbart: (a) Ist α ein Atom, so ist x eine freie Variable. (b) Das Vorkommen von x in (α), α, α β, α β und α β ist frei oder gebunden abhängig davon, ob es in α frei oder gebunden ist. (c) Alle freien Vorkommen von x in α sind gebunden in xα und xα. (d) In keiner Formel darf eine Variable sowohl frei als auch gebunden auftreten. DB:V-89 Relational Algebra & Calculus STEIN

21 Anfragekalküle Freie und gebundene Variablen Sei α eine Formel, die eine Variable x enthält. Dann sei vereinbart: (a) Ist α ein Atom, so ist x eine freie Variable. (b) Das Vorkommen von x in (α), α, α β, α β und α β ist frei oder gebunden abhängig davon, ob es in α frei oder gebunden ist. (c) Alle freien Vorkommen von x in α sind gebunden in xα und xα. (d) In keiner Formel darf eine Variable sowohl frei als auch gebunden auftreten. Aufbau einer Formel / Grammatik der Sprache: Syntax II [Syntax I] 3. Ist α eine Formel, so sind es auch xα und xα wobei x eine Variable ist, die in α frei vorkommt. Bewertung einer Formel / Interpretation der Sprache: Semantik II [Semantik I] 3. Eine Formel xα ist wahr, falls α bzgl. einer Instanziierung von x wahr wird. Eine Formel xα ist wahr, falls α bzgl. aller Instanziierungen von x wahr wird. Die Menge der möglichen Instanziierungen heißt Universum. DB:V-90 Relational Algebra & Calculus STEIN

22 Bemerkungen: Eine Formel mit freien Variablen stellt eine Aussageform dar. Eine Formel, die keine oder nur gebundene (= instanziierte) Variablen enthält, stellt eine Aussage dar. Die für eine Instanziierung zur Verfügung stehenden Wertetupel t bzw. Attributwerte x stammen aus einem Grundbereich, auch Universum genannt. Das Universum enthält alle möglichen Tupel bzw. Attributwerte, die in einem Datenbankzustand vorliegen können. Im Allgemeinen enthält das Universum unendlich viele Elemente. DB:V-91 Relational Algebra & Calculus STEIN

23 Anfragekalküle Auswertung einer Anfrage Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } DB:V-92 Relational Algebra & Calculus STEIN

24 Anfragekalküle Auswertung einer Anfrage Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Beispiel: Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Anfrage Liefere die Namen der Mitarbeiter, die in Abteilung 5 arbeiten. Relationenalgebra π Name (σ AbtNr= 5 (Mitarbeiter)) Tupelkalkül { α} {(t.name) Atom {}}{ Mitarbeiter(t) Atom {}}{ t.abtnr = 5 } = {(Smith), (Wong)} DB:V-93 Relational Algebra & Calculus STEIN

25 Anfragekalküle Auswertung einer Anfrage Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Beispiel: Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Anfrage Liefere die Namen der Mitarbeiter, die in Abteilung 5 arbeiten. Relationenalgebra π Name (σ AbtNr= 5 (Mitarbeiter)) Tupelkalkül { α} {(t.name) Atom {}}{ Mitarbeiter(t) Atom {}}{ t.abtnr = 5 } = {(Smith), (Wong)} DB:V-94 Relational Algebra & Calculus STEIN

26 Anfragekalküle Auswertung einer Anfrage Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Beispiel: Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Anfrage Liefere die Namen der Mitarbeiter, die in Abteilung 5 arbeiten. Relationenalgebra π Name (σ AbtNr= 5 (Mitarbeiter)) Tupelkalkül { α} {(t.name) Atom {}}{ Mitarbeiter(t) Atom {}}{ t.abtnr = 5 } = {(Smith), (Wong)} DB:V-95 Relational Algebra & Calculus STEIN

27 Anfragekalküle Auswertung einer Anfrage Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Beispiel: Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Anfrage Liefere die Namen der Mitarbeiter, die in Abteilung 5 arbeiten. Relationenalgebra π Name (σ AbtNr= 5 (Mitarbeiter)) Tupelkalkül { α} {(t.name) Atom {}}{ Mitarbeiter(t) Atom {}}{ t.abtnr = 5 } = {(Smith), (Wong)} DB:V-96 Relational Algebra & Calculus STEIN

28 Anfragekalküle Auswertung einer Anfrage Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Beispiel: Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Anfrage Liefere die Namen der Mitarbeiter, die in Abteilung 5 arbeiten. Relationenalgebra π Name (σ AbtNr= 5 (Mitarbeiter)) Tupelkalkül { α} {(t.name) Atom {}}{ Mitarbeiter(t) Atom {}}{ t.abtnr = 5 } = {(Smith), (Wong)} DB:V-97 Relational Algebra & Calculus STEIN

29 Anfragekalküle Auswertung einer Anfrage (Fortsetzung) Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Schema zur Konstruktion der Ergebnisrelation res für Anfrage { α} : 1. res = 2. Die freien Variablen (= die Variablen in ) werden hinsichtlich aller Tupel (im Tupelkalkül) bzw. aller Attributwerte (im Domänenkalkül) für die in der Datenbank befindlichen Relationen {r 1,..., r p } instanziiert. Durch die Instanziierung wird die Aussageform α zu einer Aussage. 3. Für jede Instanziierung der freien Variablen wird geprüft, ob die Formel α wahr (erfüllt) ist. Falls ja, setze res = res { } 4. res enthält keine weiteren Elemente. DB:V-98 Relational Algebra & Calculus STEIN

30 Anfragekalküle Auswertung einer Anfrage (Fortsetzung) Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Schema zur Konstruktion der Ergebnisrelation res für Anfrage { α} : 1. res = 2. Die freien Variablen (= die Variablen in ) werden hinsichtlich aller Tupel (im Tupelkalkül) bzw. aller Attributwerte (im Domänenkalkül) für die in der Datenbank befindlichen Relationen {r 1,..., r p } instanziiert. Durch die Instanziierung wird die Aussageform α zu einer Aussage. 3. Für jede Instanziierung der freien Variablen wird geprüft, ob die Formel α wahr (erfüllt) ist. Falls ja, setze res = res { } 4. res enthält keine weiteren Elemente. DB:V-99 Relational Algebra & Calculus STEIN

31 Anfragekalküle Auswertung einer Anfrage (Fortsetzung) Gegeben: Anfrage { α} mit freien Variablen im Tupelausdruck und Formel α Datenbankzustand d(r) = {r 1,..., r p } Schema zur Konstruktion der Ergebnisrelation res für Anfrage { α} : 1. res = 2. Die freien Variablen (= die Variablen in ) werden hinsichtlich aller Tupel (im Tupelkalkül) bzw. aller Attributwerte (im Domänenkalkül) für die in der Datenbank befindlichen Relationen {r 1,..., r p } instanziiert. Durch die Instanziierung wird die Aussageform α zu einer Aussage. 3. Für jede Instanziierung der freien Variablen wird geprüft, ob die Formel α wahr (erfüllt) ist. Falls ja, setze res = res { } 4. res enthält keine weiteren Elemente. DB:V-100 Relational Algebra & Calculus STEIN

32 Relationaler Tupelkalkül Konzepte [Domänenkalkül] 1. Tupelvariablen, die sich auf Relationen r i d(r), d(r) = {r 1,..., r p }, beziehen und mit jedem Tupel aus r i instanziiert werden können. 2. Formeln, mit denen sich auf Basis der Tupelvariablen Zusammenhänge zwischen Attributen formulieren lassen. DB:V-101 Relational Algebra & Calculus STEIN

33 Relationaler Tupelkalkül Anfragen [Domänenkalkül] Anfrage im relationalen Tupelkalkül mit Variablen t 1, t 2,..., t n, t n+1,..., t n+m : {t α} allgemein : {(t 1.A 1, t 2.A 2,..., t n.a n ) α} t 1,..., t n sind freie, t n+1,..., t n+m sind gebundene Tupelvariablen. A 1,..., A n sind Attribute der Relationen bzgl. derer die t i instanziiert sind. α ist eine logische Formel, wobei die Menge der Atome Σ, aus denen α besteht, wie folgt definiert ist: DB:V-102 Relational Algebra & Calculus STEIN

34 Relationaler Tupelkalkül Anfragen [Domänenkalkül] Anfrage im relationalen Tupelkalkül mit Variablen t 1, t 2,..., t n, t n+1,..., t n+m : {t α} allgemein : {(t 1.A 1, t 2.A 2,..., t n.a n ) α} t 1,..., t n sind freie, t n+1,..., t n+m sind gebundene Tupelvariablen. A 1,..., A n sind Attribute der Relationen bzgl. derer die t i instanziiert sind. α ist eine logische Formel, wobei die Menge der Atome Σ, aus denen α besteht, wie folgt definiert ist: 1. r(t) alternativ: t r ist ein Atom, wobei t eine Tupelvariable und r eine Relation bezeichnet. r(t) ist wahr für eine Instanziierung von t, falls diese Instanziierung ein Tupel in r ist. DB:V-103 Relational Algebra & Calculus STEIN

35 Relationaler Tupelkalkül Anfragen [Domänenkalkül] Anfrage im relationalen Tupelkalkül mit Variablen t 1, t 2,..., t n, t n+1,..., t n+m : {t α} allgemein : {(t 1.A 1, t 2.A 2,..., t n.a n ) α} t 1,..., t n sind freie, t n+1,..., t n+m sind gebundene Tupelvariablen. A 1,..., A n sind Attribute der Relationen bzgl. derer die t i instanziiert sind. α ist eine logische Formel, wobei die Menge der Atome Σ, aus denen α besteht, wie folgt definiert ist: 1. r(t) alternativ: t r ist ein Atom, wobei t eine Tupelvariable und r eine Relation bezeichnet. r(t) ist wahr für eine Instanziierung von t, falls diese Instanziierung ein Tupel in r ist. 2. t i.a i op t j.a j ist ein Atom mit op {=, <,, >,, }. t i, t j bezeichnen Tupelvariablen und A i, A j bezeichnen Attribute aus den Relationen hinsichtlich derer t i bzw. t j instanziiert sind. 3. t i.a i op c ist ein Atom mit op {=, <,, >,, }. t i bezeichnet eine Tupelvariable, A i ein Attribut aus der Relation hinsichtlich der t i instanziiert ist und c dom(a i ) ist eine Konstante. DB:V-104 Relational Algebra & Calculus STEIN

36 Relationaler Tupelkalkül Beispiel 1 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. DB:V-105 Relational Algebra & Calculus STEIN

37 Relationaler Tupelkalkül Beispiel 1 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. Relationenalgebra TAFEL DB:V-106 Relational Algebra & Calculus STEIN

38 Relationaler Tupelkalkül Beispiel 1 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. Relationenalgebra TAFEL Tupelkalkül {(t 1.Name, t 1.Wohnort) Mitarbeiter(t 1 ) t 2 (Abteilung(t 2 ) t 2.AbtName = Forschung t 2.Nr = t 1.AbtNr)} DB:V-107 Relational Algebra & Calculus STEIN

39 Bemerkungen: Die Qualifizierung der freien Tupelvariablen vor dem Trennsymbol bei der Mengenbildung entspricht der Projektion π in der relationalen Algebra. Beispiel: {(t 1.Name,...)...} Eine Bedingung, die sich auf ein Attribut und eine Konstante bezieht, entspricht einer Selektion, σ, in der relationalen Algebra. Beispiel: t 2.AbtName = Forschung Eine Bedingung bzgl. zweier Attribute, die sich auf Tupel aus verschiedenen Relationen bezieht, entspricht einem Verbund (Join),, in der relationalen Algebra. Beispiel: t 2.Nr = t 1.AbtNr DB:V-108 Relational Algebra & Calculus STEIN

40 Relationaler Tupelkalkül Beispiel 2 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere für jedes Projekt in Weimar dessen Nummer, die Nummer der durchführenden Abteilung sowie Name und Wohnort des Abteilungsmanagers. DB:V-109 Relational Algebra & Calculus STEIN

41 Relationaler Tupelkalkül Beispiel 2 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere für jedes Projekt in Weimar dessen Nummer, die Nummer der durchführenden Abteilung sowie Name und Wohnort des Abteilungsmanagers. Relationenalgebra π PNr,AbtNr, Name,Wohnort ((ρ PNr Nr, PName Name (σ Ort= Weimar (Projekt))) AbtNr=Nr Abteilung Manager=PersNr Mitarbeiter) DB:V-110 Relational Algebra & Calculus STEIN

42 Relationaler Tupelkalkül Beispiel 2 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere für jedes Projekt in Weimar dessen Nummer, die Nummer der durchführenden Abteilung sowie Name und Wohnort des Abteilungsmanagers. Relationenalgebra π PNr,AbtNr, Name,Wohnort Tupelkalkül TAFEL ((ρ PNr Nr, PName Name (σ Ort= Weimar (Projekt))) AbtNr=Nr Abteilung Manager=PersNr Mitarbeiter) DB:V-111 Relational Algebra & Calculus STEIN

43 Relationaler Tupelkalkül Beispiel 3 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere die Namen der Mitarbeiter, die in allen Projekten der Abteilung 5 arbeiten. DB:V-112 Relational Algebra & Calculus STEIN

44 Relationaler Tupelkalkül Beispiel 3 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere die Namen der Mitarbeiter, die in allen Projekten der Abteilung 5 arbeiten. Relationenalgebra π Name ((ArbeitetInProjekt ρ ProjektNr Nr (π Nr (σ AbtNr= 5 (Projekt)))) Mitarbeiter) DB:V-113 Relational Algebra & Calculus STEIN

45 Relationaler Tupelkalkül Beispiel 3 [Domänenkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere die Namen der Mitarbeiter, die in allen Projekten der Abteilung 5 arbeiten. Relationenalgebra π Name ((ArbeitetInProjekt ρ ProjektNr Nr (π Nr (σ AbtNr= 5 (Projekt)))) Mitarbeiter) Tupelkalkül TAFEL DB:V-114 Relational Algebra & Calculus STEIN

46 Bemerkungen: Interpretation des -Quantors in der folgenden Formel: α = Mitarbeiter(t 1 ) t 3 β Semantik: α ist erfüllt für diejenigen Mitarbeiter(tupel t 1 ), bei denen für alle Tupel t 3 die Teilformel β erfüllt ist. Beachte, dass t 3 an alle Tupel des Universums bzw. des Datenbankzustandes d(r) gebunden wird und bzgl. aller möglichen Instanziierungen die Formel β erfüllen muss. Die Quantoren können verschoben werden, solange sich keine Variablenbindungen ändern und die Ordnung zwischen den - und -Quantoren erhalten bleibt: {(t 1.Name) Mitarbeiter(t 1 ) t 3 t 4 ( (Projekt(t 3 ) (t 3.AbtNr = 5 )) (ArbeitetInProjekt(t 4 ) t 4.ProjektNr = t 3.Nr t 4.PersNr = t 1.PersNr))} DB:V-115 Relational Algebra & Calculus STEIN

47 Relationaler Tupelkalkül Beispiel 4 [Domänenkalkül] Buecher Titel Verlag Harry Potter Princeton Heuristics Addison Glücksformel dpunkt Datenbanken Springer Buchhaendler Name Stadt PLZ Lehmann Berlin Meiersche Aachen Amazon Köln Angebote Titel Haendler Harry Potter Lehmann Harry Potter Meiersche Harry Potter Amazon Datenbanken Amazon Glücksformel Amazon Glücksformel Lehmann Anfrage Welche Titel sind bei allen Buchhändlern im Angebot? DB:V-116 Relational Algebra & Calculus STEIN

48 Relationaler Tupelkalkül Beispiel 4 [Domänenkalkül] Buecher Titel Verlag Harry Potter Princeton Heuristics Addison Glücksformel dpunkt Datenbanken Springer Buchhaendler Name Stadt PLZ Lehmann Berlin Meiersche Aachen Amazon Köln Angebote Titel Haendler Harry Potter Lehmann Harry Potter Meiersche Harry Potter Amazon Datenbanken Amazon Glücksformel Amazon Glücksformel Lehmann Anfrage Welche Titel sind bei allen Buchhändlern im Angebot? Relationenalgebra (ρ Name Haendler (Angebote)) (π Name (Buchhaendler)) DB:V-117 Relational Algebra & Calculus STEIN

49 Relationaler Tupelkalkül Beispiel 4 [Domänenkalkül] Buecher Titel Verlag Harry Potter Princeton Heuristics Addison Glücksformel dpunkt Datenbanken Springer Buchhaendler Name Stadt PLZ Lehmann Berlin Meiersche Aachen Amazon Köln Angebote Titel Haendler Harry Potter Lehmann Harry Potter Meiersche Harry Potter Amazon Datenbanken Amazon Glücksformel Amazon Glücksformel Lehmann Anfrage Welche Titel sind bei allen Buchhändlern im Angebot? Relationenalgebra (ρ Name Haendler (Angebote)) (π Name (Buchhaendler)) Tupelkalkül {(t 1.Titel) Buecher(t 1 ) t 2 ( Buchhaendler(t 2 ) oder: t 2 (Buchhaendler(t 2 ) t 3 (Angebote(t 3 ) t 3.Haendler = t 2.Name t 3.Titel = t 1.Titel))} DB:V-118 Relational Algebra & Calculus STEIN

50 Relationaler Tupelkalkül Beispiel 4 [Domänenkalkül] Buecher Titel Verlag Harry Potter Princeton Heuristics Addison Glücksformel dpunkt Datenbanken Springer Buchhaendler Name Stadt PLZ Lehmann Berlin Meiersche Aachen Amazon Köln Angebote Titel Haendler Harry Potter Lehmann Harry Potter Meiersche Harry Potter Amazon Datenbanken Amazon Glücksformel Amazon Glücksformel Lehmann Anfrage Welche Titel sind bei allen Buchhändlern im Angebot? Relationenalgebra (ρ Name Haendler (Angebote)) (π Name (Buchhaendler)) Tupelkalkül {(t 1.Titel) Buecher(t 1 ) t 2 ( Buchhaendler(t 2 ) oder: t 2 (Buchhaendler(t 2 ) t 3 (Angebote(t 3 ) t 3.Haendler = t 2.Name t 3.Titel = t 1.Titel))} DB:V-119 Relational Algebra & Calculus STEIN

51 Relationaler Tupelkalkül Beispiel 4 [Domänenkalkül] Buecher Titel Verlag Harry Potter Princeton Heuristics Addison Glücksformel dpunkt Datenbanken Springer Buchhaendler Name Stadt PLZ Lehmann Berlin Meiersche Aachen Amazon Köln Angebote Titel Haendler Harry Potter Lehmann Harry Potter Meiersche Harry Potter Amazon Datenbanken Amazon Glücksformel Amazon Glücksformel Lehmann Anfrage Welche Titel sind bei allen Buchhändlern im Angebot? Relationenalgebra (ρ Name Haendler (Angebote)) (π Name (Buchhaendler)) Tupelkalkül {(t 1.Titel) Buecher(t 1 ) t 2 ( Buchhaendler(t 2 ) oder: t 2 (Buchhaendler(t 2 ) t 3 (Angebote(t 3 ) t 3.Haendler = t 2.Name t 3.Titel = t 1.Titel))} DB:V-120 Relational Algebra & Calculus STEIN

52 Bemerkungen: Bei (formalen, logischen, natürlichen) Sprachen unterscheidet man zwischen Sätzen aus der Sprache selbst und der Formulierung von Zusammenhängen über solche Sätze. Sätze aus der Sprache selbst dienen uns zur Kommunikation mittels dieser Sprache; die Symbole, die vewendet werden, um solche Sätze zu formulieren, gehören zur Objektsprache. Symbole, die verwendet werden, um über Sätze zu sprechen, die in der Objektsprache formuliert sind, gehören zur Metasprache. Die Formelbezeichner α, β, γ, die Prädikatsbezeichner P, Q, die Quantoren,, die Variablenbezeichner t, x, y, z, und die Junktoren,,, gehören zur Objektsprache. Das -Zeichen ist ein Zeichen der Metasprache und steht für ist logisch äquivalent mit. Es gelten u.a. folgende Zusammenhänge: xp (x) x( P (x)) α β α β (α β) α β (α β) γ α β γ DB:V-121 Relational Algebra & Calculus STEIN

53 Relationaler Tupelkalkül Sichere Anfragen Unter (semantisch) sicheren Anfragen versteht man Formeln eines Anfragekalküls, die für jeden Datenbankzustand d(r) = {r 1,..., r p } nur für eine endliche Menge von Variableninstanziierungen erfüllt sind. Beispiel für eine nicht-sichere Anfrage: r(x) : Alle Instanzen von x (im Universum), die nicht in r d(r) sind. Durch die Forderung bestimmter syntaktischer Einschränkungen kann man die semantische Sicherheit für eine Teilmenge der semantisch sicheren Anfragen auf einfache Art bestimmen. Domäne einer Formel α DB:V-122 Relational Algebra & Calculus STEIN

54 Relationaler Tupelkalkül Sichere Anfragen (Fortsetzung) Definition 4 (Domäne einer Formel α) Der Bereich bzw. die Domäne einer Formel α ist die Menge aller Konstanten in α vereinigt mit der Menge aller Attributwerte der Relationen r, r α. Beispiel: Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Domäne der Formel Mitarbeiter(t) : {Smith, Wong, Zelaya, Weimar, Köln, Erfurt, 4, 5, 1234, 3334, 8886, 9876, 9998} DB:V-123 Relational Algebra & Calculus STEIN

55 Relationaler Tupelkalkül Sichere Anfragen (Fortsetzung) [Domänenkalkül] Folgende Anfrage liefert eine unendliche Zahl von Ergebnissen: {t Mitarbeiter(t)} Eine Anfrage {t α} des Tupelkalküls ist sicher, falls folgende Bedingungen erfüllt sind: 1. Gehört t = (c 1, c 2,..., c n ) in das Anfrageergebnis, so wird gefordert, dass {c 1, c 2,..., c n } Teilmenge der Domäne von α ist. Die Suche zur Beantwortung der Anfrage ist auf die Domäne beschränkt. 2. Für jede Teilformel tβ wird gefordert, dass β höchstens für Elemente aus der Domäne von β erfüllbar sein kann. β ist für alle Elemente, die nicht in seiner Domäne sind, unerfüllbar. 3. Für jede Teilformel tβ wird gefordert, dass tβ dann und nur dann erfüllt ist, wenn β für alle Elemente aus der Domäne von β erfüllt ist. β ist für alle Elemente, die nicht in seiner Domäne sind, immer erfüllt. DB:V-124 Relational Algebra & Calculus STEIN

56 Relationaler Tupelkalkül Sichere Anfragen (Fortsetzung) [Domänenkalkül] Folgende Anfrage liefert eine unendliche Zahl von Ergebnissen: {t Mitarbeiter(t)} Eine Anfrage {t α} des Tupelkalküls ist sicher, falls folgende Bedingungen erfüllt sind: 1. Gehört t = (c 1, c 2,..., c n ) in das Anfrageergebnis, so wird gefordert, dass {c 1, c 2,..., c n } Teilmenge der Domäne von α ist. Die Suche zur Beantwortung der Anfrage ist auf die Domäne beschränkt. 2. Für jede Teilformel tβ wird gefordert, dass β höchstens für Elemente aus der Domäne von β erfüllbar sein kann. β ist für alle Elemente, die nicht in seiner Domäne sind, unerfüllbar. 3. Für jede Teilformel tβ wird gefordert, dass tβ dann und nur dann erfüllt ist, wenn β für alle Elemente aus der Domäne von β erfüllt ist. β ist für alle Elemente, die nicht in seiner Domäne sind, immer erfüllt. DB:V-125 Relational Algebra & Calculus STEIN

57 Relationaler Tupelkalkül Sichere Anfragen (Fortsetzung) [Domänenkalkül] Folgende Anfrage liefert eine unendliche Zahl von Ergebnissen: {t Mitarbeiter(t)} Eine Anfrage {t α} des Tupelkalküls ist sicher, falls folgende Bedingungen erfüllt sind: 1. Gehört t = (c 1, c 2,..., c n ) in das Anfrageergebnis, so wird gefordert, dass {c 1, c 2,..., c n } Teilmenge der Domäne von α ist. Die Suche zur Beantwortung der Anfrage ist auf die Domäne beschränkt. 2. Für jede Teilformel tβ wird gefordert, dass β höchstens für Elemente aus der Domäne von β erfüllbar sein kann. β ist für alle Elemente, die nicht in seiner Domäne sind, unerfüllbar. 3. Für jede Teilformel tβ wird gefordert, dass tβ dann und nur dann erfüllt ist, wenn β für alle Elemente aus der Domäne von β erfüllt ist. β ist für alle Elemente, die nicht in seiner Domäne sind, immer erfüllt. DB:V-126 Relational Algebra & Calculus STEIN

58 Relationaler Tupelkalkül Sichere Anfragen (Fortsetzung) [Domänenkalkül] Folgende Anfrage liefert eine unendliche Zahl von Ergebnissen: {t Mitarbeiter(t)} Eine Anfrage {t α} des Tupelkalküls ist sicher, falls folgende Bedingungen erfüllt sind: 1. Gehört t = (c 1, c 2,..., c n ) in das Anfrageergebnis, so wird gefordert, dass {c 1, c 2,..., c n } Teilmenge der Domäne von α ist. Die Suche zur Beantwortung der Anfrage ist auf die Domäne beschränkt. 2. Für jede Teilformel tβ wird gefordert, dass β höchstens für Elemente aus der Domäne von β erfüllbar sein kann. β ist für alle Elemente, die nicht in seiner Domäne sind, unerfüllbar. 3. Für jede Teilformel tβ wird gefordert, dass tβ dann und nur dann erfüllt ist, wenn β für alle Elemente aus der Domäne von β erfüllt ist. β ist für alle Elemente, die nicht in seiner Domäne sind, immer erfüllt. DB:V-127 Relational Algebra & Calculus STEIN

59 Bemerkungen: Semantische Sicherheit ist eine Eigenschaft, die im Einzelfall leicht zu zeigen sein kann, die aber in der Allgemeinheit nicht automatisch nachprüfbar ist. Die Ursache dafür liegt in der Unentscheidbarkeit der Prädikatenlogik erster Stufe mit Arithmetik. Mit Hilfe der Domäne wird die semantische Analyse (= die Analyse der Erfüllbarkeit) der Formel α deshalb stark vereinfacht, weil vereinbart wird, dass Instanziierungen der Variablen mit Werten von außerhalb der Domäne keinen Einfluss auf die Erfüllbarkeit von α haben. Diese Vereinbarung entspricht einer Closed World Assumption. Da die Domäne endlich ist und sich syntaktisch einfach konstruieren lässt, ist unter der Closed World Assumption semantische Sicherheit in endlicher Zeit überprüfbar. Sobald ein (Datenbank-)System annimmt bzw. voraussetzt, dass die drei Bedingungen erfüllt sind, interpretiert es eine Formel aus Sicht der Closed World Assumption. Die Bedingungen verhindern, dass unendlich viele Variableninstanziierungen evaluiert werden müssen, um die Erfüllbarkeit einer Formel zu analysieren. Beachte, dass auch Anfragen, die ein endliches Ergebnis liefern, die Evaluierung unendlich vieler Variableninstanziierungen erfordern können. Bei solchen Anfragen liegt die Unendlichkeit in der Zeit nicht in der Größe der Ergebnismenge. DB:V-128 Relational Algebra & Calculus STEIN

60 Relationaler Domänenkalkül Konzepte [Tupelkalkül] 1. Domänenvariablen, die sich auf Attribute A in den Relationenschemata R R beziehen und mit jedem Wert aus dem Wertebereich dom(a) von A instanziiert werden können. 2. Formeln, mit denen sich auf Basis der Domänenvariablen Zusammenhänge zwischen Attributen formulieren lassen. DB:V-129 Relational Algebra & Calculus STEIN

61 Bemerkungen: SQL, Structured Query Language, basiert auf dem relationalen Tupelkalkül und wurde von IBM Research, San Jose, Kalifornien, entwickelt. QBE, Query By Example, basiert auf dem relationalen Domänenkalkül und wurde von IBM Research, Yorktown Heights, New York, entwickelt. Diese Entwicklung fand fast zeitgleich mit der Entwicklung von SQL in San Jose statt. QBE war eine der ersten graphischen Anfragesprachen für Datenbanksysteme und ist bei IBM als Interface-Option für DB2 erhältlich. DB:V-130 Relational Algebra & Calculus STEIN

62 Relationaler Domänenkalkül Anfragen [Tupelkalkül] Anfrage im relationalen Domänenkalkül mit Variablen x 1,..., x n, x n+1,..., x n+m : {(x 1, x 2,..., x n ) α} x 1,..., x n sind freie, x n+1,..., x n+m sind gebundene Domänenvariablen. α ist eine logische Formel, wobei die Menge der Atome Σ, aus denen α besteht, wie folgt definiert ist: DB:V-131 Relational Algebra & Calculus STEIN

63 Relationaler Domänenkalkül Anfragen [Tupelkalkül] Anfrage im relationalen Domänenkalkül mit Variablen x 1,..., x n, x n+1,..., x n+m : {(x 1, x 2,..., x n ) α} x 1,..., x n sind freie, x n+1,..., x n+m sind gebundene Domänenvariablen. α ist eine logische Formel, wobei die Menge der Atome Σ, aus denen α besteht, wie folgt definiert ist: 1. r(x r1, x r2,..., x rk ) alternativ: (x r1, x r2,..., x rk ) r ist ein Atom, wobei die x ri Domänenvariablen und r eine Relation über k Attribute bezeichnet. r(x r1, x r2,..., x rk ) ist wahr für eine Instanziierung von (x r1, x r2,..., x rk ), falls diese Instanziierung ein Tupel in r ist. DB:V-132 Relational Algebra & Calculus STEIN

64 Relationaler Domänenkalkül Anfragen [Tupelkalkül] Anfrage im relationalen Domänenkalkül mit Variablen x 1,..., x n, x n+1,..., x n+m : {(x 1, x 2,..., x n ) α} x 1,..., x n sind freie, x n+1,..., x n+m sind gebundene Domänenvariablen. α ist eine logische Formel, wobei die Menge der Atome Σ, aus denen α besteht, wie folgt definiert ist: 1. r(x r1, x r2,..., x rk ) alternativ: (x r1, x r2,..., x rk ) r ist ein Atom, wobei die x ri Domänenvariablen und r eine Relation über k Attribute bezeichnet. r(x r1, x r2,..., x rk ) ist wahr für eine Instanziierung von (x r1, x r2,..., x rk ), falls diese Instanziierung ein Tupel in r ist. 2. x i op x j ist ein Atom mit op {=, <,, >,, }. x i, x j bezeichnen Domänenvariablen, die über den Wertebereichen der zugeordneten Attribute instanziiert sind. 3. x i op c ist ein Atom mit op {=, <,, >,, }. x i bezeichnet eine Domänenvariable, die über dem Wertebereich des zugeordneten Attributes instanziiert ist, und c dom(a i ) ist eine Konstante aus dem gleichen Wertebereich. DB:V-133 Relational Algebra & Calculus STEIN

65 Relationaler Domänenkalkül Beispiel 1 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. DB:V-134 Relational Algebra & Calculus STEIN

66 Relationaler Domänenkalkül Beispiel 1 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. Relationenalgebra TAFEL DB:V-135 Relational Algebra & Calculus STEIN

67 Relationaler Domänenkalkül Beispiel 1 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. Relationenalgebra TAFEL Domänenkalkül {(x 1, x 3 ) x 2 x 4 x 5 y 1 y 2 y 3 (Mitarbeiter(x 1, x 2, x 3, x 4, x 5 ) Abteilung(y 1, y 2, y 3 ) y 1 = Forschung y 2 = x 5 )} DB:V-136 Relational Algebra & Calculus STEIN

68 Relationaler Domänenkalkül Beispiel 1 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. Relationenalgebra TAFEL Domänenkalkül Mögliche Konvention: nicht-freie Variablen sind per Default -quantifiziert. {(x 1, x 3 ) x 5 y 1 y 2 (Mitarbeiter(x 1, x 2, x 3, x 4, x 5 ) Abteilung(y 1, y 2, y 3 ) y 1 = Forschung y 2 = x 5 )} DB:V-137 Relational Algebra & Calculus STEIN

69 Relationaler Domänenkalkül Beispiel 1 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. Relationenalgebra TAFEL Domänenkalkül Abkürzung: Konstanten als Parameter. {(x 1, x 3 ) x 5 y 2 (Mitarbeiter(x 1, x 2, x 3, x 4, x 5 ) Abteilung( Forschung, y 2, y 3 ) y 2 = x 5 )} DB:V-138 Relational Algebra & Calculus STEIN

70 Relationaler Domänenkalkül Beispiel 1 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere Name und Wohnort der Mitarbeiter, die in der Forschung arbeiten. Relationenalgebra TAFEL Domänenkalkül Abkürzung: Unifikation von Domänenvariablen {(x 1, x 3 ) (Mitarbeiter(x 1, x 2, x 3, x 4, x 5 ) Abteilung( Forschung, x 5, y 3 ))} DB:V-139 Relational Algebra & Calculus STEIN

71 Bemerkungen: Eine Bedingung, die sich auf eine Domänenvariable und eine Konstante bezieht, entspricht einer Selektion, σ, in der relationalen Algebra. Beispiel: y 1 = Forschung Eine Bedingung bzgl. zweier Domänenvariablen, die sich auf zwei verschiedene Relationen beziehen, entspricht einem Verbund (Join),, in der relationalen Algebra. Beispiel: x 5 = y 2 DB:V-140 Relational Algebra & Calculus STEIN

72 Relationaler Domänenkalkül Beispiel 2 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere für jedes Projekt in Weimar dessen Nummer, die Nummer der durchführenden Abteilung sowie Name und Wohnort des Abteilungsmanagers. DB:V-141 Relational Algebra & Calculus STEIN

73 Relationaler Domänenkalkül Beispiel 2 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere für jedes Projekt in Weimar dessen Nummer, die Nummer der durchführenden Abteilung sowie Name und Wohnort des Abteilungsmanagers. Relationenalgebra π PNr,AbtNr, Name,Wohnort ((ρ PNr Nr, PName Name (σ Ort= Weimar (Projekt))) AbtNr=Nr Abteilung Manager=PersNr Mitarbeiter) DB:V-142 Relational Algebra & Calculus STEIN

74 Relationaler Domänenkalkül Beispiel 2 [Tupelkalkül] Mitarbeiter Name PersNr Wohnort ChefPersNr AbtNr Smith 1234 Weimar Wong 3334 Köln Zelaya 9998 Erfurt Abteilung AbtName Nr Manager Forschung Verwaltung Stab AbtStandort AbtNr Ort 1 Berlin 4 Weimar 5 Hamburg 5 Köln ArbeitetInProjekt PersNr ProjektNr Projekt Name Nr Ort AbtNr X 1 Köln 5 Y 2 Hamburg 5 Z 3 Weimar 4 New 8 Weimar 4 Anfrage Liefere für jedes Projekt in Weimar dessen Nummer, die Nummer der durchführenden Abteilung sowie Name und Wohnort des Abteilungsmanagers. Relationenalgebra π PNr,AbtNr, Name,Wohnort Domänenkalkül TAFEL ((ρ PNr Nr, PName Name (σ Ort= Weimar (Projekt))) AbtNr=Nr Abteilung Manager=PersNr Mitarbeiter) DB:V-143 Relational Algebra & Calculus STEIN

Kapitel DB:V (Fortsetzung)

Kapitel DB:V (Fortsetzung) Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-67 Relational Algebra

Mehr

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 6b: Das relationale Modell Das Relationale Modell (vgl. Lerneinheit 6a) Wertebereiche (Domänen):

Mehr

Logic in a Nutshell. Christian Liguda

Logic in a Nutshell. Christian Liguda Logic in a Nutshell Christian Liguda Quelle: Kastens, Uwe und Büning, Hans K., Modellierung: Grundlagen und formale Methoden, 2009, Carl Hanser Verlag Übersicht Logik - Allgemein Aussagenlogik Modellierung

Mehr

Kapitel DB:VI. VI. Die relationale Datenbanksprache SQL

Kapitel DB:VI. VI. Die relationale Datenbanksprache SQL Kapitel DB:VI VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus DB:VI-1 SQL

Mehr

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14 Lernziele Grundideen des Domänen-Relationenkalküls (DRK) und des Tupel-Relationenkalküls

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

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

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1

Kapitel 1.0. Aussagenlogik: Einführung. Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Kapitel 1.0 Aussagenlogik: Einführung Mathematische Logik (WS 2011/12) Kapitel 1.0: Aussagenlogik: Einführung 1/ 1 Ziele der Aussagenlogik In der Aussagenlogik analysiert man die Wahrheitswerte zusammengesetzter

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik. Motivation - Beispiel. Motivation - Beispiel Motivation Formale Grundlagen der Informatik 1 Kapitel 19 & Die ist eine Erweiterung der Aussagenlogik. Sie hat eine größere Ausdrucksstärke und erlaub eine feinere Differenzierung. Ferner sind Beziehungen/Relationen

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Rhetorik und Argumentationstheorie.

Rhetorik und Argumentationstheorie. Rhetorik und Argumentationstheorie 2 [frederik.gierlinger@univie.ac.at] Teil 2 Was ist ein Beweis? 2 Wichtige Grundlagen Tautologie nennt man eine zusammengesetzte Aussage, die wahr ist, unabhängig vom

Mehr

Ein Beispiel: Tabelle DICHTER

Ein Beispiel: Tabelle DICHTER Datenbanken Eine Datenbank ist eine Sammlung von Daten, die aus der Sicht des Benutzers zusammen gehören. Ein Datenbankverwaltungssystem (DBMS) ist ein informatisches System zur Verwaltung einer Datenbank.

Mehr

Sudoku. Warum 6? Warum 6?

Sudoku. Warum 6? Warum 6? . / Sudoku Füllen Sie die leeren Felder so aus, dass in jeder Zeile, in jeder Spalte und in jedem x Kästchen alle Zahlen von bis stehen.. / Warum?. / Warum?. / Geschichte der Logik Syllogismen (I) Beginn

Mehr

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen

Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen. notwendig: Existenz- und Allaussagen Prädikatenlogik 1. Stufe (kurz: PL1) Aussagenlogik zu wenig ausdrucksstark für die meisten Anwendungen notwendig: Existenz- und Allaussagen Beispiel: 54 Syntax der Prädikatenlogik erster Stufe (in der

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

Brückenkurs Mathematik

Brückenkurs Mathematik Brückenkurs Mathematik 6.10. - 17.10. Vorlesung 1 Logik,, Doris Bohnet Universität Hamburg - Department Mathematik Mo 6.10.2008 Zeitplan Tagesablauf: 9:15-11:45 Vorlesung Audimax I 13:00-14:30 Übung Übungsräume

Mehr

5.4 Die Prädikatenlogik 1.Stufe als Semantikformalismus

5.4 Die Prädikatenlogik 1.Stufe als Semantikformalismus 5.4 Die Prädikatenlogik 1.Stufe als Semantikformalismus 5.4.1 Einführung Einführung Verwendet wird die Sprache der Prädikatenlogik erster Stufe mit Identität (ohne Funktionskonstanten) mit dem folgenden

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück 1 Kapitel 6a: Das relationale Modell 2 Das Relationale Modell Wertebereiche (Domänen): D 1, D 2,,...,

Mehr

Prüfungsprotokoll Kurs 1825 Logik für Informatiker. Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015

Prüfungsprotokoll Kurs 1825 Logik für Informatiker. Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015 Prüfungsprotokoll Kurs 1825 Logik für Informatiker Studiengang: MSc. Informatik Prüfer: Prof. Dr. Heinemann Termin: Januar 2015 1. Aussagenlogik Alphabet und AS gegeben, wie sind die Aussagenlogischen

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Das relationale Modell

Das relationale Modell Das relationale Modell Das relationale Modell VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Das relationale Modell 1. Überblick Überblick

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Hilbert-Kalkül (Einführung)

Hilbert-Kalkül (Einführung) Hilbert-Kalkül (Einführung) Es gibt viele verschiedene Kalküle, mit denen sich durch syntaktische Umformungen zeigen läßt, ob eine Formel gültig bzw. unerfüllbar ist. Zwei Gruppen von Kalkülen: Kalküle

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

Mehr

Relationales Datenmodell

Relationales Datenmodell Relationales Datenmodell Ein Datenmodell hat zwei Bestandteile: Eine mathematische Notation zur Darstellung von Daten und Beziehungen. Operationen auf den Daten, um Abfragen und andere Manipulationen zu

Mehr

Aufgabe - Fortsetzung

Aufgabe - Fortsetzung Aufgabe - Fortsetzung NF: Nicht-Formel F: Formel A: Aussage x :( y : Q(x, y) R(x, y)) z :(Q(z, x) R(y, z)) y :(R(x, y) Q(x, z)) x :( P(x) P(f (a))) P(x) x : P(x) x y :((P(y) Q(x, y)) P(x)) x x : Q(x, x)

Mehr

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Kapitel DB:III. III. Konzeptueller Datenbankentwurf Kapitel DB:III III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen Abstraktionskonzepte

Mehr

Relationale Datenbanken

Relationale Datenbanken Datenbanksysteme Relationale Datenbanken Relationales Datenmodell Deklarationen Anfragen! Entwurf, z.b. mit Entity Relationship Model! Deklaration! Speichern der Daten! Hauptspeicher, Cache, virtueller

Mehr

5. Aussagenlogik und Schaltalgebra

5. Aussagenlogik und Schaltalgebra 5. Aussagenlogik und Schaltalgebra Aussageformen und Aussagenlogik Boolesche Terme und Boolesche Funktionen Boolesche Algebra Schaltalgebra Schaltnetze und Schaltwerke R. Der 1 Aussagen Information oft

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de Beschreibungslogiken Daniel Schradick 1schradi@informatik.uni-hamburg.de Was sind Beschreibungslogiken? Definition: Formalisms that represent knowledge of some problem domain (the world ) by first defining

Mehr

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik

Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik Grundzeichen Aussagenlogik Aussagenvariablen P, Q, R,... Junktoren nicht und oder Runde Klammern (, ) Formeln Aussagenlogik Formeln sind spezielle Zeichenreihen aus Grundzeichen, und zwar 1 Jede Aussagenvariable

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 9: Prädikatenlogik schulz@eprover.org Rückblick 2 Rückblick: Vor- und Nachteile von Aussagenlogik Aussagenlogik ist deklarativ: Syntaxelemente entsprechen

Mehr

2.1 Überblick. 2 Das Relationale Datenmodell

2.1 Überblick. 2 Das Relationale Datenmodell c M. Scholl, 2005/06 Informationssysteme: 2. Das Relationale Datenmodell 2-1 2 Das Relationale Datenmodell 2.1 Überblick Ende der 60er Jahre: Grundlagenforschung am IBM-Forschungslabor San Jose, CA., mit

Mehr

Lösungsvorschläge Blatt Z1

Lösungsvorschläge Blatt Z1 Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /

Mehr

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren) Was bisher geschah Wissensrepräsentation und -verarbeitung in Logiken klassische Aussagenlogik klassische Prädikatenlogik: Wiederholung Syntax, Semantik Normalformen: bereinigt Pränex Skolem ( -Eliminierung)

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

Induktive Definitionen

Induktive Definitionen Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive

Mehr

Logische Strukturen 7. Vorlesung

Logische Strukturen 7. Vorlesung Logische Strukturen 7. Vorlesung Martin Dietzfelbinger 18. Mai 2010 Kapitel 2 Prädikatenlogik Was ist das? Logik und Strukturen Natürliches Schließen Normalformen Herbrand-Theorie Prädikatenlogische Resolution

Mehr

y(p F x) gebunden und in den Formeln F xy

y(p F x) gebunden und in den Formeln F xy Wirkungsbereich (Skopus) eines Quantors i bzw. i nennen wir die unmittelbar auf i bzw. i folgende Formel. Wir sagen, eine IV i kommt in einer Formel A gebunden vor, wenn sie unmittelbar auf oder folgt

Mehr

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln Structured Query Language, SQL vom American National Standards Institute, ANSI, genormte Datenbanksprache. enthält eine Teilsprache, die eine relationale Anfragesprache ist, Mischung von tupelorientierten

Mehr

Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004

Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004 Mathematik für Informatiker I Mitschrift zur Vorlesung vom 14.12.2004 In der letzten Vorlesung haben wir gesehen, wie man die einzelnen Zahlenbereiche aufbaut. Uns fehlen nur noch die reellen Zahlen (siehe

Mehr

Surjektive, injektive und bijektive Funktionen.

Surjektive, injektive und bijektive Funktionen. Kapitel 1: Aussagen, Mengen, Funktionen Surjektive, injektive und bijektive Funktionen. Definition. Sei f : M N eine Funktion. Dann heißt f surjektiv, falls die Gleichung f(x) = y für jedes y N mindestens

Mehr

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)

Mehr

Datenbanken: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

5 Logische Programmierung

5 Logische Programmierung 5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.

Mehr

Teil 7. Grundlagen Logik

Teil 7. Grundlagen Logik Teil 7 Grundlagen Logik Was ist Logik? etymologische Herkunft: griechisch bedeutet Wort, Rede, Lehre (s.a. Faust I ) Logik als Argumentation: Alle Menschen sind sterblich. Sokrates ist ein Mensch. Also

Mehr

Informatik II Datenorganisation Datenbanken

Informatik II Datenorganisation Datenbanken Informatik II Datenorganisation Datenbanken Studiengang Wirtschaftsingenieurwesen (2. Semester) Prof. Dr. Sabine Kühn Tel. (0351) 462 2490 Fachbereich Informatik/Mathematik skuehn@informatik.htw-dresden.de

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Formale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19

Formale Methoden 1. Gerhard Jäger 16. Januar Uni Bielefeld, WS 2007/2008 1/19 1/19 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 16. Januar 2008 2/19 Reguläre Ausdrücke vierte Art (neben Typ-3-Grammatiken, deterministischen und nicht-deterministischen

Mehr

Grammatiken und ANTLR

Grammatiken und ANTLR Grammatiken und ANTLR Zusatzfolien zu Algo Blatt 6 Author: Henry Schaefer http://www.majeeks.de/folien_blatt6.pdf Grammatik Definition: syntaktische Beschreibung einer Sprache (H.S.) Definiton Grammatik

Mehr

Übungsblatt 3 Lösungen

Übungsblatt 3 Lösungen Übungsblatt 3 Lösungen Formale Semantik WiSe 2011/2012 1 Lambda-Kalkül Anmerkungen: Pot(U) = Potenzmenge von U, wobei U das Universum Die Potenzmenge einer Menge M ist die Menge aller Teilmengen von M

Mehr

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre

Vorlesung. Einführung in die mathematische Sprache und naive Mengenlehre Vorlesung Einführung in die mathematische Sprache und naive Mengenlehre Allgemeines RUD26 Erwin-Schrödinger-Zentrum (ESZ) RUD25 Johann-von-Neumann-Haus Fachschaft Menge aller Studenten eines Institutes

Mehr

SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER

SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER SE PHILOSOPHISCHE LOGIK WS 2014 GÜNTHER EDER FORMALE SPRACHEN Wie jede natürliche Sprache, hat auch auch jede formale Sprache Syntax/Grammatik Semantik GRAMMATIK / SYNTAX Die Grammatik / Syntax einer formalen

Mehr

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

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

Wissensbasierte Systeme/ Expertensysteme. Teil 2

Wissensbasierte Systeme/ Expertensysteme. Teil 2 Wissensbasierte Systeme/ Expertensysteme Teil 2 BiTS, Sommersemester 2004 Dr. Stefan Kooths KOOTHS BiTS: Wissensbasierte Systeme/Expertensysteme Teil 2 1 Gliederung 1. Einführung und Einordnung 2. Entscheidungsunterstützung(ssysteme)

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Logik und Mengenlehre. ... wenn man doch nur vernünftig mit Datenbanken umgehen können will?

Logik und Mengenlehre. ... wenn man doch nur vernünftig mit Datenbanken umgehen können will? Mengenlehre und Logik: iederholung Repetitorium: Grundlagen von Mengenlehre und Logik 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 arum??? arum um alles in der elt muss man sich mit herumschlagen,......

Mehr

Ein wesentliches, charakteristisches Merkmal aller Datenbankmanagement

Ein wesentliches, charakteristisches Merkmal aller Datenbankmanagement Anfrageformulierung: Allgemeines Ein wesentliches, charakteristisches Merkmal aller Datenbankmanagement nkmanagement- systeme ist die Unterstützung einer (oder mehrerer) Anfragesprachen. Eine Anfrage ist

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

Kapitel 2. Die Prädikentenlogik (erster Stufe)

Kapitel 2. Die Prädikentenlogik (erster Stufe) Kapitel 2 Die Prädikentenlogik (erster Stufe) Mathematische Strukturen und formale Sprachen Mathematische Logik (WS 2010/11) Prädikatenlogik 1. Stufe 1 / 43 Übersicht Vorbemerkungen Mathematische Strukturen

Mehr

Fixpunktsemantik logischer Programme Pascal Hitzler Juli 1997 Kurzuberblick im Rahmen der Vorlesung Einfuhrung in Prolog von T. Cornell im Sommersemester 1997 an der Universitat Tubingen. Beweise sind

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Null-Werte in Relationalen Datenbanken

Null-Werte in Relationalen Datenbanken Seminar: Imperfektion in Datenbanken WS03/04 Null-Werte in Relationalen Datenbanken Thomas Bierhance Einführung Null-Werte in DBen sind notwendiges Übel, da... (1) das Wissen über die tatsächliche Welt

Mehr

4. Structured Query Language (SQL)

4. Structured Query Language (SQL) 4. Structured Query Language (SQL) Rückblick Konzeptuelles Modell (ERM) können wir nun in (wenige) Relationen übersetzen Relationale Algebra gibt uns eine Sprache an die Hand, mit der wir Anfragen auf

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

2 Mengen und Abbildungen

2 Mengen und Abbildungen 2.1 Mengen Unter einer Menge verstehen wir eine Zusammenfassung von Objekten zu einem Ganzen. Die Objekte heiÿen Elemente. Ist M eine Menge und x ein Element von M so schreiben wir x M. Wir sagen auch:

Mehr

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle. Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...

Mehr

1 Sprechweisen und Symbole der Mathematik

1 Sprechweisen und Symbole der Mathematik 1 Sprechweisen und Symbole der Mathematik Übersicht 1.1 Junktoren......................................................... 1 1.2 Quantoren......................................................... 4 1.3

Mehr

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

Mehr

Logik & Semantik 7. Vorlesung Prädikatenlogik 1. Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen

Logik & Semantik 7. Vorlesung Prädikatenlogik 1. Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen Logik & Semantik 7. Vorlesung Prädikatenlogik 1 Syntax der Prädikatenlogik Semantik der Prädikatenlogik: Grundbegriffe (Variablen-)Substitutionen 1 Definition eines logischen Systems: Generelles Schema

Mehr

4. Datenabfrage mit QBE 11

4. Datenabfrage mit QBE 11 Informationsbestände analysieren Datenabfrage mit QBE 4. Datenabfrage mit QBE 11 4.1. QBE vs. SQL Relationale Datenbanken haben schon früh den Anspruch gestellt, auch für Nicht- Informatiker nutzbar zu

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander.

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. SQL Komplexe Abfragen Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. Voraussetzung für das Verständnis ist die Beherrschung einfacher SELECT-Abfragen Die Möglichkeit, Tabellen zu verknüpfen,

Mehr

Kapitel 3: Das relationale DB-Modell & SQL

Kapitel 3: Das relationale DB-Modell & SQL Vorlesung " WS 98/99 Kapitel 3: Das relationale DB-Modell & SQL Relationales Datenmodell (RDM) Netzwerk- und Hierarchisches Datenmodell (NDM, HDM) Objektorientierte Datenmodelle (OODM) Objektrelationale

Mehr

Datenbanksysteme Kapitel: SQL Data Definition Language

Datenbanksysteme Kapitel: SQL Data Definition Language Datenbanksysteme Kapitel: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof.

Mehr

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence

Mehr

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Datenbanken. Sommersemester 2010 Probeklausur

Datenbanken. Sommersemester 2010 Probeklausur Prof. Dr. V. Linnemann Christoph Reinke Universität zu Lübeck Institut für Informationssysteme Lübeck, den 29. Juli 2010 Datenbanken Sommersemester 2010 Probeklausur Hinweise: Es ist sinnvoll, die Aufgaben

Mehr

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Wirtschaftsinformatik 2. Tutorium im WS 11/12 Wirtschaftsinformatik 2. Tutorium im WS 11/12 Entity/Relationship-Modell SQL Statements Tutorium Wirtschaftsinformatik WS 11/12 2.1 Datenmodellierung mit ERM (1) Datenmodellierung zur Erarbeitung des konzeptionellen

Mehr

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.) 3. Untergruppen 19 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten

Mehr

ÜBUNG ZUM GRUNDKURS LOGIK SS 2016 GÜNTHER EDER

ÜBUNG ZUM GRUNDKURS LOGIK SS 2016 GÜNTHER EDER ÜBUNG ZUM GRUNDKURS LOGIK SS 2016 GÜNTHER EDER FORMALE SPRACHEN Bevor wir anfangen, uns mit formaler Logik zu beschäftigen, müssen wir uns mit formalen Sprachen beschäftigen Wie jede natürliche Sprache,

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

1. Einführung. Datenbanken Grundlagen

1. Einführung. Datenbanken Grundlagen 1. Einführung Datenbanken Grundlagen Wo finden wir Datenbanken? Was sind Datenbanken/ Datenbankensysteme(DBS)? A collection of related data items mit folgenden Eigenschaften: Eine Datebank repräsentiert

Mehr

Datenbankmodelle 2. Das relationale Modell

Datenbankmodelle 2. Das relationale Modell Datenbankmodelle 2 Das relationale Modell Datenbankmodelle ER-Modell Netzwerkmodell hierarchisches Modell relationales Modell objektorientierte Modelle Relationales Modell - 2 relationales Modell basiert

Mehr

Kapitel ML:IV (Fortsetzung)

Kapitel ML:IV (Fortsetzung) Kapitel ML:IV (Fortsetzung) IV. Statistische Lernverfahren Wahrscheinlichkeitsrechnung Bayes-Klassifikation Maximum-a-Posteriori-Hypothesen ML:IV-18 Statistical Learning c STEIN 2005-2011 Satz 3 (Bayes)

Mehr

Kapitel 2: Einstieg in SQL

Kapitel 2: Einstieg in SQL Kapitel 2: Einstieg in SQL 2. Einstieg in SQL 2. SQL (Structured Query Language) ist die in der Praxis am weitesten verbreitete Datenbanksprache für relationale Datenbanken. Die Historie von SQL geht zurück

Mehr

Übung Datenbanken in der Praxis. Relationale Algebra

Übung Datenbanken in der Praxis. Relationale Algebra Relationale Algebra Folie 16 Relationale Algebra - Aufgabe 1 Gegeben seien die Relationen R1, R2 und R3. Erstellen Sie die Ergebnisrelationen für folgende Operationen und bestimmen Sie jeweils den Grad

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr