Aufgabenblatt 05 - Hochschule Osnabrück

Werbung
Prof. Dr. Stephan Kleuker
Hochschule Osnabrück
Fakultät Ing.-Wissenschaften und Informatik
- Software-Entwicklung -
Datenbanksysteme
Wintersemester 2016/17
5. Aufgabenblatt
Lesen Sie sich in http://home.edvsz.hs-osnabrueck.de/skleuker/querschnittlich/NetbeansNutzung.pdf
durch, wie in NetBeans Datenbanken erzeugt und Tabellen eingegeben werden.
Aufgabe 12 (3 Punkte)
Bestellung
Besteller
TELEFON
-----------04321
03456
02345
NAME
---------Ronny
Bonny
Johnny
ORT
-------Itzehoe
Elmshorn
Horst
Anruf
NUMMER
-----1
2
3
4
TELEFON
-------04321
03456
03456
04321
DATUM
---------01.11.2016
01.11.2016
01.11.2016
01.11.2016
UHRZEIT
----16:45
16:50
18:30
18:45
ANUMMER PNUMMER MENGE
-------- -------- ----1
1
2
1
2
3
2
2
4
3
1
1
4
1
2
4
2
3
Pizza
NUMMER
------1
2
3
NAME
PREIS
-------- -------Mafiosa
6.5
Tofu
5.5
Western
8.3
Geben Sie die Tabellen Besteller, Anruf, Pizza und Bestellung in Derby ein (Hinweis:
Schreiben Sie ein einzulesendes SQL-Skript in eine Datei, verwenden Sie als Datentypen nur
INTEGER, NUMERIC und VARCHAR, damit ist das Datum und die Zeit auch ein VARCHAR).
Am Anfang Ihres Skriptes sollten Sie die Tabellen löschen, so dass Sie leicht neu erzeugt
werden können. Teile der folgenden Aufgabenstellung können gelöst werden, in dem Sie
einzelne Skriptzeilen auskommentieren.
a) Erstellen Sie die Tabellen zunächst ohne die Nutzung von PRIMARY und FOREIGN
KEYS, führen Sie folgende Schritte aus und notieren Sie die Ergebnisse.
i) Versuchen Sie Daten (also eine Zeile) doppelt in eine Tabelle einzutragen
ii) Versuchen Sie in Anruf einen Eintrag für eine nicht in Besteller eingetragene
Telefonnummer zu machen
iii) Versuchen Sie in Anruf einen Eintrag zu machen, dabei ist die Telefonnummer
unbekannt (NULL)
iv) Versuchen Sie die Zeile mit Ronny in der Tabelle Besteller zu löschen
v) Versuchen Sie eine Zeile der Tabelle Bestellung zu löschen
vi) Versuchen Sie die Telefonnummer von Bonny zu ändern
vii) Versuchen Sie den Namen einer Pizza zu ändern
viii) Versuchen Sie die Tabelle Pizza zu löschen
ix) Versuchen Sie die Tabelle Bestellung zu löschen
Hinweise: Überprüfen Sie den Inhalt von Tabellen mit SELECT * FROM
<Tabellenname>;
b) Überlegen Sie, welche Abhängigkeiten in den Tabellen stehen. Führen Sie die gleichen
Schritte wie vorher mit der Nutzung von PRIMARY und FOREIGN KEYS aus und
notieren Sie die Ergebnisse.
Seite 1 von 2
Prof. Dr. Stephan Kleuker
Hochschule Osnabrück
Fakultät Ing.-Wissenschaften und Informatik
- Software-Entwicklung -
Datenbanksysteme
Wintersemester 2016/17
5. Aufgabenblatt
Aufgabe 13 (1 Punkt)
Schreiben Sie die SQL-Statements, um folgende Tabellen in eine SQL-Datenbank einzufügen.
Als weitere Randbedingungen sollen beachtet werden:
- Keine Einträge dürfen leer sein.
- Die Matrikelnummern der ING-Studis liegen zwischen 1000 und 2000, der BWL-Studis
zwischen 2000 und 3000 und die der INF-Studis zwischen 3000 und 4000
- Wenn ein Student mit Nachnamen „Cash“ heißt, muss er BWL studieren
- Der Name des Fachs soll in der Bereichstabelle eindeutig sein
Studi
Bereich
Matrikel- Fach VorNachFach
Kürzel Leiter
nummer
name name
1001
2013
3014
ING
BWL
INF
Lisa
Willi
Bert
Lustig
Wichtig
Bartlos
Ingenieurwesen
Wirtschaftslehre
Informatik
ING
BWL
INF
Karl Knuffig
Gert Genau
Norbert Nett
Aufgabe 14 (3 Punkte)
Leiten Sie aus folgender Beschreibung ein ER-Diagramm ab, übersetzen Sie dies in Tabellen,
bringen Sie diese in 3NF und geben sie die Tabellen in die Datenbank ein.
„Jede Tabelle wird durch einen eindeutigen Tabellennamen identifiziert und beinhaltet mehrere
Spalten. Jede Spalte gehört zu genau einer Tabelle und hat (vereinfacht) einen
identifizierenden Spaltennamen und einen Typen. Zu jeder Tabelle gehört maximal ein
Primärschlüssel, der durch seinen Namen eindeutig ist. Jeder Primärschlüssel gehört zu
genau einer Tabelle und umfasst eine oder mehrere Spalten, die jeweils nur zu maximal einem
Primärschlüssel gehören können.
Füllen Sie mit INSERT-Befehlen die entstehenden Tabellen mit den zu diesen Tabellen
gehörenden Informationen, also tragen sie alle Informationen über Tabellen, Spalten und
Primärschlüssel für Ihre Tabellen ein. Sie werden wahrscheinlich in eine Tabelle mit der Spalte
„Tabellenname“ eine Zeile mit dem Wert „Tabelle“ eintragen. Eventuell müssen Sie Ihre
Spaltennamen leicht anpassen.
Aufgabe 15 (1 Punkt)
Kopieren Sie die SQL-Files (*.sql) zu Mondial von der Veranstaltungswebseite in ein lokales
Verzeichnis des Arbeitsrechners. Und erstellen Sie eine neue Datenbank Mondial.
Laden Sie das Datenbankschema (mondial-schema_Derby.sql) mit den Tabellendefinitionen
und führen Sie das Skript aus. Laden Sie danach die Daten (mondial-inputs_Derby.sql) in Ihre
Datenbank.
Tippen Sie „SELECT * FROM Country;“ in ein Anfrage-Fenster und führen Sie die Anfrage
aus, Sie sollten einige Datensätze angezeigt bekommen.
Seite 2 von 2
Herunterladen