Vorlesung Datenbanken SS 2005 Prof. Dr. Schicker
Übung 3
Thema: DML- und DDL-Anweisungen auf der Beispieldatenbank BIKE Übung: DML- und erste DDL-Anweisungen
Aufgaben:
(1) Fügen Sie weiteres Personal hinzu (der Fantasie sind keine Grenzen gesetzt).
(2) Löschen Sie Fr. Köster in der Personaltabelle. Beachten Sie die Wirkung auf den Rest der Relation.
(3) Das Gehalt des Personals wird um 5 % erhöht, falls die Spalte Beurteilung den Wert 3 oder weniger enthält.
(4) Alle Fahrradrahmen werden um 20 Euro teurer. Nehmen Sie diese Änderungen vor.
(5) Jeder Vertreter, der für mindestens 2000 Euro Waren verkaufte, bekommt eine 2%ige Gehaltserhöhung.
(6) Versuchen Sie, die Personalnummern aller Mitarbeiter der Relation Personal um 1 zu erhöhen. Warum misslingt dies? Warum gelingt es, die Personalnummern um 1 zu erniedrigen? Ist das Ihrer Meinung nach in Ordnung??
(7) Löschen Sie einzelne Relationen der Beispieldatenbank Bike und erzeugen Sie diese neu (mit allen Schlüs- selbeziehungen und Inhalten!!!). Warum gelingt das Löschen einiger Relationen nicht?
(8) Erzeugen Sie eine neue Relation Rechnung. Diese Relation besitzt mindestens die Attribute Nr, Datum, Kundnr, Preis, Bezahltdatum, Mahnung. Setzen Sie hierzu geeignete Datentypen an. Geben Sie Primär- und Fremdschlüssel an. Achten Sie darauf, dass das Attribut Mahnung nur die Werte ‘N’ und ‘J’ annehmen darf.
Übernehmen Sie mit Hilfe eines einzigen geeigneten Insert-Befehls alle relevanten Daten aus den Relationen Auftrag und Auftragsposten. Schreiben Sie die gesamte Aufgabe in eine einzige Datei namens rechnung.sql. Geizen Sie nicht mit Kommentaren und Ausgaben. Starten Sie diese Datei in SQLPLUS mittels start rechnung.
(9) Fügen Sie in der Relation Auftragsposten das Attribut Einzelpreis hinzu. Tragen Sie mit einem Update- Befehl alle Preise ein, indem diese aus existierenden Einträgen berechnet werden. In welcher Normalform befand sich diese Relation vor dem Einfügen des neuen Attributs, in welcher befindet sie sich jetzt?
Hinweise:
• Verwenden Sie bei Aufgabe 1-6 den Rollback-Befehl, um Änderungen wieder rückgängig zu machen. Zum Zurücksetzen auf den Originalzustand starten Sie einfach wieder die Installation: start bike
• Zu 2: Beachten Sie das Attribut Vorgesetzt.
• Zu 3: Beachten Sie, dass das Attribut Beurteilung auch einen Nullwert enthält. Wie geht der Befehl damit um?
• Zu 5: Hier werden Daten von anderen Relationen benötigt. Wir kennen dies schon: Unterselect-Befehl im Where-Teil, und was für ein komplizierter!!!
• Zu 6: Das Misslingen des Erhöhens gleich am Anfang hat nicht den Grund, dass ja dann die Nummer 1 zu 2 wird, aber die Nummer 2 bereits existiert. Erniedrigen wir nämlich zunächst alle Personalnummern um 1, so ist das anschließende Erhöhen um 1 möglich. Hier arbeitet Oracle korrekt und führt den gesamten Befehl atomar aus, auch wenn dadurch viele Zeilen geändert werden. Warum misslingt dann das Erhöhen trotzdem?
Und warum gelingt das Erniedrigen? Ja, wie oft kann man denn erniedrigen?
• Zu 7: Als Kontrolle betrachten Sie die SQL-Plus-Prozedur bike.sql auf dem K-Laufwerk. Lesen Sie diese Datei mit einem Texteditor. Sie werden nur bekannte Befehle wieder finden!