Datenbank Design

Datenbank Design

Entity Relationship Modell

Artefakte

  • Entitäten sind Rechtecke
  • Attribute sind Kreise an den assoziierten Rechtecken
  • Relationen sind zwei Rechtecke verbindende Diamanten
  • Kardinalitäten sind Werte an den Relationsverbindungen
  • Spezialisierung wird durch ein Dreieck eingeleitet.

Substantivmethode

Geben Sie ein ER-Modell für den folgenden Sachverhalt an:

 

Filme werden in Filmstudios von Regisseuren gedreht. Filmstudios gehören einem Besitzer.

In Filmen treten Schauspieler auf.

Schauspieler erhalten eine Gage für jeden ihrer Verträge.

 

Entwickeln Sie zuerst ein ER-Modell

Überlegen Sie jetzt, wie und ob Sie das Modell ergänzen könnten, um z.B. zu modellieren,
dass sowohl Schauspieler als auch Regisseure und Besitzer von Filmstudios Personen sind, und manche Personen auch im selben Film oder in verschiedenen Filmen in mehreren dieser Rollen auftreten.

Normalisierung

Relationale Datenbanken

Attribute = Spalten

Eine Tabelle besteht aus mehreren Spalten (Attribute der Entität) und die Zeilen entsprechen Datensätzen (Instanzen der Entität).

 

Eine Teilmenge aller Attribute, die zur eindeutigen Identifizierung des Datensatzes ausreicht, heißt Schlüssel.
Die Elemente dieser Teilmenge heißen Schlüsselattribute.

 

Die anderen Attribute heißen Nicht-Schlüsselattribute bzw. als (Teil-)Menge auch Nicht-Schlüssel.

Beispiel: Personen

Vorname Nachname Email-Adresse Straße & Nr. PLZ Ort Geb.Datum IBAN
Hans Meier mail@hansmeier.de Hauptstraße 3 28199 Bremen 12.12.1990 DE02120300000000202051
Franz Müller mail@franzmueller.de Hauptstraße 3 24963 Tarp 12.12.1990 DE02600501010002034304
Franziska Müller mail@franziska.de Hauptstraße 3 24963 Jerrishoe 01.03.1995 DE02370501980001802057
Hans Meyer meyer@gmx.de Dorfweg 17 24964 Tarp 30.11.1975 DE02701500000000594937
... ... ... ... ... ... ... ...

Mögliche Schlüssel:

  • Vorname, Nachname, IBAN
  • Email-Adresse


Kein Schlüssel ist:

  • Vorname, Nachname & Geb.datum

Redundanz

Redundanz bei Datenbank bezeichnet die (unnötige) Wiederholung gleicher Daten bzw. Dateninformationen.

Unnötig bedeutet, das Weglassen führt NICHT zu Informationsverlust.

Redundanz
ist ein
Anti-Pattern

Referentielle Integrität

  1. Ein neuer Datensatz mit einem Fremdschlüssel kann nur dann in einer Tabelle eingefügt werden, wenn in der referenzierten Tabelle ein Datensatz mit entsprechendem Wert im Primärschlüssel oder einem eindeutigen Alternativschlüssel existiert.
     
  2. Eine Datensatzlöschung oder Änderung des Schlüssels in einem Primär-Datensatz ist nur möglich, wenn zu diesem Datensatz keine abhängigen Datensätze in Beziehung stehen.

Cascading Delete

Normalisierung

1.Normalform

Eine Datenbank ist in 1.Normalform,
wenn KEINE Tabelle nicht-atomare Spalten hat.

Mitglied Adresse Hobbies
Hans Meier Hauptstraße 2, 28199 Bremen Lesen, Schwimmen, Reiten
Michael Albrecht Luisenthal 5, 28357 Bremen Handball, Coden

2.Normalform

Eine Datenbank ist in 2.Normalform,
wenn sie in 1.NF ist und
jedes Nicht-Schlüsselattribut vollständig vom Schlüssel abhängt.

Name (PK) Kontonummer (PK) BLZ (PK) Bank
Hans Meier 24523434 120 30000 DKB
Tom Taler 53453455 50010517 ING-DIBA
Heinz Müller 56654645 10050000 Landesbank Berlin

3.Normalform

Eine Datenbank ist in 3.Normalform,
wenn sie in 2.NF ist und
kein Nicht-Schlüsselattribut von einem Nicht-Schlüssel abhängt.

Name (PK) Kontonummer (PK) BLZ (PK) Bank
Hans Meier 24523434 120 30000 DKB
Tom Taler 53453455 50010517 ING-DIBA
Heinz Müller 56654645 10050000 Landesbank Berlin

Aufgabe

Normalisiere folgende Datenbanktabelle

Nr. (PK) Name Vorname Klasse Lehrer LernangebotsNr Beschreibung Zeit in h
1 Jürgens Ina 11a Lempel 2 Tanz 12
2 Schmidt Tom 12a Breier 3 Chor 22
3 Jäger Franz 11a Lempel 1, 2, 3 Elektronik, Tanz, Chor 15, 12, 2
4 Olsen Ina 11b Sommer 2 Tanz 5
5 Jürgens Paula 12a Breier 1 Elektronik 23

1.Normalform

Der Primärschlüssel muss erweitert bzw. geändert werden.

Nr. (PK) Name Vorname Klasse Lehrer Angebotsnr. (PK) Beschreibung Zeit in h
1 Jürgens Ina 11a Lempel 2 Tanz 12
2 Schmidt Tom 12a Breier 3 Chor 22
3 Jäger Franz 11a Lempel 1 Elektronik 15
3 Jäger Franz 11a Lempel 2 Tanz 12
3 Jäger Franz 11a Lempel 3 Chor 2
4 Olsen Ina 11b Sommer 2 Tanz 5
5 Jürgens Paula 12a Breier 1 Elektronik 23

2.Normalform (1/2)

{Angebotsnr.} --> Beschreibung
{Nr.} --> Name, Vorname, Klasse, Lehrer

Angebotsnr. (PK) Beschreibung
2 Tanz
3 Chor
1 Elektronik
Nr. (PK) Name Vorname Klasse Lehrer
1 Jürgens Ina 11a Lempel
2 Schmidt Tom 12a Breier
3 Jäger Franz 11a Lempel
3 Jäger Franz 11a Lempel
3 Jäger Franz 11a Lempel
4 Olsen Ina 11b Sommer
5 Jürgens Paula 12a Breier

2.Normalform (2/2)

Nr. (PK) Angebotsnr. (PK) Zeit in h
1 2 12
2 3 22
3 1 15
3 2 12
3 3 2
4 2 5
5 1 23

3.Normalform

{Klasse} --> Lehrer

Klasse (PK) Lehrer
11a Lempel
12a Breier
11b Sommer
Nr. (PK) Name Vorname Klasse (FK)
1 Jürgens Ina 11a
2 Schmidt Tom 12a
3 Jäger Franz 11a
4 Olsen Ina 11b
5 Jürgens Paula 12a