Der relationale Tupel-Kalkül
|
|
|
- Rolf Brandt
- vor 8 Jahren
- Abrufe
Transkript
1 Der relationale Tupel-Kalkül Udo Kelter Zusammenfassung dieses Lehrmoduls Die relationalen Kalküle sind neben der relationalen Algebra ein alternativer Formalismus, mit dem sich die grundlegenden Möglichkeiten zur Abfrage von Daten in relationalen Datenbanken definieren lassen. Dieses Lehrmodul stellt den relationalen Tupel-Kalkül an Beispielen vor. In der Grundform des Tupel-Kalküls sind Abfragen möglich, die zu unendlich großen Ergebnissen führen. Daher erlaubt man nur sogenannte sichere Abfragen. Wir diskutieren abschließend die relationale Vollständigkeit der Kalküle. Vorausgesetzte Lehrmodule: obligatorisch: Datenverwaltungssysteme Das relationale Datenbankmodell Stoffumfang in Vorlesungsdoppelstunden: 0.5 1
2 Der relationale Tupel-Kalkül 2 Inhaltsverzeichnis 1 Die relationalen Kalküle 3 2 Der relationale Tupel-Kalkül Beispiel 1 (Selektion) Beispiel 2 (Projektion) Beispiel 3 (Mengenoperationen) Beispiel 4 (natürlicher Verbund) Beispiel 5 (Division) Syntax von Ausdrücken im RTK 7 4 Sichere RTK-Ausdrücke 8 Literatur Glossar Index Dieser Text darf für nichtkommerzielle Nutzungen als Ganzes und unverändert in elektronischer oder gedruckter Form beliebig weitergegeben werden und in WWW-Seiten, CDs und Datenbanken aufgenommen werden. Jede andere Nutzung, insb. die Veränderung und Überführung in andere Formate, bedarf der expliziten Genehmigung. Die jeweils aktuellste Version ist über erreichbar.
3 Der relationale Tupel-Kalkül 3 1 Die relationalen Kalküle Wenn ein Benutzer bestimmte Daten aus einer relationalen Datenbank extrahieren will, muß er, wenn er die relationale Algebra (s. [RDBM]) verwendet, einen Ausdruck finden, der die gesuchte Menge konstruiert. Der Benutzer muß also zu seinem Suchproblem eine konstruktive, prozedurale Lösung finden. Schöner wäre es, wenn man dem DBMS nur die gesuchten Daten beschreiben müßte und wenn dann das DBMS selbst einen Weg fände, das Suchergebnis zu konstruieren. Dies ist gerade die Grundidee der relationalen Kalküle. Die Frage ist nun, wie der Benutzer dem DBMS die gesuchten Daten beschreibt. Der grundlegende Ansatz besteht darin, hierbei elementare Vergleichsbedingungen zu verwenden - wie wir sie schon bei der relationalen Algebra kennengelernt haben -, und auf dieser Basis aussagenlogische Ausdrücke zu bilden. Man verwendet hier den Prädikatenkalkül 1. Ordnung mit Quantoren. Letztlich bildet man also ein Prädikat, das die gesuchten Daten beschreibt. Es gibt nun zwei grundlegende Alternativen, wie man die Parameter für das Prädikat gestaltet: Tupelvariablen: Eine Abfrage hat hier folgende Grundform: { t P (t) } Das Prädikat P(t) entscheidet für ein Tupel t, ob es zu den gesuchten Daten gehört. Man spricht hier vom relationalen Tupel-Kalkül (RTK). Bereichsvariablen: Eine Abfrage hat hier folgende Grundform: { < x 1, x 2,..., x n > P (x 1, x 2,..., x n ) } Jedes der x i stellt einen Attributwert dar. Das Prädikat P (x 1, x 2,..., x n ) entscheidet für eine Kombination von Attributwerten, ob sie ein Tupel bilden, das zu den gesuchten Daten gehört. Man spricht hier vom relationalen Bereichskalkül. Die beiden Varianten sind für unsere Zwecke gleichwertig; wir werden i.f. nur den relationalen Tupel-Kalkül vorstellen.
4 Der relationale Tupel-Kalkül 4 2 Der relationale Tupel-Kalkül Wir illustrieren den relationalen Tupel-Kalkül an den gleichen Beispiel- Relationen wie in [RDBM], s. Bild 1. Tabelle: kunden Kundennummer Kundenname Wohnort Kreditlimit Meier, Anne Weidenau Büdenbender, Christa Siegen Stötzel, Gyula Siegen Schneider, Peter Netphen Litt, Michael Siegen 0.00 Tabelle: lieferungen Datum Wert Kundennummer Lager Lieferadresse Mitte Bahnhofstr Nord Luisenstr West Bergstr. 33 Abbildung 1: Beispieltabellen Wir werden i.f. folgende Schreibweise benutzen: Wenn A ein Attribut ist und t ein Tupel, dann ist t[a] der Wert des Attributs A in t (auch als die Projektion des Tupels t auf A bezeichnet). Hierbei unterstellen wir natürlich A R, wobei R der Relationentyp von t ist. 2.1 Beispiel 1 (Selektion) Wir suchen hier Kundennummer, Kundenname, Wohnort und Kreditlimit derjenigen Kunden, deren Kreditlimit über DM liegt. Dies liefert uns die folgendermaßen definierte Menge: { t t kunden t[kreditlimit] > } Die Bedingung t[kreditlimit] > stellt hier eine Selektionsbedingung dar. Statt der hier vorliegenden elementaren Bedingung
5 Der relationale Tupel-Kalkül 5 sind i.a. natürlich auch komplexe Ausdrücke möglich. Das Beispiel zeigt, daß Selektionen in den relationalen Kalkülen sehr einfach formulierbar sind. In der relationalen Algebra sieht die Selektion wie folgt aus: σ Kreditlimit>10000 (Kunden) Im folgenden gehen wir die wichtigsten Operatoren der relationalen Algebra durch und zeigen beispielhaft, daß auch sie durch entsprechende aussagenlogische Konstrukte nachbildbar sind. 2.2 Beispiel 2 (Projektion) Wir ändern unser voriges Beispiel dahingehend ab, daß wir nur noch die Namen der Kunden haben wollen. In der relationalen Algebra würden wir auf dieses Attribut projizieren: π Kundenname (σ Kreditlimit>10000 (Kunden)) Die Projektion können wir in den aussagenlogischen Ausdrücken nicht direkt nachbilden. Wir müssen hier die Definition der Projektion direkt einsetzen. Die Projektion einer Relation r auf eine Attributmenge A ist wie folgt definiert: t π A (r) s r s[a] = t[a] Die vorstehende Definition einer Projektion integrieren wir nun in den Ausdruck, der unsere gesuchte Menge definiert: { t s kunden s[kreditlimit] > s[kundenname] = t[kundenname] } Der Typ des Ergebnisses ist in diesem Beispiel nur implizit definiert. (In Beispiel 1 war er durch die Bedingung t Kunden explizit definiert.) Dadurch, daß der aussagenlogische Ausdruck den Term t[kundenname] enthält, ist implizit festgelegt, daß die Ergebnistupel ein Attribut namens Kundenname haben. Der Ergebnistyp enthält genau alle so vorgegebenen Attribute.
6 Der relationale Tupel-Kalkül Beispiel 3 (Mengenoperationen) Gesucht sind nun die Nummern aller Kunden, deren Kreditlimit über DM liegt und die eine Lieferung im Wert von über 1000 DM bekommen haben. Den hier auftretenden Mengendurchschnitt bilden wir direkt auf die und-verknüpfung ab: { t ( s kunden s[kreditlimit] > s[kundennummer] = t[kundennummer] ) ( u lieferungen u[wert] > 1000 u[kundennummer] = t[kundennummer] ) } Analog können wir die Mengenvereinigung durch die oder-verknüpfung nachbilden und die Mengendifferenz durch eine und-nicht - Verknüpfung. 2.4 Beispiel 4 (natürlicher Verbund) Gesucht sind nun die Lieferungen im Wert von über 1000 DM, anzugeben ist der Wert und der Name des Kunden. Bei Verwendung der relationale Algebra würden wir hier einen Verbund bilden: π Kundenname,Wert (σ Wert>1000 (lieferungen) kunden) Den Verbund simulieren wir, indem wir in einem aussagenlogischen Ausdruck die Gleichheit der Werte der Verbundattribute verlangen: { t u lieferungen u[wert] > 1000 t[wert] = u[wert] ( s kunden s[kundennummer] = u[kundennummer] t[kundenname] = s[kundenname] ) } Der eigentliche Test auf Gleichheit der Verbundattribute ist in dem Teilausdruck s[kundennummer] = u[kundennummer] enthalten.
7 Der relationale Tupel-Kalkül Beispiel 5 (Division) Wir suchen jetzt die Kundennummern derjenigen Kunden, die schon von allen Lagern Lieferungen bekommen haben. In der relationalen Algebra sieht die Lösung wie folgt aus: π Kundennummer,Lager (lieferungen) π Lager (lieferungen) In den relationalen Kalkülen können wir den all-quantor direkt einsetzen, ein Umweg über eine Operation wie die Division ist nicht mehr nötig. Informell ausgedrückt hat die gesuchte Menge folgende Spezifikation: { t Lager l gilt : Lieferung für Kunde t von Lager l aus } Konkret ist die Lösung wie folgt: { t l ( l lieferungen lf ( lf lieferungen l[lager] = lf[lager] t[kundennummer] = lf[kundennummer] ) ) } Die Ergebnistupel haben den Typ {Kundennummer}. Die allquantifizierte Variable l durchläuft die ganze Relation lieferungen und projiziert diese, da wir im Rest des Ausdrucks nur l[lager] benutzen, praktisch auf das Attribut Lager. Eine Kundennummer t ist nur dann im Ergebnis, wenn für alle Lager ein Lieferungstupel lf vorhanden ist, das die Kundennummer t und das Lager l aufweist. 3 Syntax von Ausdrücken im RTK Wie schon erwähnt ist { t P (t) } die Grundform einer Abfrage im RTK. Für das darin enthaltene Prädikat gelten die folgenden syntaktischen Regeln: Erlaubte atomare Ausdrücke sind: 1. s r falls s eine Tupelvariable und r eine Relation ist
8 Der relationale Tupel-Kalkül 8 2. s[a] Θ u[b] falls s und u Tupelvariable sind A und B Attribute gleichen Typs, die bei s bzw. u definiert sind Θ ein Vergleichsoperator ist 3. s[a] Θ c falls s eine Tupelvariable ist A ein Attribut, das bei s definiert ist Θ ein Vergleichsoperator ist c eine Konstante aus dem Wertebereich von A ist RTK-Ausdrücke sind generell wie folgt aufgebaut: 1. Atomare Ausdrücke sind RTK-Ausdrücke. 2. Ist P ein RTK-Ausdruck, so sind auch P und (P ) RTK-Ausdrücke. 3. Sind P und Q RTK-Ausdrücke, so sind auch P Q und P Q RTK-Ausdrücke. 4. Ist P (s) ein RTK-Ausdruck mit der freien Tupelvariablen s, so sind auch s (P (s)) und s (P (s)) RTK-Ausdrücke. Eine Variable v in einem Ausdruck P heißt frei, wenn P keinen Quantor über v enthält. 4 Sichere RTK-Ausdrücke Wir hatten bisher noch völlig offengelassen, wie ein DBMS zu einem gegebenen RTK-Ausdruck die Lösung dieser Suchaufgabe findet. Ein einfaches Auswertungsverfahren besteht darin, alle involvierten Relationen zu durchlaufen und das Prädikat auszuwerten. Dummerweise sind auch RTK-Ausdrücke folgender Form möglich: { t (t kunden)} Wir verstehen diese Abfrage so, daß die enthaltenen Tupel den Typ Kunden haben. Verlangt wären hier alle denkbaren Tupel außer denen, die sich gerade in der Datenbank befinden. Die Anzahl dieser
9 Der relationale Tupel-Kalkül 9 Tupel ist extrem groß, das Ergebnis kann in der Praxis nicht konstruiert werden. Derartige unendliche Mengen 1 sind auch innerhalb von verschachtelten RTK-Ausdrücken möglich. Generell können RTK-Ausdrücke, die unendliche Zwischen- oder Endergebnisse enthalten, nicht ausgewertet werden. RTK-Ausdrücke, bei denen dieses Problem nicht auftritt, bei denen also beim Arbeiten auf beliebigen Datenbankinhalten nur endliche Resultate auftreten, bezeichnen wir als sicher. Ein DBMS würde also dann, wenn der Benutzer einen unsicheren Ausdruck auswerten lassen will, dies ablehnen. Dazu muß vor Auswertung des Ausdrucks entschieden werden, ob er nun sicher ist oder nicht. Diese Entscheidung ist nicht immer einfach, weshalb man zwei Arten von Sicherheit unterscheidet: semantische Sicherheit: Dies ist die Sicherheit im allgemeinen Sinn. Leider ist sie i.a. nicht entscheidbar, d.h. dieser Begriff nützt uns in der Praxis nichts. syntaktische Sicherheit: Hier werden syntaktische Restriktionen definiert, die hinreichend, aber nicht unbedingt notwendig für die semantische Sicherheit sind. Die Grundidee besteht hier darin zu verlangen, daß jede freie Variable t überall durch Teilausdrücke wie t[a] = c oder t r an endliche Wertebereiche gebunden wird, die dann gefahrlos durchlaufen werden können. Auf Details wollen wir hier nicht eingehen. In der Praxis kann man nur mit der syntaktischen Sicherheit arbeiten, d.h. das DBMS wird bestimmte Ausdrücke als unsicher ablehnen, obwohl sie es inhaltlich nicht sind. Die Menge der sicheren RTK-Ausdrücke bezeichnen wir mit SRTK. Relationale Vollständigkeit. Wir hatten oben bereits beispielhaft gezeigt, daß man alle Operationen der relationalen Algebra durch 1 Wegen der Endlichkeit der Wertebereiche der Attribute ist natürlich auch die Zahl der damit konstruierbaren Tupel endlich; praktisch sind die Mengen dennoch viel zu groß, um mit Rechnern verarbeitet werden zu können.
10 Der relationale Tupel-Kalkül 10 RTK-Ausdrücke nachbilden kann. Die Frage ist, ob auch die Umkehrung gilt. Für die allgemeinen RTK-Ausdrücke gilt sie nicht. Dies macht man sich leicht klar, weil es in der relationalen Algebra kein Äquivalent zu den unsicheren Ausdrücken gibt: Eine Menge wie {t (t kunden)} kann in der relationalen Algebra nicht konstruiert werden; hierzu bräuchte man einen Konstruktor, der alle Tupel zu einem Relationentyp liefert; von dieser unendlichen Menge wäre dann die vorhandene Relation abzuziehen. Anders verhält es sich beim sicheren RTK: Man kann zeigen, daß man zu jedem SRTK-Ausdruck einen Ausdruck in der relationalen Algebra finden kann, der das gleiche Ergebnis berechnet. Die relationale Algebra und der SRTK sind daher gleichmächtig; insb. ist somit auch der SRTK relational vollständig. Vergleich von (S)RTK und relationaler Algebra. Nachdem sich der SRTK und die relationale Algebra bzgl. ihrer Ausdrucksfähigkeit nicht unterscheiden, liegt die Frage nahe, für welche der beiden Denkwelten man sich entscheiden sollte. Wie die obigen Beispiele zeigen, sind viele einfache Beispiele mit dem RTK umständlicher zu formulieren als mit der relationalen Algebra. Denk- und Schreibweisen mit Quantoren sind für mathematisch ungeübte Benutzer nicht geeignet. Der RTK ist leichter als die relationale Algebra um Ausgabeanweisungen und Standardfunktionen (Summe, Maximalwert etc.) erweiterbar. In der Praxis benutzte Sprachen enthalten stets eine Mischung aus beiden Denkwelten, also sowohl prozedurale als auch deskriptive Sprachelemente.
11 Der relationale Tupel-Kalkül 11 Literatur [RDBM] Kelter, U.: Lehrmodul Das relationale Datenbankmodell ; 2002 Glossar relationaler Bereichskalkül: auf Prädikaten basierende Abfragesprache für relationale Datenbanken, in der einzelne Attribute als Variable benutzt werden relationaler Tupel-Kalkül (RTK): auf Prädikaten basierende Abfragesprache für relationale Datenbanken, in der ganze Tupel als Variable benutzt werden Sicherheit (von RTK-Ausdrücken): ein RTK-Ausdruck ist sicher, wenn er ausgewertet werden kann, ohne daß dabei unbeschränkt große Zwischen- oder Endergebnisse auftreten
12 Index Bereichskalkül, 3, 11 Division, 7 Mengenoperationen, 6 Projektion, 5 relationale Algebra, 10 relationale Kalküle, 3 relationale Vollständigkeit, 9 RTK, 3 Selektion, 4 Sicherheit, 11 RTK-Ausdrücke, 8 SRTK, 9 Tupel-Kalkül, 3, 4, 11 sichere Ausdrücke, 8 Syntax von Ausdrücken, 7 Verbund, 6 12
Relationenkalkül. Prof. Dr. T. Kudraß 1
Relationenkalkül Prof. Dr. T. Kudraß 1 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül (DRK). Kalkül hat Variablen, Konstanten, Vergleichsoperatoren, logische
Grundlagen von Datenbanken
Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.
Grundlagen von Datenbanken
Grundlagen von Datenbanken SS 2010 5. Bereichskalkül (=Domänenkalkül) Agenda: Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010
mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler))
3. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 Hinweis: Wir schlagen vor, die Aufgaben in der Reihenfolge
Das Relationale Modell
Kapitel 3 Das Relationale Modell 1 / 50 Generelle Anmerkungen Wurde in den Siebzigern von E.F.Codd entwickelt (er bekam den Turing Award dafür) Im Moment das am weitesten verbreitete Datenmodell Hat die
Kap. 3 Relationenmodell mit relationaler Algebra
Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,
Query Languages (QL) Relationale Abfragesprachen/Relational
Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell
Kriterien für Anfragesprachen. Einführung II. Grundlagen von Anfragen und Änderungen
Einführung Kriterien für Anfragesprachen bisher Relationenschemata mit Basisrelationen, die in der Datenbank gespeichert sind jetzt Abgeleitete Relationenschemata mit virtuellen Relationen, die aus den
Aggregatfunktionen in der Relationenalgebra?
Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in
Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)
Übung 4 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer [email protected] http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik
Die Prädikatenlogik erster Stufe: Syntax und Semantik
Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,
Kapitel 2: Grundlagen von Anfragesprachen
2. Grundlagen von Anfragesprachen Seite 1 Kapitel 2: Grundlagen von Anfragesprachen Sprachparadigmen Relationenalgebra Relationenkalkül später SQL 2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra
Motivation Anford. Anfrage- Kalküle Bereichskalkül. Sichere Anfragen Beispiele. Ausdrucksfähigkeit. Tupelkalkül. Motivation Anford.
Kapitel 4: Grundlagen von Grundlagen von Anforderungen an Anfragesprachen,. Datenbankeinsatz: Grundlagen von 1 Datenbankeinsatz: Grundlagen von 2 Einführung (1) Einführung (2) Anfrage: Formulierung eines
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
Grundbegriffe aus Logik und Mengenlehre. Prädikatenlogik
Grundbegriffe aus Logik und Mengenlehre Prädikatenlogik wohlverstandene Grundlagen, eine formale Sprache zur Beschreibung statischer und dynamischer Gesichtspunkte eines Unternehmens syntaktisch und semantisch
(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
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach
Relationaler Tupelkalkül Datenbanken I (Systemorientierte Informatik IV) Sommersemester Syntax des relationalen Tupelkalküls
Concept Content.. Information Topic Relationaler Tupelkalkül Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler ([email protected]) Institut für Informatik
Die Sprache QUEL. Beispiel für QUEL-Anfrage. Weitere Datenbanksprachen. Anfragen in QUEL. Welche Lieferanten liefern von Weiß bestellte Waren?
( " unique - ( ) [ DDL DML des INGRES-Systems DDL analog zu SQL DML an Tupelkalkül angelehnt Die Sprache QUEL Beispiel für QUEL-Anfrage Welche Lieferanten liefern von Weiß bestellte Waren? : range of is
Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme
Schwerpunkte Vollständige und unvollständige Auswertung 8. Ausdrücke, Operatoren (einfache Typen) Teil 1 Seiteneffekte Overloading: Überladung von Operatoren Implizite und explizite (cast) Typumwandlung
Einführung in die mathematische Logik
Prof. Dr. H. Brenner Osnabrück SS 2014 Einführung in die mathematische Logik Vorlesung 14 Die Korrektheit des Ableitungskalküls Im Laufe der Einführung des syntaktischen Prädikatenkalküls haben wir gesehen,
3. Grundlagen relationaler Datenbanksysteme
3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen
Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?
Attribut-Werte-Paare Eine Eigenschaft kann beschrieben werden durch ein Paar [a,w]. Dabei bezeichnet a das Attribut und w den konkreten Wert aus dem Wertebereich W a des Attributs. Die Eigenschaften eines
GTI. Hannes Diener. 18. Juni. ENC B-0123,
GTI Hannes Diener ENC B-0123, [email protected] 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.
Syntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp
Mengenlehre. Jörg Witte
Mengenlehre Jörg Witte 25.10.2007 1 Grbegriffe Die Menegenlehre ist heute für die Mathematik grlegend. Sie spielt aber auch in der Informatik eine entscheidende Rolle. Insbesondere fußt die Theorie der
Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
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-70 Relational Algebra
Kapitel 4: Relationen-Kalkül
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten
4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen
Einleitung 4. Relationenalgebra Selektion und Projektion Mengenoperatoren Vereinigung, Durchschnitt, Differenz kartesisches Produkt Verbundoperationen (Join) Theta-Join natürlicher Verbund Semi-Join äußerer
Automaten und Coinduktion
Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und
Syntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß aus Molière, Les Femmes Savantes (1672), 2. kt Syntax von Programmiersprachen Prof. Dr. Martin Wirsing Ziele Zwei Standards zur Definition der Syntax
3. Untergruppen. 3. Untergruppen 23
3. Untergruppen 23 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
Abschnitt 3.2: Der Satz von Ehrenfeucht
Abschnitt 3.2: Der Satz von Ehrenfeucht In diesem Abschnitt wird gezeigt, dass ein enger Zusammenhang zwischen EF-Spielen und der Ausdrucksstärke der Logik erster Stufe besteht. Zur Formulierung dieses
1 Lineare Gleichungssysteme und Matrizen
1 Lineare Gleichungssysteme und Matrizen Das Studium linearer Gleichungssysteme und ihrer Lösungen ist eines der wichtigsten Themen der linearen Algebra. Wir werden zunächst einige grundlegende Begriffe
Syntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
Das relationale Datenbankmodell
Das relationale Datenbankmodell Udo Kelter 09.12.2002 Zusammenfassung dieses Lehrmoduls Das relationale Datenbankmodell besteht im Kern aus Operationen wie der Selektion, der Projektion und diversen Verbundoperationen.
Formale Grundlagen der Informatik 1 Kapitel 19. Syntax & Semantik
Formale Grundlagen der Informatik 1 Kapitel 19 & Frank Heitmann [email protected] 23. Juni 2015 Frank Heitmann [email protected] 1/25 Motivation Die ist eine Erweiterung
Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 1,
Vorlesung Datenbanken I Zwischenklausur
Prof. Dr. Stefan Brass 12. Dezember 2003 Institut für Informatik MLU Halle-Wittenberg Vorlesung Datenbanken I Zwischenklausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte Zeit 1 (Integritätsbedingungen)
Kapitel 3: Relationale Algebra
Kapitel 3: Relationale Algebra Algebra Motivation (1) Wir wollen aus Relationen für uns interessante Informationen extrahieren, Tabellen modifizieren und neue Tabellen aus alten generieren Datenbankeinsatz:
Logik und Künstliche Intelligenz
Logik und Künstliche Intelligenz Kurze Zusammenfassung (Stand: 14. Januar 2010) Prof. Dr. V. Stahl Copyright 2007 by Volker Stahl. All rights reserved. V. Stahl Logik und Künstliche Intelligenz Zusammenfassung
Datenbanken 1. Relationale Algebra. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg
Datenbanken 1 Nikolaus Augsten [email protected] FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at Sommersemester 2015 Version: 29. Juni 2015 Augsten (Univ. Salzburg)
THEORETISCHE INFORMATIK UND LOGIK
Prädikatenlogik als Universalsprache Die Entwicklung der Logik hat ein zentrales Motiv: Logik als eine universelle, präzise Sprache THEORETISCHE INFORMATIK UND LOGIK 15. Vorlesung: Logisches Schließen
Vor(schau)kurs für Studienanfänger Mathematik: Aussagen und Mengen
Vor(schau)kurs für Studienanfänger Mathematik: Aussagen und Mengen 09.10.2014 Herzlich Willkommen zum 2. Teil des Vorschaukurses für Mathematik! Organisatorisches Der Vorkurs besteht aus sechs Blöcken
Logische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 11: Logikprogramme Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 19. Dezember 2016 1/55 WIEDERHOLUNG: HORN-KLAUSELN
Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1
Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'
14. Rekursiv aufzählbare Mengen
14. Rekursiv aufzählbare Mengen In diesem Abschnitt fassen wir einige Eigenschaften der rekursiv aufzählbaren d.h. der nach Churchscher These (effektiv) aufzählbaren Mengen zusammen. In Korollar 11.8 haben
Datenbanksysteme I WS 17/18 HS-Übung. Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M.
Datenbanksysteme I WS 17/18 HS-Übung Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke Kapitel 1: Definitionen Grundlegenge Begriffe IS, DB, DBMS/
Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.
*HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.
Logik erster Stufe FO
Logik erster Stufe FO Sonderstellung als die Logik für die Grundlegung der Mathematik natürliche Semantik (Tarski) und große Ausdrucksstärke vollständige Beweiskalküle (Gödelscher Vollständigkeitssatz)
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
Die mathematische Seite
Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion
Kapitel 6. Fixpunkte und semantische Bereiche
Kapitel 6 Fixpunkte und semantische Bereiche Sowohl bei der Definition der operationalen Semantik als auch bei der Definition der mathematischen Semantik haben wir mehr oder weniger explizit Fixpunkte
Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung
Grundlagen von Datenbanken Relationale Algebra und algebraische Optimierung Relationale Algebra Überblick Selektion: σ Projektion: π Mengenoperationen:,,,, Kartesisches Produkt: Verbund (Join): Umbenennung:
Folie 1. Taylor-Reihen
Folie 4 e!!! 4! Taylor-Reihen Im Zusammenhang mit der Berechnung von Tangenten hatten wir den Begriff der Linearisierung eingeführt. Dies bedeutet, dass eine Funktion in einem Teilbereich durch eine Tangente
Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018
(Analysis und lineare Algebra) im Sommersemester 2018 2. Juli 2018 1/1 Wir geben einige wesentliche Sätze über bestimmte Integrale an, deren Beweise man in den Standardlehrbüchern der Analysis findet.
1 Mengen und Aussagen
$Id: mengen.tex,v 1.2 2010/10/25 13:57:01 hk Exp hk $ 1 Mengen und Aussagen Der wichtigste Grundbegriff der Mathematik ist der Begriff einer Menge, und wir wollen damit beginnen die klassische, 1878 von
Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme
Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/
Differenzengleichungen. und Polynome
Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck Technikerstr. 13/7, A-600 Innsbruck, Österreich [email protected] 1 Einleitung Mit linearen Differenzengleichungen
etutor Benutzerhandbuch Relationale Algebra Benutzerhandbuch Georg Nitsche
etutor Benutzerhandbuch Benutzerhandbuch Relationale Algebra Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 6.3.2006 Fertigstellung der ersten Version
3.4 Die relationale Algebra
Algebra: 3.4 Die relationale Algebra gegeben eine Menge N ( Anker der Algebra ) Menge von Operationen { σ 1,, σ n } der Form σ j :N k N elationale Algebra Anker ist die Menge aller elationen {(, I) I ist
Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1
Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck
4.1 Motivation. Theorie der Informatik. Theorie der Informatik. 4.1 Motivation. 4.2 Syntax der Prädikatenlogik. 4.3 Semantik der Prädikatenlogik
Theorie der Informatik 3. März 2014 4. Prädikatenlogik I Theorie der Informatik 4. Prädikatenlogik I 4.1 Motivation Malte Helmert Gabriele Röger 4.2 Syntax der Prädikatenlogik Universität Basel 3. März
KAPITEL 5. Damit wird F n (B) selbst zu einer Booleschen Algebra und es gilt f(x) := f(x) 0(x) := 0 B 1(x) := 1 B
KAPITEL 5 Boolesche Polynome Polynome über R, d.h. reelle Funktionen der Form p(x) = a 0 + a 1 x + + a n x n, x R, sind schon aus der Schulmathematik bekannt. Wir beschäftigen uns nun mit Booleschen Polynomen,
Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik
Kapitel 1.5 und 1.6 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2010/11) Kapitel 1.5 und 1.6: Kalküle 1 /
