Beruflich Dokumente
Kultur Dokumente
Praktikum 1 Aufgabenblatt
Praktikum 1 Aufgabenblatt
Aufgabe 1
Setzen Sie das E/R-Modell für die e-Commerce-Beispieldatenbank ins relationale Modell
(Tabellen) um. Das E/R-Modell finden Sie im Beiblatt. Bezüglich im E/R-Modell nicht genau
spezifizierter Sachverhalte haben Sie hier im Praktikum Gestaltungsfreiheit, in einem realen Projekt
sollten Sie das natürlich mit Ihrem Auftraggeber besprechen. Dokumentieren und begründen Sie
eventuelle Änderungen oder Erweiterungen, die Sie vorgenommen haben. Bedenken Sie auch
Primär- und Fremdschlüssel und Datentypen.
Aufgabe 2
Setzen Sie das relationale Modell aus Aufgabe 1 in konkrete SQL-DDL-Statements um. Bearbeiten
Sie die Aufgabe zunächst auf dem Papier.
Aufgabe 3
Installieren Sie ein DBMS und erstellen Sie eine Datenbank.
Sie können Apache Derby http://db.apache.org/derby/ verwenden. Installationsvoraussetzung ist
Java. Wahlweise können Sie auch MySQL verwenden.
Geben Sie die Statements aus Aufgabe 2 ein. Anschließend fügen Sie beliebige Beispieldaten in die
Datenbank ein und lesen Sie sie wieder aus. Führen Sie auch Updates und Löschungen durch.
Dokumentieren Sie Ihre Experimente. Versuchen Sie dabei auch, inkonsistente Zustände
herbeizuführen. Was beobachten Sie?
Hinweise
Surrogatschlüssel
Bedenken Sie, dass es manchmal günstig sein kann, künstliche Primärschlüssel, sogenannte
Surrogatschlüssel, einzuführen. Üblicherweise werden für solche künstlichen Schlüssel willkürliche
oder automatisch generierte Zahlen verwendet. Beachten Sie dies bei der Festlegung des Datentyps.
Zusammengesetzte Schlüssel
Die Syntax für CREATE-Anweisungen mit zusammengesetzten Schlüsseln wurde in der Vorlesung
noch nicht behandelt. Die Anweisungen sehen wie im folgenden Beispiel aus:
CREATE TABLE beispieltabelle_primaer (
! schluesselspalte_eins ! INTEGER,
! schluesselspalte_zwei! INTEGER,
! weitere_beispielspalte! VARCHAR(100) NOT NULL,
! PRIMARY KEY (schluesselspalte_eins, schluesselspalte_zwei)
);
Beachten Sie, dass PRIMARY KEY automatisch NOT NULL impliziert, FOREIGN KEY jedoch
nicht. Überlegen Sie, welche Bedeutung es haben könnte, wenn Sie NULL in FOREIGN KEY-
Spalten erlauben.