Übungen 1 - Kleine Übungen

(A) Projekte

Eine Firma hat mehrere Abteilungen, dort werden verschiedene Projekte bearbeitet. Für jeden Mitarbeiter soll erfasst werden, wie viele Stunden er an welchem Projekt verbringt.

Zunächst wird eine einfache Tabelle verwendet, um die Stunden festzuhalten:

Die drei Spalten rechts sind so zu lesen: Müller hat am Projekt 11, Name "A", 60 Stunden gearbeitet und am Projekt 12, Name "B" 40 Stunden

(PR1)

Erläutere, warum diese Art der Speicherung problematisch ist.

Anstelle der Tabelle soll eine Datenbank verwendet, die dieselben Informationen abbildet, aber die obigen Probleme vermeidet. Entwerfe ein ER-Diagramm, das die Struktur dieser Datenbank darstellt. Markieren die Primärschlüssel. Stelle die Kardinalitäten aller Beziehungen dar und begründe deine Entscheidung.

Gebe ein optimiertes relationales Datenbankschema für die Datenbank an.

Notiere den Inhalt der Tabellen, mit denen die obigen Informationen abgebildet werden können.

(B) Schüler, Schulen und Orte

(SC1)

Erstelle ein Entity-Relationship-Diagramm mit folgenden Begriffen:

Entities: Schüler, Schule, Ort

Attribute: PLZ, Einwohnerzahl, Ortsname, Schülername, Schulname, Schülernummer,

Schulart, Schüleranzahl, Vorname, Klasse, Schulnummer Relationen: wohnt, besucht

Markieren Sie die Primärschlüssel!

(3) ER-Diagramm-Übungen

Erstelle zu den folgenden Szenarien ER-Diagramme. Als Attribute der Entitäten reichen die Primärschlüssel und Fremdschlüssel.

(ER1)

In einer Bibliothek gibt es "Buchtitel" und "Buchexemplare".

Jedes Buch hat einen oder mehrere Autoren sowie genau einen Verlag.

Für einen Buchtitel können mehrere Exemplare vorhanden sein.

Jedes Buchexemplar kann zu einem Zeitpunkt von höchstens einem Ausleiher ausgeliehen werden.

Ein Ausleiher kann mehrere Bücher leihen.

Ausleiher können Buchtitel vormerken lassen.

(ER2)

Jede Vorlesung wird von einem Professor gehalten, ein Professor hält mehrere Vorlesungen.

Ein Student besucht mehrere Vorlesungen.

Ein Professor empfiehlt für eine bestimmte Vorlesung ein Buch.

(ER3)

Eine Yachtagentur will die Törns (Touren) ihrer Segelyachten mit einer Datenbank verwalten. Dabei geht es darum, die Mitfahrer ebenso zu erfassen wie die im Lauf der Tour angelaufenen Häfen. Es gelten folgende Regeln:

Eine Crew setzt sich aus mehreren Mitfahrern zusammen. Mitfahrer können an mehreren Crews beteiligt sein.

Eine Crew bezieht sich immer auf eine Tour.

Für jede Tour gibt es einen Kapitän. Ein Kapitän kann natürlich an mehreren Touren teilnehmen.

An jedem Tag startet nur eine Tour.

Kapitäne und Mitfahrer sind Personen.

Eine Tour wird immer von einer Yacht gefahren. Meistens überlebt eine Yacht die erste Fahrt. Dann kann sie an weiteren Touren teilnehmen.

Während einer Tour läuft eine Yacht mehrere Häfen an.