Kapitel DB:V (Fortsetzung)
|
|
- Damian Fischer
- vor 6 Jahren
- Abrufe
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) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-67 Relational Algebra
MehrKapitel 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
MehrDatenbanksysteme 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):
MehrLogic 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
MehrKapitel 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
MehrRelationale 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
MehrTerme 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
MehrMai 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
MehrKapitel 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
MehrMotivation. 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
MehrI. 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
MehrLogik 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:
MehrRhetorik 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
MehrEin 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.
MehrSudoku. 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
MehrAussagenlogik 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
MehrEinleitung 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
MehrBrü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
Mehr5.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
MehrDatenbanksysteme 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,,...,
MehrPrü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
MehrSQL 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
MehrDas 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
MehrBinä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.
MehrHilbert-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
Mehr9. 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
MehrRelationales 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
MehrAufgabe - 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)
MehrKapitel 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
MehrRelationale Datenbanken
Datenbanksysteme Relationale Datenbanken Relationales Datenmodell Deklarationen Anfragen! Entwurf, z.b. mit Entity Relationship Model! Deklaration! Speichern der Daten! Hauptspeicher, Cache, virtueller
Mehr5. 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
Mehr3. 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
MehrBeschreibungslogiken. 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
MehrAussagenlogik 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
MehrTheoretische 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
Mehr2.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
MehrLö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 /
MehrWissensreprä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)
Mehr2. 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
MehrInduktive 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
MehrLogische 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
Mehry(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
MehrKalkü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
MehrMathematik 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
MehrSurjektive, 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
MehrLogische 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)
MehrDatenbanken: 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
Mehr5 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
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.
MehrTeil 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
MehrInformatik 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
MehrInformatik 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
MehrFormale 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
MehrGrammatiken 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 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
MehrVorlesung. 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
MehrSE 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
MehrUniversitä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
MehrDiskrete 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
MehrWissensbasierte 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)
Mehr6. 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
MehrKapitel 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:
MehrWS 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
MehrGrundbegriffe 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
MehrLogik 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,......
MehrEin 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
MehrTheoretische 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
MehrKapitel 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
MehrFixpunktsemantik 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
MehrNachtrag: 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
MehrNull-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
Mehr4. 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
MehrSQL: 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
MehrFormeln. 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
Mehr1 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
Mehr2 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:
MehrUniversitä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...
Mehr1 Sprechweisen und Symbole der Mathematik
1 Sprechweisen und Symbole der Mathematik Übersicht 1.1 Junktoren......................................................... 1 1.2 Quantoren......................................................... 4 1.3
MehrEntwicklung eines korrekten Übersetzers
Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung
MehrLogik & 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
Mehr4. 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
MehrObjektrelationale 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
MehrSQL. 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,
MehrKapitel 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
MehrDatenbanksysteme 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.
MehrEinfü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
MehrSQL 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
MehrDatenstruktur 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.
MehrDatenbanken. 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
MehrWirtschaftsinformatik 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.)
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 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,
Mehr11.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
MehrTheorie 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
Mehr1. 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
MehrDatenbankmodelle 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
MehrKapitel 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)
MehrKapitel 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
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
MehrISU 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