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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

2 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); 2

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

4 Subanfragen und IN-Operator IN-Operator testet auf Mengenmitgliedschaft Erinnerung: Mengenoperatoren UNION UNION ALL INTERSECT MINUS Vereinigung von Mengen (mit Duplikateliminierung) Vereinigung von Multimengen Schnittmenge Set-Minus (auch EXCEPT) z.b. SELECT Name FROM Assistenten UNION SELECT Name FROM Professoren; SQL Teil 2 J. Kunegis GLDB 2013/14 4

5 Quantifizierende Bedingungen IN und ALL SELECT Name FROM Professoren WHERE PersNr NOT IN ( SELECT gelesenvon FROM Vorlesungen ); IN ist äquivalent zur quantifizierenden Bedingung = ANY. Quantifizierende Bedingungen haben einen Vergleichsoperator (=, <, >, ) und den Operator IN oder ANY (alternativ auch SOME). IN testet ob es mindestens ein Element im Ergebnis einer Subanfrage gibt ALL überprüft, ob alle Ergebnisse der Subanfrage einen Vergleich erfüllen. SQL Teil 2 J. Kunegis GLDB 2013/14 5

6 Quantifizierende Bedingungen IN und ALL (2) Anfrage: Studenten im höchsten Semester. SELECT * FROM Studenten WHERE Semester >= ALL (SELECT Semester FROM Studenten); Alternativ: Verwendung von = und Subanfrage mit MAX-Aggregator Hinweis: ALL vergleicht nur einen Wert mit einer Menge Kein Allquantor: Nicht möglich sind Anfragen wie finde alle Studenten mit... SQL Teil 2 J. Kunegis GLDB 2013/14 6

7 Alternative zu ALL SELECT * FROM Studenten WHERE Semester >= ALL (SELECT Semester FROM Studenten); SELECT * FROM Studenten WHERE Semester = (SELECT MAX(Semester) FROM Studenten); SQL Teil 2 J. Kunegis GLDB 2013/14 7

8 Quantifizierte Anfragen Existenzquantor wird durch EXISTS umgesetzt. Teste ob Menge von Tupeln leer ist oder nicht (gibt TRUE oder FALSE zurück) NOT EXISTS ist umgekehrt, z.b. Professoren, die keine Vorlesung halten SELECT Name FROM Professoren WHERE NOT EXISTS ( SELECT * FROM Vorlesungen WHERE gelesenvon = PersNr ); SQL Teil 2 J. Kunegis GLDB 2013/14 8

9 Allquantifizierte Prädikate durch COUNT Allquantifizierung kann auch durch eine COUNT-Aggregation ausgedrückt werden Nochmal eine etwas einfachere 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); hier wird zunächst gezählt, wie viele Vorlesungen die einzelnen Studenten hören und dann überprüft, ob diese Anzahl gleich ist mit der Anzahl der Tupel in Relation Vorlesungen (mit 4 SWS) SQL Teil 2 J. Kunegis GLDB 2013/14 9

10 Hinweis: Fehlerquellen bei COUNT-Aggregation 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); Erinnerung: SELECT-Klausel darf nur aggregierte Werte oder Attribute nach denen gruppiert wurde enthalten. SQL Teil 2 J. Kunegis GLDB 2013/14 10

11 Hinweis: Fehlerquellen bei COUNT-Aggregation (2) deshalb so: 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 BYKlausel aufgeführt werden! SQL Teil 2 J. Kunegis GLDB 2013/14 11

12 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 ); 12

13 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 zu 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 13

14 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); 14

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

16 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)); 16

17 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 ); 17

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

19 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; 19

20 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); 20

21 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; 21

22 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 SWS gelesen Von PersNr Name Rang Raum Grundzüge Ethik... Die 3 Kritiken Sokrates Sokrates... Kant WHERE gelesenvon = PersNr AND Rang = '' 22

23 Ausführen einer Anfrage mit GROUP BY (2) WHERE gelesenvon = PersNr AND Rang = '' VorlNr Titel SWS gelesen Von PersNr 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 23

24 VorlNr SWS Titel Ethik Mäeutik Logik Erkenntnistheorie Wissenschaftstheo. Bioethik Grundzüge Die 3 Kritiken gelesenvon PersNr Name Sokrates Sokrates Sokrates Russel Russel Russel Kant Kant Rang Raum HAVING AVG (SWS) >= 3 VorlNr Titel 5041 Ethik 5049 Mäeutik 4052 Logik SWS gelesenvon PersNr Name Sokrates Sokrates Sokrates Rang Raum Grundzüge 4630 Die 3 Kritiken Kant Kant

25 Ausführen einer Anfrage mit GROUP BY (4) HAVING AVG (SWS) >= 3 VorlNr Titel 5041 Ethik 5049 Mäeutik 4052 Logik SWS gelesenvon PersNr Name Sokrates Sokrates Sokrates Rang Raum Grundzüge 4630 Die 3 Kritiken Kant Kant 7 7 SELECT gelesenvon, Name, SUM (SWS) gelesenvon Name sum (SWS) Sokrates Kant 8 25

26 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! 26

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

28 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

29 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; 29

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

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

32 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: 32

33 1. Abbildung SQL auf RA 33

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

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

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

37 Abbildung SQL auf RA (2) 37

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

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

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

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

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

43 3. Semantik der Gruppierung 43

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

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

46 Fragen? SQL Teil 2 J. Kunegis GLDB 2013/14 46

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

Kapitel 8 Dr. Jérôme Kunegis. SQL Continued. WeST Institute for Web Science & Technologies Kapitel 8 Dr. Jérôme Kunegis SQL Continued WeST Institute for Web Science & Technologies Lernziele Syntax von SQL Anfragen Erweiterte Konstrukte in SQL Abfragen: Aggregation, Gruppierung, rekursive Anfragen..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Relationales Datenmodell Relationale Algebra

Relationales Datenmodell Relationale Algebra Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Relationale Algebra Dr. Thomas Gottron Wintersemester 2012/13 Lernziele Grundbegriffe des Relationalen Modells Abbildung von ER-Diagrammen

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

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

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

Mehr

Datenbanksysteme 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

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

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

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

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

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

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

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

Ü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

Tabellenausdrücke. Bedingungen

Tabellenausdrücke. Bedingungen Anfragetypen in SQL zwei Typen von SQL-Ausdrücken: Resultat: abgeleitete Tabelle ( derived table ) Tabellenausdrücke DB Bedingungen Problem (?): Nur Tabellenausdrücke dürfen direkt vom Benutzer als Anfrage

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

Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom

Anfragebearbeitung 2. Vorlesung Datenbanksysteme vom Vorlesung Datenbanksysteme vom 21.11.2016 Anfragebearbeitung 2 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Physische Optimierung Iterator: einheitliche Schnittstelle

Mehr

Datenbanken und SQL. Kapitel 4. Die Datenbankzugriffssprache SQL. Edwin Schicker: Datenbanken und SQL (4)

Datenbanken und SQL. Kapitel 4. Die Datenbankzugriffssprache SQL. Edwin Schicker: Datenbanken und SQL (4) Datenbanken und SQL Kapitel 4 Die Datenbankzugriffssprache SQL Die Datenbankzugriffssprache SQL Der Select-Befehl Der Hauptteil des Select-Befehls From-, Where-, Select-Klausel Group By und Having Join

Mehr

SQL Intensivpraktikum SS 2008

SQL Intensivpraktikum SS 2008 SQL Intensivpraktikum SS 2008 Aggregation von Daten Arbeit mit Gruppen SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved. Gruppenfunktionen Gruppenfunktionen verarbeiten

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

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

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

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

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. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

8. Relationale Datenbanksprachen

8. Relationale Datenbanksprachen 8. Relationale Datenbanksprachen SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen VL Datenbanken I 8 1 SQL-Kern select Projektionsliste arithmetische Operationen und Aggregatfunktionen from zu verwendende

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

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

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

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

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

Vorlesung Datenbankmanagementsysteme

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

Mehr

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 für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

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

4.5 Anfragen mit Mengenoperatoren

4.5 Anfragen mit Mengenoperatoren 4. Der SQL-Standard 4.5. Anfragen mit Mengenoperatoren 4.5 Anfragen mit Mengenoperatoren UNION,INTERSECT und. Die beteiligten Tabellen müssen zueinander kompatible Spaltentypen haben. Die Resultatspalte

Mehr

Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek

Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek Das relationale Modell Datenmodellierung VU 184.685, WS 2016 Das relationale Modell Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu, Sebastian

Mehr

http://www-db.in.tum.de/research/publications/books/dbmseinf

http://www-db.in.tum.de/research/publications/books/dbmseinf 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

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

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

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

Relationale Anfragesprachen

Relationale Anfragesprachen Relationale Anfragesprachen Structured Query Language: SQL Query by Example: QBE SQL standardisierte Datendefinitions (DDL) Datenmanipulations (DML) Anfrage (Query)Sprache derzeit aktueller Standard ist

Mehr

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt Herbstsemester 2009 Datenbanken mit Übungen Kapitel 4: SQL H. Schuldt Inhalt Datenmanipulationssprache SQL: SQL (Structured Query Language) ist die Standardsprache für die Datendefinition und Datenmanipulation

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

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

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