PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe in SQL.


Ganon
2004-12-14, 18:44:54
Hi.

Wir haben in der Berufsschule zur Zeit SQL als Thema. Nunja. Wir schreiben morgen eine größere Klassenarbeit darüber.

Der Lehrer hat uns gestern ein paar Übungsaufgaben gegeben. Während der Kontrolle der Aufgaben haben aber 2 Schüler miteinander erzählt (können SQL, da sie es auf Arbeit machen).
Nunja. Das hat den Lehrer aufgeregt und hat mit denen über das Verhalten im Unterricht diskutiert. Da der Schüler mit diskutiert hat und es nicht einsehen wollte, war der Lehrer nachher so bockig und sauer das er aufgehört hat die Aufgaben zu kontrollieren.

Nunja. Jetzt steh ich da. Morgen Klassenarbeit und weiß nicht wirklich wie man die nicht kontrollieren Aufgaben löst...

Könnt ihr mir da helfen?

Folgendes Datenmodell (2 Tabellen):

tblLebensmittel
----
Nr >> Ganzzahl Autoincrement Primary Key
Bezeichnung >> Text 50
EKP >> Float (Einkaufspreis)
VKP >> Float (Verkaufspreis)
ArtNr >> Ganzzahl

tblArt
----
ArtNr >> Ganzzahl Autoincrement Primary Key
Art >> Text 50

Die beiden Tabellen sind über die "ArtNr" 1:n verbunden. tblLebensmittel enthält die Bezeichnung und Preise der Lebensmittel und tblArt dabei nur die Art der Lebensmittel.

Jetzt sind folgende Aufgaben noch "offen". Soweit ich kam, habe ich schonmal meine Lösungsvorschläge für Aufgabe 7 und 8 mit aufgeschrieben. Wäre nett, wenn ihr mal einen Blick darauf werfen könntet. Beim Rest weiß ich nicht wie ich das machen soll... Achja. Tabellen-Link-Befehle wie JOIN usw. bitte nicht benutzen. Hatten wir noch nicht und kenne ich noch nicht. Ist halt noch "Anfangs-SQL".

Aufgabe 7:
Durchschnittspreis von Obst ermitteln (VKP)

SELECT AVG(VKP) FROM tblLebensmittel, tblArt
WHERE Art = 'Obst'
AND tblLebensmittel.ArtNr = tblArt.ArtNr;

Aufgabe 8:
Den Gewinn ermitteln, wenn alle Fleischwaren verkauft werden

SELECT (VKP-EKP) AS Gewinn FROM tblLebensmittel, tblArt
WHERE Art = 'Fleisch'
AND tblLebensmittel.ArtNr = tblArt.ArtNr;

Aufgabe 9:
Den kleinsten EKP ermitteln, sortiert nach Art. Anzeigen von Bezeichnung, EKP und Art.

Aufgabe 12:
Person M erhält alle Rechte mit Option zur Weitergabe

Aufgabe 13:
Herrn K alle Löschrechte an Tabelle tblArt entziehen.


Wäre nett, wenn ihr mir helfen würdet. :)

Danke.

HellHorse
2004-12-14, 20:15:59
Nunja. Jetzt steh ich da. Morgen Klassenarbeit und weiß nicht wirklich wie man die nicht kontrollieren Aufgaben löst...
;( (ich nehme mal einfach an, das gilt in diesem Fall nicht als Hausaufgaben)
I.A:
Selbst eine db installieren: PostgreS, Firebird, .... die Doku davon benutzen und Beispiele selbst ausprobieren. Was ebenfalls helfen soll: Skript. ;)

tblLebensmittel
----
Nr >> Ganzzahl Autoincrement Primary Key
Bezeichnung >> Text 50
EKP >> Float (Einkaufspreis)
VKP >> Float (Verkaufspreis)
ArtNr >> Ganzzahl

tblArt
----
ArtNr >> Ganzzahl Autoincrement Primary Key
Art >> Text 50
OMG :ugly:

TEXT
FLOAT für Preise
kein FOREIGN KEY
Ein- und Verkäufe in der gleichen Relation?
Mengen?
MySQL?
Unterschied zwischen Art und Bezeichnung?


Aufgabe 9:
Den kleinsten EKP ermitteln, sortiert nach Art. Anzeigen von Bezeichnung, EKP und Art.
SELECT min(EKP), Bezeichnung, Art
FROM tblLebensmittel, tblArt
WHERE tblLebensmittel.ArtNr = tblArt.ArtNr
GROUP BY Art, Bezeichnung
SORT BY Art


Aufgabe 12:
Person M erhält alle Rechte mit Option zur Weitergabe
GRANT ALL ON <tables> TO <user> WITH GRANT OPTION

Aufgabe 13:
Herrn K alle Löschrechte an Tabelle tblArt entziehen.
REVOKE DELETE ON <tables> FROM <user>

Wie immer:
Alles ungetestet und ohne Garantie.

Ganon
2004-12-14, 21:04:34
Hi.

Schonmal vielen Dank. :) Hausaufgabe ist das nicht. Es war ne Übung für zwei Unterrichtsstunden. Bloß die Kontrolle lief nicht so gut.

Testen kann ich das leider nicht. Ich habe zur Zeit kein Programm und nur ein 3kb/s Modem. Deine Lösungsvorschläge klingen aber plausibel. ;)

Ich hoffe mal solche Aufgaben kommen in der Arbeit nicht dran... :(

Seh das Datenmodell, samt Datentypen nicht so eng. ;) Ist nur ne Übungsaufgabe. In der Schule benutzen wir MS Access. Das erklärt wohl einiges. ;)

Ganon
2004-12-15, 15:17:14
Na Wow. Kam alles dran. :(

Na mal sehen was es wird. Habe teilweise nur geraten, da wir bestimmte Fragen einfach nicht so behandelt haben, bzw. entsprechend nicht kontrolliert haben...