Praktikum zur Vorlesung Datenbanken
für alle Studiengänge
Firas Sabbah, M.Sc.
Alfred Sliwa, M.Sc.
Ahmad Husein,
Yao Xing Chia
Wintersemester 2021/2022
Datum
Team (Account)
Passwort
Aktuelle Informationen, Ansprechpartner, Materialien und Uploads unter:
https://moodle.uni-due.de/course/view.php?id=30086
v1.0
1
https://moodle.uni-due.de/course/view.php?id=30086
Inhaltsverzeichnis
1 Block 1: Modellierung der Datenbank für das Mitfahrgelegen-
heitssystem „carSharer“ (10 Punkte) 3
A Spezifikation der Website 5
A.1 Beschreibung der Miniwelt . . . . . . . . . . . . . . . . . . . . . . 5
2
1 Block 1: Modellierung der Datenbank für
das Mitfahrgelegenheitssystem „carSharer“ (10
Punkte)
Abgabe bis 28.11.2021, 23:59 Uhr
Aufgabe 1: Datenbank-Modellierung (6 Punkte) In diesem Semester
soll „carSharer“ – eine Web-Applikation für die Verwaltung von Mitfahrgelegen-
heiten – entwickelt werden. Die Plattform ist sehr vielseitig und soll verschiedene
Funktionen unterstützen, u.A. folgende:
• Benutzer können Fahrten erstellen und löschen.
• Benutzer können Fahrten reservieren.
• Benutzer können Bewertungen für Fahrten erstellen.
In dieser Aufgabe soll zunächst die zugrundeliegende Datenbank durch ein
Entity-Relationship-Diagramm (ER-Diagramm) modelliert werden.
Im Anhang A.1 auf Seite 5 wird die Funktionsweise der zu erstellenden Web-
Applikation vorgestellt. Das zu modellierende ER-Diagramm soll nur auf der
Beschreibung der Miniwelt basieren. Es gilt zu beachten, dass nicht jede Anfor-
derung im ER-Diagramm umgesetzt werden kann.
• Verwendet für die Erstellung des ER-Diagramms das Programm Dia
(http://dia-installer.de/).
• Falls ihr während der Modellierung mehr Attribute als angegeben verwen-
den möchtet, so ist dies – an sinnvollen Stellen – natürlich erlaubt.
• Gibt Kardinalitäten in der Chen-Notation (1:1, 1:N, N:M) an.
Abgabe:
• ER-Diagramm als PDF-Datei
3
http://dia-installer.de/
Aufgabe 2: Datenbank-Erstellung (4 Punkte) Erzeugt für die in Aufga-
be 1 entworfene Datenbank benötigte CREATE TABLE- sowie INSERT INTO- State-
ments, welche die Datenbank-Tabellen in der DB2 anlegen und befüllen. Wendet
die Techniken aus der Datenbanken-Vorlesung an, um euer ER-Diagramm aus
Aufgabe 1 zunächst in ein Datenbankenschema zu überführen.
Die Abgabe soll enthalten:
• CREATE TABLE-Statements inkl. sinnvoller Integritätsbedingungen für
sämtliche Attribute. (2,5 Punkte)
• INSERT INTO-Statements (0,5 Punkte)
• Einen Trigger, der beim Einfügen einer Reservierung prüft, ob die Anzahl
maximaler Plätze erreicht wurde. Falls ja, soll der Status der Fahrt auf
„Geschlossen“ geändert werden. (1 Punkt)
Abgabe:
• CREATE TABLE-Statements, INSERT INTO-Statements und CREATE
Trigger-Statement als Textdatei (.txt)
4
Anhang
A Spezifikation der Website
A.1 Beschreibung der Miniwelt
• Benutzer haben eine ID, einen Namen sowie eine E-Mail Adresse. Zwei
Benutzer können nicht die selbe E-Mail Adresse haben.
• Benutzer können eine Fahrerlaubnis besitzen. Die Fahrerlaubnis ist ein-
deutig über den Benutzer identifizierbar und verfügt neben einer Nummer
einen Ablaufdatum.
• Benutzer können Fahrten erstellen, um Mitfahrgelegenheiten bereitzustel-
len. Jede Fahrt wird von genau einem Benutzer erstellt.
• Eine Fahrt besteht aus einer ID, einem Start- sowie Zielort, einem Fahrt-
datum und -uhrzeit, einer Anzahl maximaler Plätze, einer Beschreibung
(optional) sowie die Fahrtkosten.
• Die Anzahl maximaler Plätze einer Fahrt ist eine positive Ganzzahl und
kann höchstens den Wert 10 annehmen. Bei Kosten handelt es sich um
eine Fließkommazahl mit zwei Nachkommastellen.
• Benutzer können angebotene Fahrten reservieren. Bei jeder Reservierung
soll die Anzahl zu reservierenden Plätze festgehalten werden, wobei diese
Anzahl nicht größer als 2 sein darf.
• Transportmittel besitzen jeweils eine ID, einem Namen sowie ein Icon.
Folgende Transportmittel stehen zur Verfügung: „Auto“, „Bus“ und „Klein-
transporter“. Jede Fahrt ist eindeutig einem Transportmittel zugeordnet.
• Eine Fahrt besitzt ein Attribut „Status“, welches die Werte „Offen“ und
„Geschlossen“ annehmen kann. Wird eine Fahrt erstellt, so nimmt der „Sta-
tus“ standardmäßig den Wert „Offen“ an. „Geschlossen“ hingegen bedeutet,
dass für diese Fahrt keine freien Plätze mehr zur Verfügung stehen und
keine Reservierungen mehr getätigt werden können.
• Benutzer können zu einer Fahrt eine Bewertung schreiben. Eine Bewer-
tung besteht aus einer ID, einer Textnachricht, einem Rating und einem
Erstellungsdatum. Das Rating kann nur Ganzzahlen zwischen 1 und 5
annehmen.
5