4. Tutorübung zu Grundlagen: Datenbanken

Werbung
4. Tutorübung zu Grundlagen:
Datenbanken
Chaoran Chen
[email protected]
03.11 - 09.11.2014
SQL
Teile von SQL
• Vier große Teile:
I
I
I
I
DRL: Data Retrieval Language
DML: Data Manipulation Language
DDL: Data Definition Language
DCL: Data Control Language
3 / 80
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
select v.titel -- Projektion
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
select v.titel -- Projektion
from professoren p, vorlesungen v -- Umbenenn., Kreuzp.
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
select v.titel -- Projektion
from professoren p, vorlesungen v -- Umbenenn., Kreuzp.
where p.persnr = v.gelesenvon -- Selektion
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
select v.titel -- Projektion
from professoren p, vorlesungen v -- Umbenenn., Kreuzp.
where p.persnr = v.gelesenvon -- Selektion
and p.name = ’Sokrates’ -- Selektion
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
select v.titel -- Projektion
from professoren p, vorlesungen v -- Umbenenn., Kreuzp.
where p.persnr = v.gelesenvon -- Selektion
and p.name = ’Sokrates’ -- Selektion
Prädikate in where-Klausel: and , or , not
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
select v.titel -- Projektion
from professoren p, vorlesungen v -- Umbenenn., Kreuzp.
where p.persnr = v.gelesenvon -- Selektion
and p.name = ’Sokrates’ -- Selektion
Prädikate in where-Klausel: and , or , not
Vergleichsop.: =, <>, <, <=, >, >=,
between : where semester between 2 and 4
like : where name like ’M%’
SQL
Gesucht: Titel der Vorlesungen, die von Sokrates
gelesen werden.
select v.titel -- Projektion
from professoren p, vorlesungen v -- Umbenenn., Kreuzp.
where p.persnr = v.gelesenvon -- Selektion
and p.name = ’Sokrates’ -- Selektion
Prädikate in where-Klausel: and , or , not
Vergleichsop.: =, <>, <, <=, >, >=,
between : where semester between 2 and 4
like : where name like ’M%’
distinct : Duplikateliminierung select distinct name ...
Aggregatfunktionen
1.
2.
3.
4.
5.
Anzahl Elemente: count ()
Summe: sum ()
Durchschnitt: avg ()
Maximum: max ()
Minimum: min ()
Aggregatfunktionen
1.
2.
3.
4.
5.
Anzahl Elemente: count ()
Summe: sum ()
Durchschnitt: avg ()
Maximum: max ()
Minimum: min ()
select count (*)
from professoren p
Aggregatfunktionen
1.
2.
3.
4.
5.
Anzahl Elemente: count ()
Summe: sum ()
Durchschnitt: avg ()
Maximum: max ()
Minimum: min ()
select count (*)
from professoren p
select s.name
from studenten s
where s.semester =
( select max (s2.Semester)
from Studenten s2)
Professoren
Vorlesungen
Studenten
Rang Raum MatrNr
Name
Semester VorlNr
PersNr
Name
2125
Sokrates
C4
226
24002
Xenokrates
18
2126
Russel
C4
232
25403
Jonas
12
2127 Kopernikus
C3
310
26120
Fichte
10
2133
C3
52
26830
Aristoxenos
C3
309
27550 Schopenhauer
Popper
2134 Augustinus
8
6
2136
Curie
C4
36
28106
2137
Kant
C4
7
29120 Theophrastos
2
29555
2
hören
Carnap
3
Feuerbach
Titel
SWS gelesen
Von
5001
00
G d
Grundzüge
4
2 3
2137
5041
Ethik
4
2125
5043
Erkenntnistheorie
3
2126
5049
Mä tik
Mäeutik
2
2125
4052
Logik
4
2125
5052 Wissenschaftstheorie
3
2126
5216
Bi thik
Bioethik
2
2126
5259
Der Wiener Kreis
2
2133
5022
Glaube und Wissen
2
2134
4630
Di 3 Kritiken
Die
K itik
4
2137
MatrNr
VorlNr
voraussetzen
26120
5001
Vorgänger Nachfolger
27550
5001
5001
5041
27550
4052
5001
5043
28106
5041
5001
5049
PerslNr
Name
Fachgebiet
28106
5052
5041
5216
3002
Platon
Ideenlehre
2125
28106
5216
5043
5052
3003
Aristoteles
Syllogistik
2125
28106
5259
5041
5052
3004
Wittgenstein
Sprachtheorie
2126
29120
5001
5052
5259
3005
Rhetikus
Planetenbewegung
2127
29120
5041
prüfen
3006
Newton
Keplersche Gesetze
2127
29120
5049
MatrNr VorlNr PersNr Note
3007
Spinoza
Gott und Natur
2126
29555
5001
28106
5001
2126
1
29555
5022
25403
5041
2125
2
25403
5022
27550
4630
2137
2
Assistenten
Boss
Hausaufgabe 2
Formulieren Sie folgende Anfragen auf dem bekannten
Universitätsschema in SQL:
1. Finden Sie die Studenten, die Sokrates aus Vorlesung(en)
kennen.
2. Finden Sie die Studenten, die Vorlesungen hören, die auch
Fichte hört.
3. Finden Sie die Assistenten von Professoren, die den
Studenten Fichte unterrichtet haben – z.B. als potentielle
Betreuer seiner Diplomarbeit.
4. Geben Sie die Namen der Professoren an, die Xenokrates
aus Vorlesungen kennt.
5. Welche Vorlesungen werden von Studenten im
Grundstudium (1.-4. Semester) gehört? Geben Sie die
Titel dieser Vorlesungen an.
Hausaufgabe 3
Gegeben sei die folgende Relation Zehnkampf mit
Athletennamen und den von ihnen erreichten Punkten im
Zehnkampf:
Name
Eaton
Suarez
Behrenbruch
Hardee
...
Punkte
8869
8523
8126
8671
...
1. Ermitteln Sie die Goldmedaillengewinner in SQL. (Eine
Goldmedaille bekommen alle Athleten, für die gilt: es gibt
niemand besseren (also mit mehr Punkten).)
2. Ermitteln Sie die Silbermedaillengewinner in SQL. (Eine
Silbermedaille bekommen alle, für die gilt: es gibt genau
eine/n bessere/n.)
Herunterladen