Kapitel 8 Dr. Jérôme Kunegis. SQL Continued. WeST Institute for Web Science & Technologies

Größe: px
Ab Seite anzeigen:

Download "Kapitel 8 Dr. Jérôme Kunegis. SQL Continued. WeST Institute for Web Science & Technologies"

Transkript

1 Kapitel 8 Dr. Jérôme Kunegis SQL Continued WeST Institute for Web Science & Technologies

2 Lernziele Syntax von SQL Anfragen Erweiterte Konstrukte in SQL Abfragen: Aggregation, Gruppierung, rekursive Anfragen.. Präzise Semantik von SQL Anfragen: Abbildung auf RA 2

3 Einfache SQL Anfragen "Grobsyntax": select_block { { UNION INTERSECT MINUS } [ALL] select_block...} [ORDER BY result_column [ASC DESC] {, result_column [ASC DESC] } mit select_block ::= SELECT [ALL DISTINCT] {column {expression [AS result_column]}} {, {column {expression [AS result_column]}} } FROM table [correlation_var] {, table [correlation_var] } [WHERE search_condition] [GROUP BY column {, column } [HAVING search_condition] ] 3

4 Oracle: Syntaxdiagramm 4

5 Mengenoperationen UNION UNION ALL INTERSECT MINUS Vereinigung von Mengen Vereinigung von Multimengen Schnittmenge Set-Minus (a.k.a. EXCEPT) Anfrage: Namen von allen Uni-Angehörigen SELECT Name FROM Assistenten UNION SELECT Name FROM Professoren UNION SELECT Name FROM Techniker; 5

6 Korrelationsvariablen (Tupelvariablen) Anfrage: alle Paare von Studenten, die in derselben Vorlesung sitzen SELECT s1.name, s2.name FROM Studenten s1, hören h1, Studenten s2, hören h2 WHERE h1.vorlnr = h2.vorlnr AND h1.matrnr = s1.matrnr AND h2.matrnr = s2.matrnr AND h1.matrnr < h2.matrnr; 6

7 Join "Grobsyntax" inner joins:... FROM <table1> [INNER NATURAL CROSS] JOIN <table2> [ON <condition>] [USING <column_name>,... ], "Grobsyntax" outer joins: FROM <table1> {LEFT RIGHT FULL [OUTER]} UNION JOIN <table2> [ON <condition>] [USING <column_name>,... ],

8 Inner Join Anfrage: welcher Professor bietet welche Vorlesungen an? SELECT p.name, v.name FROM Professoren p INNER JOIN Vorlesungen v ON p.persnr = v.gelesenvon; SELECT p.name, v.name FROM Professoren p JOIN Vorlesungen v ON p.persnr = v.gelesenvon; SELECT p.name, v.name FROM Professoren p, Vorlesungen v WHERE p.persnr = v.gelesenvon; 8

9 Natural Join Anfrage: Welcher Student hört welche Vorlesung? SELECT Studenten.Name, Vorlesungen.Name FROM Studenten NATURAL JOIN hören NATURAL JOIN Vorlesungen; SELECT s.name, v.name FROM Studenten s, hören h, Vorlesungen v WHERE s.matrnr = h.matrnr AND h.vorlnr = v.vorlnr; 9

10 Cross Join Anfrage: alle Paare "Professor Student" : SELECT Professoren.Name, Studenten.Name FROM Professoren CROSS JOIN Studenten; SELECT p.name, s.name FROM Professoren p, Studenten s; 10

11 Outer Joins: Left Outer Join SELECT p.persnr, p.name, f.persnr, f.note, f.matrnr, s.matrnr, s.name FROM Professoren p LEFT OUTER JOIN ( prüfen f LEFT OUTER JOIN Studenten s ON f.matrnr = s.matrnr ) ON p.persnr = f.persnr ; p.persnr p.name f.persnr f.note f.matrnr s.matrnr s.name 2126 Russel Carnap 2125 Sokrates Jonas 2137 Kant Schopenhauer 2136 Curie Ø Ø Ø Ø Ø 11

12 Outer Joins: Right Outer Join SELECT p.persnr, p.name, f.persnr, f.note, f.matrnr, s.matrnr, s.name FROM Professoren p RIGHT OUTER JOIN (prüfen f RIGHT OUTER JOIN Studenten s ON f.matrnr = p.matrnr) ON p.persnr = f.persnr; p.persnr p.name f.persnr f.note f.matrnr s.matrnr s.name 2126 Russel Carnap 2125 Sokrates Jonas 2137 Kant Schopenhauer Ø Ø Ø Ø Ø Fichte 12

13 Outer Joins: Full Outer Join SELECT p.persnr, p.name, f.persnr, f.note, f.matrnr, s.matrnr, s.name FROM Professoren p FULL OUTER JOIN (prüfen f FULL OUTER JOIN Studenten s ON f.matrnr = s.matrnr) ON p.persnr = f.persnr; p.persnr p.name f.persnr f.note f.matrnr s.matrnr s.name 2126 Russel Carnap 2125 Sokrates Jonas 2137 Kant Schopenhauer Ø Ø Ø Ø Ø Fichte 2136 Curie Ø Ø Ø Ø Ø 13

14 Bereichsanfragen und Mitgliedschaft in der Menge Anfrage: Studenten der ersten vier Semester SELECT * FROM Studenten WHERE Semester >= 1 AND Semester <= 4; SELECT * FROM Studenten WHERE Semester BETWEEN 1 and 4; SELECT * FROM Studenten WHERE Semester IN (1,2,3,4); 14

15 Subqueries unkorellierte Subqueries: Anfrage: Professoren, die keine Vorlesungen anbieten SELECT Name FROM Professoren WHERE PersNr NOT IN ( SELECT gelesenvon FROM Vorlesungen ); korrelierte Subqueries: Anfrage: Professoren, die keine Vorlesungen anbieten SELECT p.name FROM Professoren p WHERE NOT EXISTS ( SELECT v.gelesenvon FROM Vorlesungen v WHERE v.gelesenvon = p.persnr ); 15

16 String-Pattern-Matching Anfrage: Studenten, deren Name 'Schulz' ist: SELECT * FROM Studenten WHERE Name = 'Schulz'; Anfrage: Studenten, deren Name mit 'A' beginnt: SELECT * FROM Studenten WHERE Name LIKE 'A%'; Anfrage: Studenten mit Namen Mayer, Meyer, Mayor, : SELECT * FROM Studenten WHERE Name LIKE 'M_y_r'; 16

17 "Quantifizierte" Subqueries Die Bedingung Wert θ ANY Menge mit θ {{=,, <, >,, } ist erfüllt, wenn es in der Menge ein Element gibt, für das Wert θ Element gilt. (= ANY ist äquivalent zu IN) (SOME ist äquivalent to ANY) Die Bedingung Wert θ ALL Menge mit θ {=,, <, >,, } ist erfüllt, wenn für alle Elemente der Menge gilt: Wert θ Element. (<> ALL ist äquivalent zu NOT IN) Die Bedingung EXISTS Menge ist erfüllt, wenn die Menge nicht leer ist (dies ist äquivalent zur Bedingung 0 < SELECT COUNT(*) FROM...) Achtung: Wert θ ALL (query_returns_no_rows) = TRUE Wert θ ANY (query_returns_no_rows) = FALSE 17

18 "Quantifizierte" Subqueries Anfrage: Studenten im höchsten Semester: SELECT * FROM Studenten WHERE Semester >= ALL (SELECT Semester FROM Studenten); Anfrage: Studenten, für die keine Prüfungen erfasst sind: SELECT * FROM Studenten s WHERE NOT EXISTS (SELECT * FROM Prüfen p WHERE p.matrnr = s.matrnr); 18

19 Simulation allquantifizierter Suchprädikate SQL hat keinen Allquantor. Formulierungen der Anfrage: Wer hat alle vierstündigen Vorlesungen gehört? x. P(x) x. P(x) 19

20 Umsetzung des Allquantors in SQL Anfrage: Wer hat alle vierstündigen Vorlesungen gehört? SELECT s.matrnr FROM Studenten s WHERE NOT EXISTS (SELECT * FROM Vorlesungen v WHERE v.sws = 4 AND NOT EXISTS (SELECT * FROM hören h WHERE h.vorlnr = v.vorlnr AND h.matrnr=s.matrnr)); 20

21 Umsetzung des Allquantors in SQL: alternative Form Anfrage: Wer hat alle vierstündigen Vorlesungen gehört? SELECT s.matrnr FROM Studenten s WHERE NOT EXISTS ( SELECT v.vorlnr FROM Vorlesungen v WHERE v.sws = 4 MINUS SELECT h.vorlnr FROM hören h WHERE h.matrnr = s.matrnr ); 21

22 Aggregationsfunktionen "Grobsyntax": { MAX MIN AVG SUM COUNT } ( { ALL DISTINCT } {column expression *} ) "Grobsemantik": Abbildung einer Menge skalarer Werte auf einen skalaren Wert 22

23 Aggregationsfunktionen: Beispiele (1) 1) Das höchste Semester unter allen Studenten: SELECT MAX (Semester) FROM Studenten; 2) Notendurchschnitt aller Prüfungsergebnisse: SELECT AVG (Note) FROM prüfen; 23

24 Aggregationsfunktionen: Beispiele (2) 3) Welche Studenten haben bereits einige Prüfungen hinter sich? SELECT DISTINCT MatrNr FROM prüfen; 4) Wieviele Studenten haben bereits Prüfungen hinter sich? SELECT COUNT (DISTINCT MatrNr) FROM prüfen ; 5) Wieviele Studenten sind im 15. Semester? SELECT COUNT (*) FROM Studenten WHERE Semester = 15; 6) Prüfungsleistungen, die über dem globalen Durchschnitt liegen: SELECT p.note FROM prüfen p WHERE p.note < (SELECT AVG (p1.note) FROM prüfen p1); 24

25 Gruppierung Lehrpensum (Summe der Semesterwochenstunden) pro Professor: SELECT gelesenvon, SUM (SWS) FROM Vorlesungen GROUP BY gelesenvon; Lehrpensum der -Professoren, die überwiegend umfangreiche Lehrveranstaltungen anbieten (mit durchschnittlichem Umfang 3 SWS und mehr) SELECT gelesenvon, Name, SUM (SWS) FROM Vorlesungen, Professoren WHERE gelesenvon = PersNr AND Rang = '' GROUP BY gelesenvon, Name HAVING AVG (SWS) >= 3; 25

26 Ausführen einer Anfrage mit GROUP BY SELECT gelesenvon, Name, SUM (SWS) FROM Vorlesungen, Professoren WHERE gelesenvon = PersNr AND Rang = '' GROUP BY gelesenvon, Name HAVING AVG (SWS) >= 3; FROM Vorlesungen, Professoren VorlNr Titel 5001 Grundzüge 5041 Ethik Die 3 Kritiken SWS gelesen Von PersNr Name 2125 Sokrates 2125 Sokrates Kant Rang Raum WHERE gelesenvon = PersNr AND Rang = '' 26

27 Ausführen einer Anfrage mit GROUP BY (2) WHERE gelesenvon = PersNr AND Rang = '' VorlNr Titel SWS gelesen PersNr Von Name Rang Raum Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Kant Sokrates Russel Sokrates Sokrates Russel Bioethik Die 3 Kritiken Russel Kant GROUP BY gelesenvon, Name 27

28 SWS gelesenvon PersNr Name VorlN Titel r 5041 Ethik Sokrates 5049 Mäeutik Sokrates 4052 Logik Sokrates 5043 Erkenntnistheorie Russel 5052 Wissenschaftstheo Russel 5216 Bioethik Russel 5001 Grundzüge Kant 4630 Die 3 Kritiken Kant Rang Raum HAVING AVG (SWS) >= 3 VorlN r Titel Ethik Mäeutik Logik Grundzüge Die 3 Kritiken SWS gelesenvon PersNr Name Sokrates Sokrates Sokrates Kant Kant Rang Raum

29 Ausführen einer Anfrage mit GROUP BY (4) HAVING AVG (SWS) >= 3 VorlN r Titel Ethik Mäeutik Logik Grundzüge Die 3 Kritiken SWS gelesenvon PersNr Name Sokrates Sokrates Sokrates Kant Kant Rang Raum SELECT gelesenvon, Name, SUM (SWS) gelesenvon Name sum (SWS) 2125 Sokrates Kant 8 29

30 Simulation allquantifizierter Suchprädikate durch count-aggregation Allquantifizierung kann auch durch eine COUNT-Aggregation ausgedrückt werden Anfrage: Wer hat alle vierstündigen Vorlesungen gehört? SELECT h.matrnr FROM hören h, Vorlesungen v WHERE v.sws = 4 AND h.vorlnr = v.vorlnr GROUP BY h.matrnr HAVING COUNT (*) = (SELECT COUNT (*) FROM Vorlesungen v1 WHERE v1.sws = 4); 30

31 Count-Aggregation: Fehlerquellen Anfrage: Namen der Studenten, die alle vierstündigen Vorlesungen gehört haben Vorsicht: so geht das nicht SELECT h.matrnr, s.name FROM hören h, Vorlesungen v, Studenten s WHERE v.sws = 4 AND h.vorlnr = v.vorlnr AND h.matrnr = s.matrnr GROUP BY h.matrnr HAVING COUNT (*) = (SELECT COUNT (*) FROM Vorlesungen v1 WHERE v1.sws = 4); 31

32 Count-Aggregation: Fehlerquellen Anfrage: Namen der Studenten, die alle vierstündigen Vorlesungen gehört haben SELECT h.matrnr, s.name FROM hören h, Vorlesungen v, Studenten s WHERE v.sws = 4 AND h.vorlnr = v.vorlnr AND h.matrnr = s.matrnr GROUP BY h.matrnr, s.name HAVING COUNT (*) = ( SELECT COUNT (*) FROM Vorlesungen v1 WHERE v1.sws = 4 ); SQL erzeugt pro Gruppe ein Ergebnistupel. Deshalb müssen alle in der SELECT-Klausel aufgeführten Attribute - außer den aggregierten auch in der GROUP BY-Klausel aufgeführt werden! 32

33 Behandlung von Nullwerten "Grobsemantik": Unbekannter Wert. Nullwerte können auch im Zuge der Anfrageauswertung entstehen (z.b. Outer Joins) manchmal überraschende Anfrageergebnisse, wenn Nullwerte vorkommen: SELECT COUNT(*) FROM prüfen WHERE Note > 2.0 OR Note <= 2.0 ; ist NICHT immer identisch mit SELECT COUNT(*) FROM prüfen ; Grund: wenn es Prüfungen gibt, deren Note-Attribut (noch) den Wert NULL hat, werden diese nicht mitgezählt! 33

34 Auswertung bei Null-Werten In arithmetischen Ausdrücken werden Nullwerte propagiert: NULL + 1 = NULL NULL * 0 = NULL Die Behandlung von Strings + CLOBs ist systemspezifisch: Oracle: NULL 'string' = 'string' MS SQL Server: NULL + 'string' = null MySQL: concat(null, 'string') = NULL (btw, equivalent zu OR) SQL hat eine dreiwertige Logik mit TRUE, FALSE, UNKNOWN. Diesen Wert liefern Vergleichsoperationen zurück, wenn mindestens eines ihrer Argumente NULL ist. z.b. (Note <= 2.0) liefert UNKNOWN falls Note NULL ist 34

35 Gruppierung bei Null-Werten Bei einer Gruppierung wird null als ein eigenständiger Wert aufgefasst und in eine eigene Gruppe eingeordnet: SELECT Note, count(*) FROM prüfen GROUP BY Note Note 1.0 count(*) NULL

36 Test auf Nullwert Anfrage: bisher unbenotete Prüfungsleistungen SELECT * FROM prüfen WHERE Note IS NULL; Anfrage: Professoren mit eigenem Büro SELECT * FROM Professoren WHERE Raum IS NOT NULL; 36

37 Rekursive Anfragen für transitive Hüllen u.ä. Oracle Syntax: START WITH <condition> CONNECT BY [NOCYCLE] <condition> Anfrage: alle Vorlesungen, die man vor der Vorlesung 5041 (Ethik) besucht haben sollte SELECT Vorgänger FROM voraussetzen START WITH Nachfolger = 5041 CONNECT BY NOCYCLE PRIOR Vorgänger = Nachfolger AND Vorgänger!=

38 Built-in-Funktionen auf skalaren Werten Häufig produktspezifisch, z.b. Stringmanipulation in Oracle: SELECT SUBSTR (Name, INSTR(Name, ' ')+1) FROM Studenten Umwandlung eines Datums (Datentyp DATE) in einen String: SELECT TO_CHAR(SYSDATE, 'DY DD MONTH YYYY, HH24:MI:SS') FROM DUAL; etc. 38

39 Anhang Kapitel 8 Präzise Semantik von SQL-Anfragen 39

40 Abbildung SQL auf TRK und RA "Grobsemantik": SELECT A, B,... FROM R, S,..., T,... WHERE F (so dass A, B,... zu R, S,... gehören, nicht aber zu T,..., und F über R, S,..., T,... definiert ist) RA: TRK: 40

41 1. Abbildung SQL auf RA 41

42 Präzise Semantik einfacher SQL-Anfragen: Abbildung auf RA Voraussetzungen: 1) Vernachlässigung von Multimengen, Nullwerten u.ä. 2) Eindeutige Benennung von Tupelvariablen und Zuordnung von Attributen Vorgehensweise: Definition einer Abbildungsfunktion sql2ra: sql query ra query von select_block-konstrukten auf RA-Anfragen unter Verwendung der Funktion sql2ra : sql where clause ra query ra query von search_condition-konstrukten auf RA-Ausdrücke sowie der Hilfsfunktion sql2ra-: sql where clause ra query ra query mit sql2ra- [F](E) = E - π[sch(e)] (sql2ra [F](E) ).. Erweiterung auf Multirelationen relativ leicht möglich. 42

43 Abbildung SQL auf RA (1) sql2ra [ SELECT A1, A2, FROM REL1 R1, REL2 R2,, RELm Rm, TAB1 T1, TAB2 T2,, TABk Tk WHERE F ] (so dass A1, A2,..., An zu REL1, REL2,, RELm gehören, nicht aber zu TAB1,, TABk und F über REL1,..., RELm, TAB1,, TABk definiert ist ) 43

44 Abbildung SQL auf RA (2) sql2ra [ select-block1 UNION select-block2 ] mit select-block1: SELECT A1, A2, FROM REL1 R1,, RELm Rm, TAB1 T1,, TABk Tk WHERE F und select-block2: SELECT B1, B2,... FROM SET1 S1,..., SETm Sm, PAR1 P1,..., PARk Pk WHERE G.. mit ggf. notwendigen Umbenennungen von Attributen 44

45 Abbildung SQL auf RA (2) 45

46 Abbildung SQL auf RA (4) sql2trc [Ri.Aj IN subquery] (so dass subquery die Form SELECT Qk.C FROM QUELL1 Q1,..., QUELLm Qm WHERE H hat) 46

47 Abbildung SQL auf RA (5) sql2trc [Ri.Aj θ ANY subquery] = (so dass subquery die Form SELECT Qk.C FROM QUELL1 Q1,..., QUELLm Qm WHERE H hat) 47

48 Abbildung SQL auf RA (6) sql2trc [Ri.Aj θ ALL subquery] = (so dass subquery die Form SELECT Qk.C FROM QUELL1 Q1,..., QUELLm Qm WHERE H hat) 48

49 Abbildung SQL auf RA (7) sql2trc [EXISTS subquery] = (so dass subquery die Form SELECT C1, C2,... FROM QUELL1 Q1,..., QUELLm Qm WHERE H hat) 49

50 Abbildung SQL auf RA: Beispiel query = SELECT s.matrnr, s.name FROM Studenten s WHERE s.semester > 5 AND NOT EXISTS (SELECT * FROM hören h, Vorlesungen v WHERE v.sws = 4 AND v.vorlnr = h.vorlnr AND s.matrnr = h.matrnr) 50

51 3. Semantik der Gruppierung 51

52 Abbildung SQL auf RA (1) sql2ra [ SELECT A', f(b) FROM WHERE GROUP BY A ] (wobei A' A gelten muss) 52

53 Abbildung SQL auf RA (1) sql2ra [ SELECT A', f(b) FROM WHERE GROUP BY A HAVING cond(a,g(c))] (wobei A' A gelten muss) MRA-Programm 53

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken. SQL Teil 2. Dr. Jérôme Kunegis Wintersemester 2013/14

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken. SQL Teil 2. Dr. Jérôme Kunegis Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken SQL Teil 2 Dr. Jérôme Kunegis Wintersemester 2013/14 Bereichsanfragen und Mitgliedschaft in der Menge Anfrage:

Mehr

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken SQL. Dr. Gerd Gröner Wintersemester 2013/14

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken SQL. Dr. Gerd Gröner Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Kenntnisse der Grundkonzepte von Fähigkeit zur praktischen Anwendung

Mehr

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen

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

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2015 noch Kapitel 7: SQL Vorlesung vom 12.05.2015 Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Schlüsselworte select from where order by asc desc as like upper

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

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

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2009 Vorlesung vom 19.05.2009 noch Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Self Join 15.) Liste die Namen der Assistenten, die für denselben

Mehr

Relationale Anfragesprachen

Relationale Anfragesprachen Relationale Anfragesprachen Structured Query Language: SQL Query by Example: QBE Kapitel 1 Übungen Fr 8.0 Uhr Michael Kühn Raum E 11 SQL standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)-

Mehr

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 noch Kapitel 7: SQL Vorlesung vom 7.5.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL: avg, group by 16.) Liste die durchschnittliche

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

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

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Aufgabensammlung SQL SW4 1. Einfache Anfragen Aufgabensammlung SQL SW4 1. Einfache Anfragen Buch: Kapitel 4.6 und 4.7. Datenbank: Die folgenden Anfragen beziehen sich auf die Universitätsdatenbank des Buches. Alle Umlaute werden umschrieben (hören

Mehr

Es wird empfohlen folgendes Material anzusehen:

Es wird empfohlen folgendes Material anzusehen: Übung zur Vorlesung "Einführung in die Informatik für Hörer anderer Fachrichtungen (WZW)" IN8003, SS 2011 Prof. Dr. J. Schlichter Dr. Georg Groh, Dipl.Inform. Dipl.Geogr. Jan Herrmann, Florian Schulze

Mehr

Relationale Abfragesprachen

Relationale Abfragesprachen Relationale Abfragesprachen Relationale Abfragesprachen VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Relationale Abfragesprachen 1 Überblick

Mehr

Fortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator

Fortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator Fortsetzung: Anfragen mit SQL Bisher: Projektion, Selektion, Duplikatbehandlung, NULL Werte Kreuzprodukt, Inner Join Mengenoperationen Sortierung Geschachtelte Anfragen Existenzquantor, Mengenvergleich

Mehr

Datenmodellierung. VU , SS 2016 Relationale Abfragesprachen SQL. Nysret Musliu, Sebastian Skritek

Datenmodellierung. VU , SS 2016 Relationale Abfragesprachen SQL. Nysret Musliu, Sebastian Skritek Relationale Abfragesprachen Datenmodellierung VU 184685, SS 2016 Relationale Abfragesprachen SQL Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu,

Mehr

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten

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

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012 Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus

Mehr

Microsoft SQL-Server 2000. Enterprise-Manager

Microsoft SQL-Server 2000. Enterprise-Manager Kapitel 7: SQL Microsoft SQL-Server 2000 Server: Client: Enterprise-Manager Query-Analyzer Installation Query Analyzer Tunnel mit Putty Tunnel mit Putty SQL: Geschichte 1970: System R mit Abfragesprache

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

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Relation: R D 1 Domänen (Wertebereiche) x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Übungen zu Datenbanksysteme

Übungen zu Datenbanksysteme Institut für Informatik Universität Osnabrück, 19.05.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 02.06.2009, 12:00 Uhr Übungen zu Datenbanksysteme

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche) Relation: R D 1 x x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street, 4711)

Mehr

Das relationale Modell

Das relationale Modell Das relationale Modell Grundlagen Übersetzung von ER-Schemata in relationale Schemata Relationale Algebra Relationenkalkül Domänenkalkül Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen

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

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche) Relation: R D 1 x x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street, 711)

Mehr

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2011 noch Kapitel 7: SQL Vorlesung vom 17.05.2011 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Selfjoin SQL 1970 Edgar Codd: A relational model for large shared

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

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

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Historische Entwicklung relationaler DBMS Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel:

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 Kapitel 7: SQL Vorlesung vom 6.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL 1970 Edgar Codd: A relational model for large shared

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 11.05.2009: Anfang von Kapitel 6: Das Relationale Modell Oliver Vornberger Institut für Informatik Universität Osnabrück Das Relationale Modell Wertebereiche (Domänen):

Mehr

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas

Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas Das relationale eato aedatenmodell Studenten hören Vorlesungen MatrNr Name MatrNr VorlNr VorlNr Titel 26120 Fichte 25403 5022 5001 Grundzüge 25403... Jonas... 26120... 5001... 5022... Glaube und Wissen...

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

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

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

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 WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

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

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Architektur eines DBMS Logische Optimierung

Architektur eines DBMS Logische Optimierung Vorlesung Datenbanksysteme vom 16.11.2015 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche, Mengen) Eine Relation ist eine Teilmenge R D 1 x x D n Bsp.: Telefonbuch string x string x integer Ein Tupel ist jedes Element

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie

Seminar 1 SQL Abfragen DML. MatrNr Name Vorname  Age Gruppe Schmidt Hans Meisel Amelie Seminar 1 SQL Abfragen DML Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro 21 331 1235 Meisel Amelie meisel@cs.ro 22 331 1236 Krause Julia krause@cs.ro 21 332 1237 Rasch

Mehr

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries SQL 2 Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Fortgeschrittene SQL-Konstrukte groupby having union / intersect / except Aggregatfunktionen revisited Subqueries Korrelierte

Mehr

Grundlagen des relationalen l Modells

Grundlagen des relationalen l Modells Grundlagen des relationalen l Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Datenbanksysteme SS 2007

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

Mehr

Kapitel 7: Die Datenbanksprache SQL

Kapitel 7: Die Datenbanksprache SQL Kapitel 7: Die Datenbanksprache SQL SQL (Structured Query Language) ist die Standardsprache für die Datendefinition und Datenmanipulation in relationalen Datenbanksystemen. Sie umfaßt: Interaktives ("stand-alone")

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. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz

Mehr

Datenbanksysteme 2013. Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme 2013. Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL 1970 Edgar Codd: A relational model for large shared data banks 1975 SEQUEL

Mehr

Termin 12: Datenbanksysteme (2) - Einführung in SQL

Termin 12: Datenbanksysteme (2) - Einführung in SQL Termin 12: Datenbanksysteme (2) - Einführung in SQL Grundlagen der Informatik Wintersemester 2006/07 Prof. Bernhard Jung Übersicht 1. Einführung SQL 2. Datenbankanfragen mit SQL (select from where) 3.

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

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

www-db.in.tum.de/db2face/index.shtml

www-db.in.tum.de/db2face/index.shtml SQL standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)- - Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 2011 Für praktische Übungen steht eine Web-Seite zur Verfügung: www-db.in.tum.de/db2face/index.shtml

Mehr

Datenbanksysteme 2009. Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme 2009. Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2009 Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück SQL 1970 Edgar Codd: A relational model for large shared data banks 1975 SEQUEL für System R von IBM

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 schmidt@cs.ro

Mehr

Kapitel 5: Der SQL-Standard

Kapitel 5: Der SQL-Standard Kapitel 5: Der SQL-Standard 5. Der SQL-Standard 5. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck

Mehr

dbis Praktikum DBS I SQL Teil 2

dbis Praktikum DBS I SQL Teil 2 SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP

Mehr

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

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

Mehr

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

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

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.

Mehr

SQL standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)- - Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 objektrelationale Erweiterung Für praktische Übungen steht eine

Mehr

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

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

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

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

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

Mehr

Für praktische Übungen steht eine Web-Seite zur Verfügung: www-db.in.tum.de/db2face/index.shtml

Für praktische Übungen steht eine Web-Seite zur Verfügung: www-db.in.tum.de/db2face/index.shtml SQL standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)- - Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 objektrelationale Erweiterung Für praktische Übungen steht eine

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

SQL. Man kann eigene Relationen anlegen und/oder die Uni-DB verwenden DB2 von IBM liegt dahinter

SQL. Man kann eigene Relationen anlegen und/oder die Uni-DB verwenden DB2 von IBM liegt dahinter SQL standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)- - Anfrage (Query)-Sprache derzeit aktueller Standard ist SQL 99 und SQL3 (2003) objektrelationale Erweiterung Für praktische Übungen

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. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/

Mehr

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

Mehr

Das Relationale Modell

Das Relationale Modell Kapitel 6 Das Relationale Modell 6.1 Definition Gegeben sind n nicht notwendigerweise unterschiedliche Wertebereiche (auch Domänen genannt) D 1,..., D n, welche nur atomare Werte enthalten, die nicht strukturiert

Mehr

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel SWE4 Slide Software-Engineering Vorlesung 4 vom 08..2004 Sebastian Iwanowski FH Wedel SWE4 Slide 2 Software-Engineering Vorlesungsthemen:. Überblick über das Thema und die Vorlesung 2. Grundlegende Prinzipien

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

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin

SQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin SQL Wiederholung Datenbanktechnologien Prof. Dr. Ingo Claÿen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Verbunde Aggregation und Gruppierung Unterabfragen Verbunde Inner-Join Nur

Mehr

Datenbanksysteme 1 Herbst-/Wintersemester Oktober Angestellte(PersonalNr, Name, Gehalt, Beruf, AbteilNr, ChefNr, Wohnort)

Datenbanksysteme 1 Herbst-/Wintersemester Oktober Angestellte(PersonalNr, Name, Gehalt, Beruf, AbteilNr, ChefNr, Wohnort) Lehrstuhl für Praktische Informatik III Prof. Dr. Guido Moerkotte Email: moer@db.informatik.uni-mannheim.de Marius Eich Email: marius.eich@uni-mannheim.de Datenbanksysteme 1 4. Übungsblatt Herbst-/Wintersemester

Mehr

Kapitel 3: Datenbanksysteme

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

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. 06 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

SQL!standardisierte - Datendefinitions (DDL)- - Datenmanipulations (DML)- - Anfrage (Query)-Sprache! derzeit aktueller Standard ist SQL 99!objektrelationale Erweiterung!Für praktische Übungen steht eine

Mehr

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells

Relationale Darstellung von Entitytypen. Uni-Schema. Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D, D 2,, D n Domänen (Wertebereiche) elation: D x x D n Bsp.: Telefonbuch string x string x integer Mickey Mouse Mini Mouse Donald Duck Telefonbuch Straße Main

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 (gdb@in.tum.de

Mehr

Datenmodellierung. VU , SS 2015 Das relationale Modell. Sebastian Skritek. Institut für Informationssysteme Technische Universität Wien

Datenmodellierung. VU , SS 2015 Das relationale Modell. Sebastian Skritek. Institut für Informationssysteme Technische Universität Wien Das relationale Modell Datenmodellierung VU 184.685, SS 2015 Das relationale Modell Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Sebastian Skritek Seite 1 Das relationale

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Das relationale Modell Verfeinerung des relationalen Schemas Relationale Algebra Relationenkalkül Kapitel 3 1 Grundlagen des relationalen Modells Seien D 1, D,, D n

Mehr

Das relationale Modell

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

Mehr

Antwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB "Zugriff" auf Tupel mit Tupel-Variablen

Antwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB Zugriff auf Tupel mit Tupel-Variablen Kapitel 6.3 SQL als Anfragesprache Kap. 6.3.1 Allgemeine Begriffe Identifiers: Var-Name ~ Tupel-Variable Table-Name ~ Rel., View Field-Name ~ Attribut-Bez. Key-Words: select where key is integer string

Mehr

Übungen zu Datenbanksysteme

Übungen zu Datenbanksysteme Institut für Informatik Universität Osnabrück, 12.05.2015 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~dbs Nils Haldenwang, M.Sc. Testat bis 03.06.2015, 14:00 Uhr Übungen zu Datenbanksysteme

Mehr

Software-Engineering

Software-Engineering SWE42 Slide Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 2: Datenorientierte Sicht SWE42 Slide 2 Systemanalyse: Datenorientierte Sicht Entity-Relationship-Modellierung

Mehr

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

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

Mehr

Transaktionsverwaltung read write read write

Transaktionsverwaltung read write read write Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1. Lese den Kontostand von A in die Variable a: read(a,a); 2. Reduziere den Kontostand um 50.- Euro: a:= a 50; 3. Schreibe

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE42 Folie Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 2: Datenorientierte Sicht FH Wedel Prof. Dr. Sebastian Iwanowski SWE42

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

gibt es kein Bundesland, en?"

gibt es kein Bundesland, en? Allquantoren: : ein heißes es Eisen! "Welche Flüsse fließen en durch alle Bundesländer nder?" ( ( SELECT FL1.Fluss fluss_durch_land AS AS FL1 FL1 WHERE NOT NOT EXISTS ( ( SELECT * land land AS AS L WHERE

Mehr