Informationsverarbeitung 2 SS08
Dienstag, 1. April 2008
1. Hausübung oder SQL for Dummies
Aufgabe war die Erstellung von 5 selbstgestellten Abfragen an der SQL-Datenbank mit jeweils steigendem Schwierigkeitsgrad.
Dadurch, dass ich in Informationsverarbeitung I kein SQL gemacht habe, da der Schwerpunkt (zugegeben vor 7 Semestern) auf Excel lag, war ich auf das Tutorium angewiesen um die Grundbegriffe zu erlernen. Hier meine ersten komplett selbst erstellten Abfragen:

1. Welche Verlage bieten Bücher an und unter welcher Kurzbezeichnung werden sie geführt?

SELECT v.Name, v.Kurzbezeichnung
FROM Verlag v
ORDER BY 1 ASC

Dies ist die einfachste aller Abfragen, da keine Bedingungen berücksichtigt werden müssen. Als nächstes fügen wir weitere Datenfelder aus anderen Dateien hinzu.

2. Führe alle angebotenen Bücher mit dem Autor an und welche Verlage sie veröffentlichen!

SELECT b.Titel, b.Autor, v.Name
FROM Verlag v, Buch b
WHERE v.Kurzbezeichnung=b.Verlag
ORDER BY 1 ASC

Um die Schwierigkeit weiter zu erhöhen, werden jetzt Funktionen eingefügt.

3. Wieviele Bücher führen die jeweiligen Verlage im Buchladen und was ist der jeweilige Durchschnittspreis pro Verlag?

SELECT v.Name, COUNT(b.Nr) AS Menge, AVG(b.Preis) AS Durchschnittspreis
FROM Verlag v, Buch b
WHERE v.Kurzbezeichnung=b.Verlag
GROUP BY 1
ORDER BY 1 ASC

Ein zweites Beispiel zu den möglichen Funktionen soll durch weitere Bedingungen und Ausweitung der benötigten Daten an Komplexität gewinnen.

4. Rechne die durchschnittliche Auftragssumme der oberösterreichischen Auftragsgeber aus, welche sich nach den ersten 3000 Aufträgen ergab!

SELECT p.Region, AVG(b.Preis*a.Menge)
FROM Auftragspos a, PLZ p, Kunde k, Auftrag aa, Buch b
WHERE p.Plz=k.Plz AND k.Nr=aa.Kundennummer AND aa.Nr=a.Auftragsnummer AND a.Buchnummer=b.Nr AND a.Auftragsnummer<=3000 AND p.Region="O"
GROUP BY 1

Jetzt soll noch eine Havingfunktion eingebaut werden.

5. Gib alle Bundesländer an, die über eine durchschnittliche Auftragssumme von über 1000 Euro haben bei allen Aufträgen mit einer Auftragsnummer von 100 bis 1000! Führe auch die jeweiligen Durchschnittsbeträge an und wieviele Bücher die Aufträge durchschnittlich und insgesamt enthielten. Gliedere Sie außerdem absteigend mit ihren durchschnittlichen Auftragssummen.

Select p.Region, AVG(b.Preis*a.Menge) AS Durchschnittsauftragssumme, AVG(a.Menge) AS Durchschnittsmenge, SUM(a.Menge) AS Gesamtmenge
FROM PLZ p, Kunde k, Auftrag aa, Auftragspos a, Buch b
WHERE p.Plz=k.Plz AND k.Nr=aa.Kundennummer AND aa.Nr=a.Auftragsnummer AND a.Buchnummer=b.Nr AND a.Auftragsnummer BETWEEN 100 AND 1000
GROUP BY 1
HAVING Durchschnittsauftragssumme>1000
ORDER BY 2 DESC

Ich hab beim Tutorium diese Woche einiges gelernt und hoffe, dass ich bei den Abfragen keine Fehler gemacht habe. Hat wirklich Spaß gemacht, die Lösungen zu meinen eigenen Aufgaben zu finden.

Bis zum nächsten Eintrag,

mfg
Roland

... comment

Online for 6104 days
Last update: 2008.04.29, 12:51
status
You're not logged in ... login
menu
... home
... topics
... galleries

... ::collabor:: home
search
 
calendar
April 2008
Mo
Di
Mi
Do
Fr
Sa
So
 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
10
11
12
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 
 
 
 
 
recent updates
Tutorium vom 15.04.08
Als erste Übung wurde ein einfacher HTML-Body...
by Roland.Stegmüller.Uni-Linz (2008.04.15, 14:47)
2. Hausübung oder...
"Just in Time", also typisch für mich, gibts hier...
by Roland.Stegmüller.Uni-Linz (2008.04.15, 14:46)
1. Hausübung oder...
Aufgabe war die Erstellung von 5 selbstgestellten Abfragen...
by Roland.Stegmüller.Uni-Linz (2008.04.15, 14:46)
Topics wurden angelegt
Solange die Stories nicht allgemeiner Natur sind, werden...
by Roland.Stegmüller.Uni-Linz (2008.04.13, 22:32)
1. Tutorium-HÜ bis...
Aufgabe war die Erstellung einer Exceldatei, wobei...
by Roland.Stegmüller.Uni-Linz (2008.04.13, 22:31)

xml version of this page

made with antville