Kurs:Entwicklung eines Datenbanksystems/Entwurf

Aus Wikiversity
Zur Navigation springen Zur Suche springen


Einleitung[Bearbeiten]

Entitätstypen mit Beziehungen und Beispieldaten

Wenn das ERM anhand der Aufgabenbeschreibung entwickelt wurde, ist die nächste Aufgabe, die Entitätstypen in Tabellen zu überführen. Zur Darstellung der Tabellen, wird die Tabellenkurzschreibweise verwendet.

Entitätstypen umwandeln[Bearbeiten]

Grundsätzlich wird für jeden Entitätstyp eine eigene Tabelle erstellt.

  • Für den Entitätstyp Kunde ergibt sich dann die Tabelle Kunde mit dem zusätzlichen Primärschlüssel K_ID (Kunden_ID). Um Eindeutig zu erkennen, dass es eine Tabelle ist, kann Sie mit T_ bezeichnet werden:
T_Kunde(K_ID, vname, nname)
  • Für den Entitätstyp Warenkorb ergibt sich dann die Tabelle Warenkorb mit dem zusätzlichen Primärschlüssel W_ID (Warenkorb_ID):
T_Warenkorb(W_ID, datum)
  • Und der Artikeltyp:
T_Artikel(A_ID, preis, name, lm)

Beziehungen umwandeln[Bearbeiten]

1:1 Beziehung[Bearbeiten]

Um nun die 1:1 Beziehung abzubilden, muss entweder der Kunde auf den Warenkorb verweisen oder der Warenkorb auf den Kunden. In diesem Kontext ist der Warenkorb vom Kunden abhängig, weswegen im Warenkorb ein Verweis auf den Kunden erstellt wird, d.h. ein Wikipedia Fremdschlüssel im Warenkorb verweist auf den Wikipedia Primärschlüssel des Kunden. Ein Fremdschlüssel ist ein Attribut oder eine Attributkombination einer Relation, welches auf einen Primärschlüssel (bzw. Schlüsselkandidaten) einer anderen oder der gleichen Relation verweist. So ergibt sich in der Tabellenkurzschreibweise folgende Tabelle. Um zu erkennen, dass es ein Fremdschlüssel ist, wird er mit f_ makiert und noch zusätzlich angegeben, auf was er verweist:

T_Warenkorb(W_ID, datum, F_K_ID)
 F_K_ID -> T_Kunde

1:n Beziehung[Bearbeiten]

Sollte der Kunde mehre Warenkörbe haben, würde sich eine 1:n anbieten. In dem Fall, würde der Fremdschlüssel immer in der Tabelle mit n angebeben werden. So ergibt sich in der Tabellenkurzschreibweise folgende Tabelle, d.h. es ändert sich nichts:

T_Warenkorb(W_ID, datum, F_K_ID)
 F_K_ID -> T_Kunde

n:m Beziehung[Bearbeiten]

Verschiedene Artikeltypen sind in verschiedenen Warenkörben, weswegen es eine n:m Beziehung ist. Da es beliebige Beziehungen geben kann, muss eine Hilfstabelle gebildet werden:

T_Warenkorb_Artikel(F_W_ID, F_A_ID)
 F_W_ID -> T_Warenkorb
 F_A_ID -> T_Artikel

In dieser Hilfstabelle ist der Primärschlüssel aus 2 Attributen zusammengesetzt, welche beide gleichzeitig ein Fremdschlüssel sind. Um die Anzahl abzubilden, wird die Hilfstabelle um das Attribut erweitert:

T_Warenkorb_Artikel(F_W_ID, F_A_ID, menge)
 F_W_ID -> T_Warenkorb
 F_A_ID -> T_Artikel

Ausführliche Erklärungen[Bearbeiten]