Query Languages (QL) Relationale Abfragesprachen/Relational

Größe: px
Ab Seite anzeigen:

Download "Query Languages (QL) Relationale Abfragesprachen/Relational"

Transkript

1 Relationale Algebra

2 Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell hat einfache und leistungsfähige Abfragesprachen (man kann viel optimieren) Abfragesprache Programmiersprache Abfragesprachen: Nicht für komplexe Operationen Erlaubt einfacher und effizienter Zugriff zu großen Datensätze

3 Formale Relationale Abfragesprachen (Query Languages) Zwei mathematische Abfragesprachen stellen die theoretische Grundlage der reelen Abfragesprachen (wie z.b. SQL) in relationalen Datenbanken: Relationale Algebra: kann Ausführungspläne beschreiben (operational) Relationale Kalküle: Der Benutzer kann beschreiben was er haben will und nicht wie es berechnet werden soll (non-operational, deklarativ) Domänenkalkül, Tupelkalkül

4 Relationale Algebra Fünf Basisoperationen: Projektion ( π ) : wählt bestimmte Spalten aus der Relation und gibt diese als neue Relation aus ( löscht die anderen Spalten) Selektion ( σ ) : wählt bestimme Zeilen aus der Relation und gibt diese als neue Relation aus ( löscht die anderen Zeilen) Kartesisches Produkt ( ) : erlaubt die Verknüpfung zweier Relationen Differenz ( - ) : gibt die Tupeln aus der ersten Relation, die sich nicht in der zweiten Reltion befinden, aus Vereinigung ( ) : gibt die Tupeln aus der ersten und zweiten Relation aus Zusätzliche Opratoren: Umbenennen, Durchschnitt, Division, Verbund Die Operationen können zusammengesetzt sein (jede Operation hat eine Relation als Ergebnis)

5 Projektion Definition. Sei L = (A 1,, A n ) eine Teilmenge von Attributen(Spalten) aus der Relation R. Die Projektion der Attribute L einer Relation R ist definiert als die Relation R (A 1,, A n ) mit: R = π L (R) = { t t R t.a 1 = t.a 1 t.a n = t.a n } Oder, anders gesagt: die Projektion aus einem Tupel t R ist definiert als das Tupel π L (t) = (t(a 1 ),, t(a n )) Die Projektion der Relation R ist definiert als die Relation π L (R) = {π L (t) t R }

6 Projektion - Beispiel

7 Projektion in SQL Ist π Name,Ort (Studenten) äquivalent mit SELECT Name, Ort FROM Studenten? NEIN! Relationale Algebra funktioniert mit Mengen keine Duplikate(identische Tupeln) Das ist in SQL nicht standardmäßig so! Äquivalent: SELECT DISTINCT Name, Ort FROM Studenten

8 Selektion / Restriktion Definition. Die Selektion einer Relation R ist definiert als die Menge aller Tupel aus R, die der Selektionsbedingung P genügen: σ P (R) = { t t R P(t) } Die Bedingung P setzt sich zusammen aus: Operanden: Konstanten oder Name eines Attributs Vergleichsoperatoren: =,, <,, >, Boolsche Operatoren:,,

9 Selektion - Beispiel

10 Selektion in SQL σ Name = `Schmidt`(Studenten) SELECT DISTINCT * FROM Studenten WHERE Name = `Schmidt`

11 Aufpassen Nicht verwechseln: Projektion - π Attr1, Attr2 (Relation) SELECT DISTINCT Attr1, Attr2 FROM Relation WHERE c Selektion - σ c (Relation)

12 Zusammensetzung von Projektion und Selektion π Name, Vorname, Ort (σ Name = `Schmidt`(Studenten)) SELECT DISTINCT Name, Vorname, Ort FROM Studenten WHERE Name = `Schmidt` σ Name = `Schmidt`(π Name, Vorname, Ort (Studenten)) Welches ist das äquivalente SQL Query? Kann man immer die Reihenfolge der Projektion und Selektion wechseln? Nein die Selektion kann nach der Projektion ausgeführt werden, nur dann wenn die Selektionsbedingung nur Attribute aus der Projektion enthält

13 Vereinigung, Durchschnitt, Differenz Vereinigung: R 1 R 2 = { t t R 1 t R 2 } Durchschnitt: R 1 R 2 = { t t R 1 t R 2 } Differenz: R 1 R 2 = { t t R 1 t R 2 } R und S müssen für alle diese Operationen gleiches Relationenschema besitzen Wertebereiche müssen kompatibel oder vereinigungsverträglich sein Bem. Es gilt R 1 R 2 = R 1 (R 1 R 2 )

14 Vereinigung, Durchschnitt, Differenz in SQL R 1 R 2 R 1 R 2 R 1 R 2 SELECT DISTINCT * FROM R 1 UNION SELECT DISTINCT * FROM R 2 SELECT DISTINCT * FROM R 1 INTERSECT SELECT DISTINCT * FROM R 2 SELECT DISTINCT * FROM R 1 EXCEPT SELECT DISTINCT * FROM R 2

15 Kartesisches Produkt Das kartesische Produkt zweier Relationen R 1 (A 1,, A n ) und R 2 (B 1,, B m ) ist definiert als Relation: R 1 R 2 = { t t 1 R 1 ᴧ t 2 R 2 SQL: ᴧ t.a 1 = t 1.A 1 ᴧ ᴧ t.a n = t 1.A n ᴧ t.b 1 = t 2.B 1 ᴧ ᴧ t.b m = t 2.B m } SELECT DISTINCT * FROM R 1, R 2

16 Kartesisches Produkt - Beispiel

17 θ-join (Theta-Verbund) Auswahl bestimmter Tupel aus dem kartesischen Produkt R 1 R 2 Basis der Verknüpfung der Relationen: eine Bedingung c R 1 c R 2 = σ c (R 1 R 2 ) Bsp. Studenten Studenten.MatrikelNr = Enrolled.MatrikelNr Enrolled SQL: SELECT DISTINCT * FROM Studenten, Enrolled WHERE Studenten.MatrikelNr = Enrolled.MatrikelNr oder SELECT DISTINCT * FROM Studenten INNER JOIN Enrolled ON Studenten.MatrikelNr = Enrolled.MatrikelNr

18 Equi-Join Einen θ-join der Form R 1 R1.A i = R 2.B j R 2 nennt man Equi-Join Notation für Equi-Join um zu unterscheiden: R 1 E(R1.A i = R 2.B j )R 2 Die Bedingung muss der Form einer Gleichwertigkeit zwischen Attribute der ersten und der zweiten Relation sein Das Ergebnis enthält nur einen der Attribute, da es redundant ist beide zu behalten (die Attribute sind gleich)

19 Equi-Join Beispiel Kurse Enrolled Kurse E(Kurse.KursId=Enrolled.KursId) Enrolled KursId Alg1 DB1 DB2 Titel Algorithmen1 Datenbanken1 Datenbanken2 MatrNr KursId Note 1234 Alg Alg DB DB DB1 10 KursId Titel MatrNr Note Alg1 Algorithmen Alg1 Algorithmen DB1 Datenbanken DB2 Datenbanken DB1 Datenbanken

20 Natürlicher Verbund Verknüpft zwei Relationen indem alle gleichbenannten Attribute der beiden Relationen betrachtet werden und nur einen der gleichen Attribute kommt in das Ergebnis vor (ohne Redundanzen) Qualifizierende Tupel müssen für diese gleichbenannten Attribute gleiche Werte aufweisen, um in das Ergebnis einzugehen Gibt es kein gemeinsames Attribut so ist das Ergebnis das kartesische Produkt Kurse Enrolled Kurse Enrolled KursId Titel MatrNr KursId Note KursId Titel MatrNr Note Alg1 Algorithmen Alg1 7 Alg1 Algorithmen DB1 Datenbanken Alg1 8 Alg1 Algorithmen DB2 Datenbanken DB1 9 DB1 Datenbanken DB2 7 DB2 Datenbanken DB1 10 DB1 Datenbanken

21 Division Die Relation R 1 enthält Attribute X und Y und R 2 enthält den Attribut Y. R 1 R 2 = { <X> <Y> R 2 : <X,Y> R 1 } R 1 R 2 (oder R 1 / R 2 ) enthält alle X Tupeln so dass für jede Y Tupel in R 2, eine XY Tupel in R 1 existiert X und Y können auch Mengen von Attributen sein

22 Division Nicht als primitiver Operator, aber nützlich Die Division wird dann eingesetzt, wenn die Frage für alle enthält Beispielfragestellungen für eine Division: Welche Personen haben eine Kundenkarte von allen Filialen? Welche Mitarbeiter arbeiten an allen Projekten? Welche Studenten hören alle Vorlesungen von Prof. X?

23 Division Darstellung des Quotienten durch die Basisoperatoren: Idee: Berechne alle X Werte, die von irgendeinem Y Wert aus R 2 disqualifiziert wird X wird disqualifiziert wenn für einen Y der Tupel XY nicht in R 1 enthalten ist: π X ( ( π X (R 1 ) R 2 ) R 1 ) Der Quotient R 1 R 2 enthält dann alle X Werte aus R 1, die nicht disqualifiziert sind: R 1 R 2 = π X (R 1 ) π X ( ( π X (R 1 ) R 2 ) R 1 )

24 Division - Beispiel R 1 R 2 R 1 R 2 A B A B

25 Umbenennen von Relationen und Attributen Umbenennung unterscheidet sich von den anderen Operatoren dadurch, dass keine Berechnung vorgenommen wird Operator ist aber notwendig, wenn eine Relation mehrfach in einer Anfrage vorkommt (z.b. Join) ρ S (R) : Relation R wird in Relation S umbenannt ρ B A (R) : Attribut A der Relation R wird umbenannt in B Das Relationenschema wird nicht geändert (nur eventuell Namen von Attributen)

26 Zuweisungsoperation Die Zuweisungsoperation ist eine Methode komplexe Abfragen zu representieren Eine Abfrage kann in einer temporären Variable gespeichert werden Temp π X (R 1 R 2 ) Dann kann man diese Variable in weiteren Abfragen benutzen Erg Temp R 3

27 Komplexe Abfragen R 1 (R 2 π b (R 3 ρ R5 (ρ b a(r 4 )))) R 1 R 2 π b Ausführungsplan R 3 ρ R5 ρ b a(r 4 )

28 Studenten Kurse Enrolled MatrNr Name Vorname 1234 Schmidt Hans 1235 Meisel Amelie 1236 Krause Julia 1237 Rasch Lara 1238 Schmidt Christian KursId Titel ECTS Alg1 Algorithmen1 6 DB1 Datenbanken1 6 DB2 Datenbanken2 5 MatrNr KursId Note 1234 Alg Alg DB DB DB1 10

29 Geben Sie die Namen der Studenten aus, die für den Kurs `BD1` angemeldet sind Lsg1. Lsg2. Lsg3. π Name ((σ KursId=`BD1`(Enrolled)) Studenten) ρ Temp1 (σ KursId=`BD1`(Enrolled)) ρ Temp2 (Temp1 Studenten) π Name (Temp2) π Name (σ KursId=`BD1`(Enrolled Studenten))

30 Geben Sie die Namen der Studenten aus, die für einen Kurs mit 5 ECTS angemeldet sind Lsg1. Lsg2. π Name ((σ ECTS=5 (Kurse)) Enrolled Studenten) π Name (π MatrNr (π KursId (σ ECTS=5 (Kurse)) Enrolled) Studenten) Lsg2 ist effizienter. Ein Abfrageoptimierer würde, gegeben die erste Abfrage, die zweite Abfrage finden.

31 Geben Sie die Namen der Studenten aus, die für einen Kurs mit 5 oder 6 ECTS angemeldet sind Wir können erstmal die Kurse mit 5 oder 6 ECTS ausgeben und dann die Studenten die in einem dieser Kurse angemeldet sind ρ TempKurse (σ ECTS=5 ECTS=6 (Kurse)) π Name (TempKurse Enrolled Studenten) Was passiert wenn wir oder mit und ersetzen

32 Geben Sie die Namen der Studenten aus, die für einen Kurs mit 5 ECTS und einen Kurs mit 6 ECTS angemeldet sind Die vorige Idee funktionniert nicht mehr. Wir müssen die Studenten finden, die in einem 5 ECTS Kurs angemeldet sind und die die in einem 6 ECTS Kurs angemeldet sind und den Durchschnitt berechnen ρ Temp5 (π MatrNr (σ ECTS=5 (Kurse) Enrolled)) ρ Temp6 (π MatrNr (σ ECTS=6 (Kurse) Enrolled)) π Name ((Temp5 Temp6) Studenten)

33 Geben Sie die Namen der Studenten aus, die für alle Kurse angemeldet sind Für alle wir benutzen Division ρ TempMatrNr (π MatrNr,KursId (Enrolled) / π KursId (Kurse)) π Name ( TempMatrNr Studenten)

34 Erweiterte Relationale Algebra Operatoren Erweiterte Projektion Aggregat Funktionen Outer Join Datenbank Änderungen

35 Erweiterte Projektion Erweitert die Projektion, indem arithmetische Funktionen als Projektionbedingung benutzt werden können π F1,,Fn (R) F1,, Fn sind arithmetische Funktionen, die Konstante oder Attribute der Relation R enthalten

36 Aggregat Funktionen Haben mehrere Werte als Input und ein Wert als Output: avg: Mittelwert min: Minimum der Werte max: Maximum der Werte sum: Summe der Werte count: Anzahl der Werte

37 Aggregat Funktionen in Relationale Algebra G 1, G 2,,G n ϑ F1 (A 1 ), F 2 (A 2 ),, F n (A n ) (R) G 1, G 2,,G n eine Liste von Attributen worauf wir gruppieren wollen F i Aggregatfunktion A i Name eines Attributes

38 Aggregat Funktionen - Beispiel Relation R: A B C a 2 5 b 3 3 a 4 4 ϑ sum(c) (R) 12

39 Outer Join Erweiterung von Join-Operationen: Left Outer Join - alle Tupel aus der linken Relation, die keinen Join-Partner in der rechten Relation haben, werden trotzdem ausgegeben Right Outer Join - alle Tupel aus der rechten Relation, die keinen Join- Partner in der linken Relation haben, werden trotzdem ausgegeben Full Outer Join - alle Tupel sowohl der linken als auch der rechten Reltion, die keinen Join-Partner haben, werden trotzdem ausgegeben Null-Werte werden benutzt: Tupeln aus der Relation R, die keinen Join-Partner in der Relation S hatten enthalten Null-Werte für die entsprechenden Spalten der Relation S Ein Null-Wert heißt unbekannt oder inexistent Alle Vergleiche mit einem Null-Wert werden in der Regel als FALSE bewertet

40 Outer Join - SQL

41 Datenbank Änderungen Der Inhalt der Datenbank kann durch folgenden Operationen geändert werden: Löschen: R R E Einfügen: R R E Aktualisierung/Updating: R π F1,, Fn (R)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans [email protected]

Mehr

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans [email protected]

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans [email protected]

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

Rückblick: Relationale Normalisierung

Rückblick: Relationale Normalisierung Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren

Mehr

2.5 Relationale Algebra

2.5 Relationale Algebra 2.5 Relationale Algebra 2.5.1 Überblick Codd-vollständige relationale Sprachen Relationale Algebra Abfragen werden durch exakte Angabe der auf den Relationen durchzuführenden Operationen formuliert Relationenkalküle

Mehr

3.4 Die relationale Algebra

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

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Das Relationale Modell

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

Mehr

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) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

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 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'

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

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

Mehr

Vorlesung Datenbanksysteme vom

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,

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Ü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) Ü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

Mehr

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung

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:

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2) Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Aggregatfunktionen in der Relationenalgebra?

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

Mehr

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

Mehr

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

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

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen

Mehr

Diskussion: Personal (1)

Diskussion: Personal (1) Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens

Mehr

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

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

Mehr

Grundlagen von Datenbanken

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.

Mehr

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen

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

Mehr

Relationales Datenmodell Relationale Algebra

Relationales Datenmodell Relationale Algebra Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Relationale Algebra Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Grundbegriffe des Relationalen Modells Abbildung

Mehr

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 14. Mai 2007 σ KID= 11a (Schüler) π S Name (σ KID= 11a (Schüler))

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

Mehr

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. 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/

Mehr

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

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

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

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

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Entity Relationship Modell

Entity Relationship Modell Entity Relationship Modell 2 Entity/Relationship (ER) Modell Legi Name Semester Entity = Gegenstandstyp Relationship = Beziehungstyp Schlüssel (Identifikation) Studenten hören Hörer Kurs Vorlesungen Attribut

Mehr

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch

Mehr

Anfrageoptimierung Logische Optimierung

Anfrageoptimierung Logische Optimierung Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13 Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer

Mehr

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENMODELLIERUNG (184.685) GRUPPE A MUSTERLÖSUNG 06.05.2014 Matrikelnr.

Mehr

Abstraktionsschichten. Das Relationale Datenmodell

Abstraktionsschichten. Das Relationale Datenmodell Abstraktionsschichten. Das Relationale Datenmodell Verschiedene Abstraktionsebene Data in Beziehung zur Application Data in Beziehung zur Datenmodell Data in Beziehung zur physischen Darstellung Datenunabhängigkeit

Mehr

Einführung in Datenbanken. Kapitel 11: Relationale Algebra in SQL

Einführung in Datenbanken. Kapitel 11: Relationale Algebra in SQL Stefan Brass: Einf. in Datenbanken 11. Relationale Algebra in SQL 1/48 Einführung in Datenbanken Kapitel 11: Relationale Algebra in SQL Prof. Dr. Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

Relationale Datenbanksprachen

Relationale Datenbanksprachen Relationale Datenbanksprachen SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen Andreas Heuer, Gunter Saake Datenbanken I 9-1 Sprachen und ihre Grundlagen Grundlagen Kommerzielle Sprachen ISBL SQL

Mehr

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,

Mehr

Grundlagen: Datenbanken

Grundlagen: Datenbanken Grundlagen: Datenbanken 1. Zentralübung Harald Lang FAQs Ist der Prüfungtermin schon bekannt? Termin: Mi. 18.02.2015, 08:00 Uhr FAQs Gilt der Bonus auch für die Nachholklausur? Ja. Selbst dann, wenn die

Mehr

Fortsetzung: Projektion Selektion. NULL Werte

Fortsetzung: Projektion Selektion. NULL Werte Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134

Mehr

Datenmanipulation in SQL (1): Subselect:

Datenmanipulation in SQL (1): Subselect: Datenmanipulation in SQL (1): Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 05 Übung zur Vorlesung Grundlagen: Datenbanken im W15/16 Harald Lang, Linnea Passing ([email protected]

Mehr

Kap. 3 Relationenmodell mit relationaler Algebra

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,

Mehr

Aggregatfunktionen in SQL

Aggregatfunktionen in SQL Aggregatfunktionen in SQL Michael Dienert 14. April 2008 1 Definition von Aggregatfunktionen Ihren Namen haben die Aggregatfunktionen vom englischen Verb to aggregate, was auf deutsch anhäufen, vereinigen,

Mehr

Datenbanksysteme SS 2007

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

Mehr

Kapitel 2: Grundlagen von Anfragesprachen

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

Mehr

3. Grundlagen relationaler Datenbanksysteme

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

Mehr

Informationsmanagement u. Numerische Methoden

Informationsmanagement u. Numerische Methoden Fakultät Bauingenieurwesen Institut für Bauinformatik, Prof. Dr.-Ing. Raimar J. Scherer Informationsmanagement u. Numerische Methoden Relationale und Objekt-orientierte Datenstrukturen 6. Semester 2. Vorlesung:

Mehr

Wiederholung: Relationale Algebra

Wiederholung: Relationale Algebra Vorlesung Datenbanksysteme vom 1.11.016 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D1, D,,

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

Datenbanksysteme Kapitel 5: SQL - Grundlagen

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

Mehr

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt. Der Wirt gibt dem Kellner den Auftrag

Mehr

Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1

Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1 Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Prof. Dr. Dr. Peter Peter

Mehr

Garten - Daten Bank. - survival pack -

Garten - Daten Bank. - survival pack - Garten - Daten Bank - survival pack - Dr. Karsten Tolle PRG2 SS 2017 Inhalt heute Kurz: Motivation und Begriffe SQL (survival pack) create table (Tabelle erzeugen) insert into (Einfügen) select (Anfragen)

Mehr

[ SQL] Wissen, das sich auszahlt

[  SQL] Wissen, das sich auszahlt [www.teia.de SQL] Wissen, das sich auszahlt INHALT SEITE 12 [I] 1] Einführung in SQL und relationale Datenbanken 12 14 16 18 11 1.1 1.2 Einführung Die Structured Query Language (SQL) Tabellen Mehrere Tabellen

Mehr

Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1

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

Mehr