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