Einführung in die Spezialisierungsrichtungen

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Spezialisierungsrichtungen"

Transkript

1 Einführung in die Spezialisierungsrichtungen SQL Dr. Matthias Baumgart 23. November 2012

2 Einführung Logische Datenbankorganisation Die logische Datenbankorganisation erfolgt in drei Schritten: 1 Aufstellen eines semantischen Datenmodells (erfassen der Datenobjekte und deren Beziehungen) 2 Umsetzen des semantischen Datenmodells in ein logisches Datenbankmodell wie das relationale Modell 3 Beschreibung der Objekte und Beziehungen mit der Datenbankbeschreibungssprache des benutzten DBMS Einführung in die Spezialisierungsrichtungen 1

3 Beispiel Autovermietung Der Normalisierungsprozess liefert folgende vier Tabellen / Relationen: MNR MNA BR M1 AEG B2 M2 Bolle B1 M3 IBM B3 M4 KaDeWe B1 M5 Siemens B2 M6 Zuntz B1 FT MS Corsa 60 E Golf 70 Mondeo 75 S Vectra 75 MNR WNR MD M1 W12 31 M1 W M2 W M3 W52 8 M3 W M3 W99 87 M4 W M5 W M5 W M6 W33 57 WNR FT BJ VS W12 Corsa 2002 Allianz W33 Golf 2002 Gerling W45 Vectra 2003 Allianz W52 S Gerling W64 Mondeo 2003 Europa W75 Golf 2003 Allianz W84 Mondeo 2004 Gerling W99 E Europa Quelle: Stahlknecht, Hasenkamp: Einführung in die Wirtschaftsinformatik Einführung in die Spezialisierungsrichtungen 2

4 Datenbankanfragen Standardoperationen Für routinemäßige Anfragen wie Wie heißen die Mieter, die einen Ford Mondeo gemietet haben? gibt es im Relationenmodell drei Standardoperationen: Projektion (projection): Streichen von Spalten Verknüpfung (join): Zusammenfügen von Tabellen Auswahl (selection): Auswahl von Zeilen Einführung in die Spezialisierungsrichtungen 3

5 Aufbau einer SQL-Abfrage Die in relationalen Datenbanken dominierende Abfragesprache ist SQL (Structured Query Language), deren Abfrageoperationen die folgende Form haben: SELECT Attribut(e) ( Ausgabe ) FROM Relation(en) ( Eingabe ) [WHERE] [GROUP BY] [HAVING] [ORDER BY] Bedingung(en) Bildung von Zeilengruppen Bedingungen für Zeilengruppen Sortierung nach Spalte Einführung in die Spezialisierungsrichtungen 4

6 Aufbau einer SQL-Abfrage SELECT gibt an, auf welche Attribute projiziert werden soll. FROM gibt an, aus welchen Relationen diese Attribute zu entnehmen sind (ist ein join zu bilden, müssen an dieser Stelle mindestens zwei Namen angegeben werden) die (optionale) WHERE-Klausel gibt die Selektionsbedingung an bzw. im Falle eines joins außerdem Bedingungen, nach welchen der Verbund zu bilden ist. Einführung in die Spezialisierungsrichtungen 5

7 Operationen der relationalen Algebra Die relationale Algebra definiert verschiedene Operationen, die auf eine Menge von Relationen angewendet werden und als Ergebnis ebenfalls Relationen haben. Ein minimales System an Operationen besteht bspw. aus: Projektion, Selektion, Umbenennung, Vereinigung, Differenz und Kreuzprodukt. Projektion: Sei R eine Relation mit Attributmenge X und {A1,..., Ak} X. Dann erhält man die Projektion von R auf A1,..., Ak durch: SELECT DISTINCT A1,...,Ak FROM R Einführung in die Spezialisierungsrichtungen 6

8 Operationen der relationalen Algebra Selektion: Sei R eine Relation und A, B zwei Attribute. Die A = a -Selektion wird ausgedrückt durch: SELECT DISTINCT * FROM R WHERE A = a Analog wird die A = B -Selektion wie folgt ausgedrückt: SELECT DISTINCT * FROM R WHERE A = B Statt = kann auch jeder andere Vergleichsoperater verwendet werden. Einführung in die Spezialisierungsrichtungen 7

9 Operationen der relationalen Algebra Umbenennung: SELECT A AS C, B FROM R Vereinigung zweier Relationen R und S mit gleichen Attributen: SELECT DISTINCT * FROM R UNION SELECT DISTINCT * FROM S Differenz zweier Relationen R und S mit gleichen Attributen: SELECT DISTINCT * FROM R EXCEPT SELECT DISTINCT * FROM S Einführung in die Spezialisierungsrichtungen 8

10 Operationen der relationalen Algebra Kartesisches Produkt: Gegeben sei eine Relation R auf der Attributsmenge X und eine Relation S auf der Attributsmenge Y. Die Menge aller Tupel, die durch Hintereinanderschreibung eines Tupels aus R und eines Tupels S gebildet werden kann, nennen wir R S das kartesische Produkt (Kreuzprodukt oder Konkatenatio) von R und S. Das Ergebnis des kartesischen Produkts erhält man in SQL durch oder SELECT R.*, S.* FROM R, S SELECT * FROM R CROSS JOIN S Einführung in die Spezialisierungsrichtungen 9

11 Operationen der relationalen Algebra Beispiel: ergibt R : A B R S : S : C D A B C D Einführung in die Spezialisierungsrichtungen 10

12 Operationen der relationalen Algebra Beispiel mit gleichen Attributen: R : A B S : B C Es gilt: R S : A B B D Einführung in die Spezialisierungsrichtungen 11

13 Join-Operationen Natürlicher Verbund: Sei R eine Relation mit Attributen A1,..., An, B1,..., Bm und S eine Relation mit Attributen B1,..., Bm, C1,..., Cl. Dann erhält man den natürlichen Verbund R S durch SELECT DISTINCT A1,...,An, R.B1,...,R.Bm, C1,...,Cl FROM R, S WHERE R.B1 = S.B1 AND... AND R.Bm = S.Bm Eine einfachere Formulierung ab SQL2 ist SELECT * FROM R NATURAL JOIN S Einführung in die Spezialisierungsrichtungen 12

14 Join-Operationen Beispiele für den natürlichen Verbund: R 1 : A B C R 2 : A D R 3 : C D E Dann gilt: (R 1, R 2 ) : A B C D (R 1, R 2, R 3 ) : A B C D E Einführung in die Spezialisierungsrichtungen 13

15 Join-Operationen Thetajoin und Equijoin Sei Θ {<,, >, = }, A ein Attribut einer Relation R und B ein Attribut einer Relation S. Die Menge aller Tupel des kartesischen Produkts von R und S mit der Eigenschaft AΘB heißt Θ-join (Thetajoin) von R und S. Ist Θ gleich = spricht man vom Equijoin. Formulierungen in SQL: SELECT * FROM R, S WHERE R.A Θ S.B Eine alternative Formulierung ist SELECT * FROM R JOIN S ON R.A Θ S.B Einführung in die Spezialisierungsrichtungen 14

16 Join-Operationen Der Θ-join ist damit eine Verallgemeinerung des natural joins. In SQL gibt es darüber hinaus noch weitere Verallgemeinerungen des natural joins zu. So kann man den natürlichen Verbund auch auf eine Teilmenge aller gemeinsamen Attribute zweier Relationen beschränken. Angenommen eine Relation R hat die Attribute A, B und C, eine Relation S die Attribute B, C und D, so ist es möglich, einen verallgemeinerten natural join bspw. nur über B zu bilden: SELECT * FROM R JOIN S USING (B) Einführung in die Spezialisierungsrichtungen 15

17 Join-Operationen Der natürliche Verbund und seine Verallgemeinerungen werden als innere joins bezeichnet. Im Gegensatz dazu werden Verbund-Operationen als äußere joins bezeichnet, falls Operanden-Tupel, welche die Verbund-Bedingungen nicht erfüllen, im Ergebnis erhalten bleiben. Man spricht von einem LEFT OUTER JOIN, falls alle Tupel des linken Verbund-Operanden im Ergebnis erhalten bleiben. Bei einem RIGHT OUTER JOIN bleiben alle Tupel des rechten Verbund-Operanden erhalten. Die Kombination ist der FULL OUTER JOIN. Einführung in die Spezialisierungsrichtungen 16

18 Join-Operationen Beispiel: R : A B S : C D SELECT * FROM R LEFT OUTER JOIN S ON R.A = S.C A B C D ?? Einführung in die Spezialisierungsrichtungen 17

19 Join-Operationen Beispiel: R : A B S : C D SELECT * FROM R RIGHT OUTER JOIN S ON R.A = S.C A B C D ?? 0 1 Einführung in die Spezialisierungsrichtungen 18

20 Join-Operationen Beispiel: R : A B S : C D SELECT * FROM R FULL OUTER JOIN S ON R.A = S.C A B C D ???? 0 1 Einführung in die Spezialisierungsrichtungen 19

21 Aggregatsfunktionen SQL verfügt über mehrere arithmetische Funktionen. Die wichtigsten Aggregatsfunktionen sind AVG(), COUNT(), MIN(), MAX() und SUM(): SELECT AVG(umsatz) FROM orders SELECT COUNT(umsatz) FROM orders WHERE ovalue > 50 SELECT MAX(umsatz) FROM orders SELECT SUM(umsatz) FROM orders Einführung in die Spezialisierungsrichtungen 20

22 Gruppierungen Zusammen mit Aggregatsfunktionen wird der Ausdruck GROUP BY verwendet und dient der Zusammenfassung von Zeilen. Beispiel: ID Datum Umsatz Kunde Müller Schmidt Müller Müller Meier Schmidt SELECT Kunde, SUM(Umsatz) FROM Kaeufe GROUP BY Kunde Kunde SUM(Umsatz) Müller 2000 Schmidt 1700 Meier 2000 Einführung in die Spezialisierungsrichtungen 21

23 Gruppierungen Ohne GROUP BY Kunde wäre das Ergebnis folgendes: Kunde SUM(Umsatz) Müller 5700 Schmidt 5700 Müller 5700 Müller 5700 Meier 5700 Schmidt 5700 Man kann GROUP BY auch mit mehr als eine Spalte verwenden: SELECT Kunde, Datum, SUM(Umsatz) FROM Kaeufe GROUP BY Kunde, Datum Einführung in die Spezialisierungsrichtungen 22

24 Gruppierungen GROUP BY muss im Allgemeinen bestimmte Kriterien erfüllen, zum Beispiel: es müssen alle in der SELECT-Klausel verwendeten Spaltennamen verwendet werden, die nicht zu einer Aggregatsfunktion gehören es dürfen Spalten verwendet werden, die nicht in der SELECT- Klausel enthalten sind jede SELECT-Abfrage darf einschließlich aller Unterabfragen höchstens ein GROUP BY enthalten Einführung in die Spezialisierungsrichtungen 23

25 Gruppierungen Die HAVING-Klausel wird im Zusammenhang mit Aggregatsfunktionen sowie GROUP BY verwendet und funktioniert ähnlich wie die WHERE-Klausel, welche nicht auf Gruppierungen und Funktionen wirkt. Beispiel: ID Datum Umsatz Kunde Müller Schmidt Müller Müller Meier Schmidt SELECT Kunde, SUM(Umsatz) FROM Kaeufe GROUP BY Kunde HAVING SUM(Umsatz)<2000 Kunde SUM(Umsatz) Schmidt 1700 Einführung in die Spezialisierungsrichtungen 24

26 Sortierungen Das Ergebnis einer SQL-Anfrage kann durch ORDER BY sortiert werden. Beispiel: ID Nachname Vorname Wohnort 1 Baumann Ralf Chemnitz 2 Schmidt Jörg Zwickau 3 Meier Lisa Chemnitz 4 Winkler Sandra Mittweida SELECT * FROM Mitarbeiter ORDER BY Nachname ID Nachname Vorname Wohnort 1 Baumann Ralf Chemnitz 3 Meier Lisa Chemnitz 2 Schmidt Jörg Zwickau 4 Winkler Sandra Mittweida Einführung in die Spezialisierungsrichtungen 25

27 Sortierungen Das Ergebnis einer SQL-Anfrage kann durch ORDER BY sortiert werden. Beispiel: ID Nachname Vorname Wohnort 1 Baumann Ralf Chemnitz 2 Schmidt Jörg Zwickau 3 Meier Lisa Chemnitz 4 Winkler Sandra Mittweida SELECT * FROM Mitarbeiter ORDER BY Nachname DESC ID Nachname Vorname Wohnort 4 Winkler Sandra Mittweida 2 Schmidt Jörg Zwickau 3 Meier Lisa Chemnitz 1 Baumann Ralf Chemnitz Einführung in die Spezialisierungsrichtungen 26

28 Sortierungen Das Ergebnis einer SQL-Anfrage kann durch ORDER BY sortiert werden. Beispiel: ID Nachname Vorname Wohnort 1 Baumann Ralf Chemnitz 2 Schmidt Jörg Zwickau 3 Meier Lisa Chemnitz 4 Winkler Sandra Mittweida SELECT * FROM Mitarbeiter ORDER BY Wohnort, Nachname DESC ID Nachname Vorname Wohnort 3 Meier Lisa Chemnitz 1 Baumann Ralf Chemnitz 4 Winkler Sandra Mittweida 2 Schmidt Jörg Zwickau Einführung in die Spezialisierungsrichtungen 27

29 Sortierungen Das Ergebnis einer SQL-Anfrage kann durch ORDER BY sortiert werden. Beispiel: ID Nachname Vorname Wohnort 1 Baumann Ralf Chemnitz 2 Schmidt Jörg Zwickau 3 Meier Lisa Chemnitz 4 Winkler Sandra Mittweida SELECT * FROM Mitarbeiter ORDER BY Wohnort DESC, Nachname ID Nachname Vorname Wohnort 2 Schmidt Jörg Zwickau 4 Winkler Sandra Mittweida 1 Baumann Ralf Chemnitz 3 Meier Lisa Chemnitz Einführung in die Spezialisierungsrichtungen 28

30 Erweiterte Filtermöglichkeiten In SQL gibt es verschiedene Vergleichsoperationen zur Verbesserung der Filtermöglichkeiten. LIKE...: Ähnliche Zeichenketten BETWEEN... AND...: Werte innerhalb eines Intervalls IN...: Werte in gegebener Liste Einführung in die Spezialisierungsrichtungen 29

31 Erweiterte Filtermöglichkeiten Beispiele: SELECT * FROM mitarbeiter WHERE wohnort LIKE %hausen SELECT * FROM mitarbeiter WHERE name LIKE _ei% SELECT * FROM mitarbeiter WHERE alter BETWEEN 30 AND 40 SELECT * FROM mitarbeiter WHERE wohnort IN ( Mittweida, Chemnitz ) Einführung in die Spezialisierungsrichtungen 30

32 Abfragen am Beispiel der Autovermietung SELECT SUM(MD) FROM V WHERE WNR = W12 MNR WNR MD M1 W12 31 M1 W M2 W M3 W52 8 M3 W M3 W99 87 M4 W M5 W M5 W M6 W33 57 Einführung in die Spezialisierungsrichtungen 31

33 Abfragen am Beispiel der Autovermietung SELECT SUM(MD) FROM V WHERE WNR = W12 MNR WNR MD M1 W12 31 M1 W M2 W M3 W52 8 M3 W M3 W99 87 M4 W M5 W M5 W M6 W33 57 Ergibt 320 Einführung in die Spezialisierungsrichtungen 31

34 Abfragen am Beispiel der Autovermietung SELECT MNA FROM M,V WHERE M.MNR = V.MNR AND V.WNR = W99 MNR MNA BR M1 AEG B2 M2 Bolle B1 M3 IBM B3 M4 KaDeWe B1 M5 Siemens B2 M6 Zuntz B1 MNR WNR MD M1 W12 31 M1 W M2 W M3 W52 8 M3 W M3 W99 87 M4 W M5 W M5 W M6 W33 57 Einführung in die Spezialisierungsrichtungen 32

35 Abfragen am Beispiel der Autovermietung SELECT MNA FROM M,V WHERE M.MNR = V.MNR AND V.WNR = W99 MNR MNA BR M1 AEG B2 M2 Bolle B1 M3 IBM B3 M4 KaDeWe B1 M5 Siemens B2 M6 Zuntz B1 MNR WNR MD M1 W12 31 M1 W M2 W M3 W52 8 M3 W M3 W99 87 M4 W M5 W M5 W M6 W33 57 MNA IBM Siemens Einführung in die Spezialisierungsrichtungen 32

36 Abfragen am Beispiel der Autovermietung SELECT WNR FROM W WHERE BJ = 2 WNR FT BJ VS W12 Corsa 2002 Allianz W33 Golf 2002 Gerling W45 Vectra 2003 Allianz W52 S Gerling W64 Mondeo 2003 Europa W75 Golf 2003 Allianz W84 Mondeo 2004 Gerling W99 E Europa Einführung in die Spezialisierungsrichtungen 33

37 Abfragen am Beispiel der Autovermietung SELECT WNR FROM W WHERE BJ = 2 WNR FT BJ VS W12 Corsa 2002 Allianz W33 Golf 2002 Gerling W45 Vectra 2003 Allianz W52 S Gerling W64 Mondeo 2003 Europa W75 Golf 2003 Allianz W84 Mondeo 2004 Gerling W99 E Europa WNR W12 W33 Einführung in die Spezialisierungsrichtungen 33

38 Abfragen am Beispiel der Autovermietung SELECT MNA FROM M WHERE BR = B2 MNR MNA BR M1 AEG B2 M2 Bolle B1 M3 IBM B3 M4 KaDeWe B1 M5 Siemens B2 M6 Zuntz B1 Einführung in die Spezialisierungsrichtungen 34

39 Abfragen am Beispiel der Autovermietung SELECT MNA FROM M WHERE BR = B2 MNR MNA BR M1 AEG B2 M2 Bolle B1 M3 IBM B3 M4 KaDeWe B1 M5 Siemens B2 M6 Zuntz B1 MNA AEG Siemens Einführung in die Spezialisierungsrichtungen 34

40 Abfragen am Beispiel der Autovermietung SELECT FT FROM M,V,W WHERE W.WNR = V.WNR AND V.MNR = M.MNR AND MNA = Siemens MNR MNA BR M1 AEG B2 M2 Bolle B1 M3 IBM B3 M4 KaDeWe B1 M5 Siemens B2 M6 Zuntz B1 MNR WNR MD M1 W12 31 M1 W M2 W M3 W52 8 M3 W M3 W99 87 M4 W M5 W M5 W M6 W33 57 WNR FT BJ VS W12 Corsa 2002 Allianz W33 Golf 2002 Gerling W45 Vectra 2003 Allianz W52 S Gerling W64 Mondeo 2003 Europa W75 Golf 2003 Allianz W84 Mondeo 2004 Gerling W99 E Europa Einführung in die Spezialisierungsrichtungen 35

41 Abfragen am Beispiel der Autovermietung SELECT FT FROM M,V,W WHERE W.WNR = V.WNR AND V.MNR = M.MNR AND MNA = Siemens MNR MNA BR M1 AEG B2 M2 Bolle B1 M3 IBM B3 M4 KaDeWe B1 M5 Siemens B2 M6 Zuntz B1 MNR WNR MD M1 W12 31 M1 W M2 W M3 W52 8 M3 W M3 W99 87 M4 W M5 W M5 W M6 W33 57 FT Corsa E240 WNR FT BJ VS W12 Corsa 2002 Allianz W33 Golf 2002 Gerling W45 Vectra 2003 Allianz W52 S Gerling W64 Mondeo 2003 Europa W75 Golf 2003 Allianz W84 Mondeo 2004 Gerling W99 E Europa Einführung in die Spezialisierungsrichtungen 35

42 Abfragen am Beispiel der Autovermietung SELECT WNR FROM W,T WHERE W.FT = T.FT AND MS = 75 WNR FT BJ VS W12 Corsa 2002 Allianz W33 Golf 2002 Gerling W45 Vectra 2003 Allianz W52 S Gerling W64 Mondeo 2003 Europa W75 Golf 2003 Allianz W84 Mondeo 2004 Gerling W99 E Europa FT MS Corsa 60 E Golf 70 Mondeo 75 S Vectra 75 Einführung in die Spezialisierungsrichtungen 36

43 Abfragen am Beispiel der Autovermietung SELECT WNR FROM W,T WHERE W.FT = T.FT AND MS = 75 WNR FT BJ VS W12 Corsa 2002 Allianz W33 Golf 2002 Gerling W45 Vectra 2003 Allianz W52 S Gerling W64 Mondeo 2003 Europa W75 Golf 2003 Allianz W84 Mondeo 2004 Gerling W99 E Europa FT MS Corsa 60 E Golf 70 Mondeo 75 S Vectra 75 WNR W45 W64 W84 Einführung in die Spezialisierungsrichtungen 36

44 Datenmanipulation Zur Datenmanipulation stehen folgende Kommandos zur Verfügung: INSERT INTO table-name [ ( list-of-column-names ) ] VALUES ( data-items ) DELETE FROM table-name [ WHERE condition ] UPDATE table-name SET column-name-1 = expression-1 [, column-name-2 = expression-2 ]... [ WHERE condition ] Einführung in die Spezialisierungsrichtungen 37

45 Datenmanipulation Ein neuer Wagen kann in die Tabelle W wie folgt eingefügt werden: INSERT INTO W (WNR, FT, BJ, VS) VALUES ( W90, Passat, 2007, Allianz) Falls Werte in alle Spalten eingefügt werden, können die Spaltennamen ggf. auch weggelassen werden, z.b.: INSERT INTO W VALUES ( W90, Passat, 2007, Allianz ) Einführung in die Spezialisierungsrichtungen 38

46 Datenmanipulation Es ist möglich INSERT INTO mit SELECT zu kombinieren: INSERT INTO table-name [ ( column1, column2,..., columnn ) ] SELECT column1, column2,..., columnn FROM table-name [ WHERE condition ] Einführung in die Spezialisierungsrichtungen 39

47 Datenmanipulation Datensätze können mit DELETE FROM gelöscht werden. Um zum Beispiel alle Wagen mit Baujahr 2002 zu löschen, ist folgender SQL-Ausdruck zu verwenden: DELETE FROM W WHERE BJ = 2002 Zum Leeren einer ganzen Tabelle, lässt man die WHERE-Klausel weg: DELETE FROM table-name Einführung in die Spezialisierungsrichtungen 40

48 Datenmanipulation Bestehende Datensätze können mit dem Ausdruck UPDATE verändert werden. Ein Ausdruck zum Ändern der Versicherung eines Wagens wäre zum Beispiel: UPDATE W SET VS = Allianz WHERE WNR = W99 Das Verändern (+10%) der Mietsätze aller Wagen ist bspw. wie folgt möglich: UPDATE T SET MS = MS + (MS * 0.1) Einführung in die Spezialisierungsrichtungen 41

49 Datendefinition Mit den Datendefinitionsoperationen CREATE TABLE ALTER TABLE DROP TABLE können Tabellen/Relationen definiert, geändert und gelöscht werden. Einführung in die Spezialisierungsrichtungen 42

50 Datendefinition Die Syntax von CREATE TABLE ist wie folgt: CREATE TABLE table-name ( column-name1 datatype, column-name2 datatype,... column-namen datatype ) Einführung in die Spezialisierungsrichtungen 43

51 Datendefinition Beispiel: CREATE TABLE mitarbeiter ( id number(5), name char(20), abteilung char(10), alter number(2), gehalt number(10) ) Achtung: Datentypen können sich in einzelnen Datenbanksystemen unterscheiden. Einführung in die Spezialisierungsrichtungen 44

52 Datendefinition Mit dem Ausdruck ALTER TABLE lassen sich Tabellen modifizieren. Bspw. können Spalten hinzugefügt und gelöscht werden oder der Datentyp einer Spalte kann geändert werden. Spalte hinzufügen: ALTER TABLE table-name ADD column-name datatype Spalte löschen: ALTER TABLE table-name DROP column-name Datentyp ändern: ALTER TABLE table-name MODIFY column-name datatype Einführung in die Spezialisierungsrichtungen 45

53 Datendefinition Beispiele: ALTER TABLE mitarbeiter ADD wohnort char(30) ALTER TABLE mitarbeiter DROP abteilung ALTER TABLE mitarbeiter MODIFY name char(30) Einführung in die Spezialisierungsrichtungen 46

54 Datendefinition Eine ganze Tabelle kann mit DROP TABLE gelöscht werden. Die Syntax lautet: DROP TABLE table-name Beispiel: DROP TABLE mitarbeiter Einführung in die Spezialisierungsrichtungen 47

55 Datenkontrolle Mit Datenkontrolloperationen wie GRANT REVOKE können Benutzersichten festgelegt werden und Zugriffsrechte gewährt oder entzogen werden. Einführung in die Spezialisierungsrichtungen 48

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

Ü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

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

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

SQL als Zugriffssprache

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

Mehr

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

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

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

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

Mehr

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

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

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

Mehr

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

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

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

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

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

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

Mehr

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

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

Mehr

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47 SQL-Sprachvielfalt DML Data Manipulation Language: Daten einfügen, ändern und löschen DQL Data Query Language: Daten abfragen DDL Data Definition Language: Tabellen und andere Strukturelemente erzeugen,

Mehr

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

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

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

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

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

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

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

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

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

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

Mehr

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 30.5.2016 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Datentypen character (n),

Mehr

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

Mehr

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create

Mehr

[ SQL] Wissen, das sich auszahlt

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

Mehr

Datenbanksysteme Kapitel 5: SQL - Grundlagen

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

Mehr

Wiederholung VU Datenmodellierung

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

Mehr

SQL Data Manipulation Language (DML) und Query Language (QL)

SQL Data Manipulation Language (DML) und Query Language (QL) Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Datenbanksysteme Kapitel 5: SQL Grundlagen Teil 1

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

Mehr

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

Datenbankabfragen und Datenmanipulation

Datenbankabfragen und Datenmanipulation Datenbankabfragen und Datenmanipulation Datenbankabfragen auf einer Tabelle...1 SELECT Abfrage...1 Projektion...2 Wertausdrücke...3 Numerische Wertausdrücke...3 Zeichenkettenwertausdrücke...3 Datums und

Mehr

Operationen auf Relationen

Operationen auf Relationen Existierende relationale Datenbanken Beispiele von relationalen DB-Systemen: DB2, SQL (v. IBM), ORACLE, INGRES, INFORMIX, SYBASE, ACCESS u.v.a.m. Die dominierende Query-, DB-Language: SQL (Structured Query

Mehr

SQL ist eine relational vollständige Datenbanksprache.

SQL ist eine relational vollständige Datenbanksprache. SQL-Abfragen 1. Einleitung SQL ist eine relational vollständige Datenbanksprache. SQL steht für Structured Query Language. Der englische Ausdruck Query steht für Abfrage. SQL wurde in den siebziger Jahren

Mehr

1. Einleitung. SQL-Abfragen. 3. Das ERM der Übungsdatenbank. 2. Grundstruktur von SQL-Abfragen

1. Einleitung. SQL-Abfragen. 3. Das ERM der Übungsdatenbank. 2. Grundstruktur von SQL-Abfragen 1. Einleitung 9. Oktober 2012 SQL ist eine relational vollständige Datenbanksprache. SQL steht für Structured Query Language. Der englische Ausdruck Query steht für Abfrage. SQL wurde in den siebziger

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

Datenbanken: Relationales Modell und SQL. Dr. Matthias Uflacker, Stefan Klauck 23. April 2018

Datenbanken: Relationales Modell und SQL. Dr. Matthias Uflacker, Stefan Klauck 23. April 2018 Datenbanken: Relationales Modell und SQL Dr. Matthias Uflacker, Stefan Klauck 23. April 2018 Vorlesungsinhalte/-aufbau Phase 1 Einführung zu Unternehmensanwendungen (2 Vorlesungen) Grundlagen von spaltenorientierten

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 6 Vertiefung Relationale Algebra Anzeigen von Daten aus mehreren Tabellen Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 22

Mehr

Datenbanksysteme I WS 17/18 HS-Übung. Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M.

Datenbanksysteme I WS 17/18 HS-Übung. Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Datenbanksysteme I WS 17/18 HS-Übung Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke Kapitel 1: Definitionen Grundlegenge Begriffe IS, DB, DBMS/

Mehr

Tabellen verknüpfen: Joins

Tabellen verknüpfen: Joins SQL2-1 - Tabellen verknüpfen: Joins Bisher haben wir Tabellen mittels Unterabfragen verknüpft d. h. eine Spalte einer anderen Tabelle kann ein Selektionskriterium liefern. Wie kann man aber eine "echte"

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 2009 Kapitel : Datenbanksysteme Vorlesung:

Mehr

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar

12 BG EDV Access / Inf-SQL1 Theodor-Heuss-Schule Wetzlar Abfragen aus einer Tabelle mit Hilfe der Datenbank-Sprache SQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine

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

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

Informationsmanagement u. Numerische Methoden

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

Mehr

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

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

SQL: Weitere Funktionen

SQL: Weitere Funktionen Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal

Mehr

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Datenmanagement I SoSe 2006 Aufgabenblatt 4 Datenmanagement I SoSe 2006 Aufgabenblatt 4 June 11, 2009 Versuchen Sie, einige der Anfragen zu formulieren (ab Punkt 6), die im Tutorium stehen, das hier zu finden ist: http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/dm/tut/tutorium.html.

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

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

SQL - Datenbankdesign - Aufbau

SQL - Datenbankdesign - Aufbau SQL - Datenbankdesign - Aufbau Kompakt-Intensiv-Training Unsere fünftägige ANSI SQL Schulung vermittelt Ihnen alle nötigen Kenntnisse zur Erstellung von Datenauswertungen und Programmierung wiederkehrender

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

DATENBANKSYSTEME: SQL

DATENBANKSYSTEME: SQL Datendefinitions-, Manipulations- und Anfrage-Sprache SQL, Datendefinition, Veränderung am Datenbestand, Einfache SQL Abfrage, Anfragen über mehrere Relationen, Mengenfunktionen, Aggregatfunktion und Gruppierung,

Mehr

ARBEITSBLATT ZUR SQL-BEFEHLEN

ARBEITSBLATT ZUR SQL-BEFEHLEN Gegeben ist die folgende Datenbank: ARBEITSBLATT ZUR SQL-BEFEHLEN In einer Firma gibt es Mitarbeiter. Jeder Mitarbeiter ist eindeutig einer Abteilung zugeordnet. Manche Mitarbeiter sind an einem Projekt

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

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

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen Einleitung 4. Relationenalgebra Selektion und Projektion Mengenoperatoren Vereinigung, Durchschnitt, Differenz kartesisches Produkt Verbundoperationen (Join) Theta-Join natürlicher Verbund Semi-Join äußerer

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Übungsaufgaben mit Lösungen

Übungsaufgaben mit Lösungen Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 1 Übungsaufgaben mit Lösungen 1) Ausgabe sämtlicher Spalten der Tabelle DEPARTMENT. SELECT * FROM DEPARTMENT 2) Ausgabe aller Projektnummern und Projektnamen.

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

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

Üben von DDL und DML. Ergebnis:

Üben von DDL und DML.   Ergebnis: SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen

Mehr

Datenbanken im WI-Unterricht mit

Datenbanken im WI-Unterricht mit Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................

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

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung) 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Oracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL

Oracle und SQL. Kursinhalte. Kompakt-Intensiv-Training. Oracle und SQL Oracle und SQL Kompakt-Intensiv-Training In unsere Schulung "Oracle und SQL" erhalten Sie einen breitgefächerten Überblick über die fachmännische und effektive Nutzung der SQL-Implementierung in Oracle.

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

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: Abfragen für einzelne Tabellen

SQL: Abfragen für einzelne Tabellen Musterlösungen zu LOTS SQL: Abfragen für einzelne Tabellen Die Aufgaben lösen Sie mit dem SQL-Training-Tool LOTS der Universität Leipzig: http://lots.uni-leipzig.de:8080/sql-training/ Wir betrachten für

Mehr

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum:

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum: Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung Stefan Maihack Dipl. Ing. (FH) Datum: 28.10.2005 1 einfachste SELECT-Anweisung Alle Inhalte einer Tabelle holen: SELECT * FROM land; 2 DML - SELECT

Mehr

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

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

Mehr

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence

Mehr

Datenbankanfragen und -operationen mittels SQL

Datenbankanfragen und -operationen mittels SQL Datenbankanfragen und -operationen mittels SQL Über den verschiedenen Tabellen einer Datenbank werden Operationen ausgeführt, die immer wieder eine Tabelle als Ergebnis zurückgeben. Mathematisch modelliert

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

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

Relationale Datenbanksprachen

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

Mehr

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke DBS1 Blatt 4 Mitschreibbar 2 Welche Autoren

Mehr

Datenmanipulation in SQL. Select Anweisung

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

Mehr