Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Aufgabe 1 - Finde den Fehler
In folgenden SQL Befehlen wurden Fehler eingebaut. Versuche die Fehler zu finden ohne den SQL Befehl in phpmyadmin auszuführen.
Erst nach deiner Korrektur kannst du den Befehl eingeben und testen.
Die Aufgaben beziehen sich auf die Tabellen schueler
und buecher
.
SELECT * FROM buecher WHERE BPreis = '100'
SELECT SVorname SNachname FROM SCHUELER WHERE SNachname = '%E%'
SELECT COUNT (*) FROM schueler
SELECT * FROM schueler WHERE SNachname = Kohler
SELECT * FROM schueler WHERE 'SNachname' = 'Schwarz'
Aufgabe 2 - Verständnis
Im Unterricht haben wir uns über Primär und Fremdschlüssel unterhalten. Haben Fremdschlüssel in der eigenen Tabelle die Eigenschaft eines Schlüssels?
Aufgabe 3 - Auch SQL kann rechnen
Auf dieser Seite des Wikis hattest du mal als Aufgabe, eine Notendurchschnittsfunktion zu schreiben. D.h. aus einer gegebenen Anzahl von Noten solltest du den Durchschnitt berechnen. Wie du siehst hat auch die Musterlösung einige Tipparbeit gekostet. Mit SQL schaffst du es (mit etwas Vorarbeit) in 3 Zeilen.
Aufgabe
In der Datei Tausch-Schule/notendurchschnitt.sql
ist eine leere Tabelle vorgegeben.
Finde heraus, wie du mit Hilfe von phpmyadmin diese Tabelle mit Werten füllst und schreibe dann eine Abfrage, die obige Funktionalität hat.
Aufgabe 4: SQL
Ein Datenbankenbenutzer hat folgende Anfrage an eine Tabelle gestellt:
Die Tabelle hat den Namen R
und die Spalten A,B,C
.
SELECT DISTINCT A, B FROM R WHERE C = A
Das Datenbanksystem hat folgende Datenbank herausgegeben:
R | |
---|---|
A | B |
1 | 2 |
2 | 1 |
Welche der drei Datenbanken kann die „Ausgangsdatenbank“ gewesen sein. Also die Datenbank, die die obige Antwort liefert. Achtung: Es kommt hier nicht auf die Reihenfolge der Zeilen im Ergebnis an.
R | |||
---|---|---|---|
A | B | C | D |
1 | 4 | 3 | 1 |
2 | 1 | 2 | 4 |
1 | 2 | 1 | 3 |
2 | 1 | 2 | 2 |
R | |||
---|---|---|---|
A | B | C | D |
1 | 2 | 1 | 1 |
2 | 1 | 2 | 1 |
2 | 1 | 2 | 2 |
1 | 3 | 1 | 2 |
R | ||
---|---|---|
A | B | C |
0 | 2 | 2 |
2 | 1 | 2 |
1 | 2 | 1 |