Benutzer-Werkzeuge

Webseiten-Werkzeuge


neuerlehrplan:klasse09:modellierung

Modellierung von Datenbanken

Datenbanken müssen so aufgebaut sein, dass Anomalien, Inkonsistenzen und Redundanzen vermieden werden. Deshalb geht man bei der Modellierung von Datenbanken in zwei Schritten vor:

  • Erstellen eines Entity-Relationship-Diagramms (ER-Modell)
  • Überführung des ER-Modells in die Tabellen (relationales Modell)

ER-Modellierung

Begriffe

  • Entität (Entity) - eindeutig identifizierbares Datenobjekt
  • Entitätsmenge ( Entitätsklasse) – Zusammenfassung von Entitäten mit gemeinsamen Eigenschaften
  • Attribut – Eigenschaft der Entitätsmenge
  • Attributwert - konkreter Wert eines Attributs
  • Primärschlüssel – minimale Menge von Attributen zur eindeutigen Identifikation der Entität
  • Relationship – Beziehung zwischen Entitätsmengen

Symbole in ER-Diagrammen

Ein ER-Diagramm ist die grafische Darstellung eines bestimmten praktischen Sachverhalts und seiner Zusammenhänge, für den eine Datenbank erstellt werden soll. Aus dem ER-Diagramm werden dann die Datenbanktabellen (relationale Modellierung) abgeleitet. Die folgenden grafischen Elemente kommen in einem ER-Diagramm vor:

Relationstypen

Insgesamt gibt es zwischen zwei Entitätsmengen drei grundlegende Relationstypen. (Relationen zwischen drei oder Entitätsmengen sollen hier nicht betrachtet werden.)

  • Bei einer 1-1-Relation ist jedem Element der Entitätsmengen A ein Element der Entitätsmengen B zugeordnet und jedem Element der Entitätsmenge B das entsprechende Element der Entitätsmenge A. Es handelt sich also um eine eineindeutige Zuordnung.

    Ein Beispiel für eine 1-1-Relation ist die Beziehung „besitzt“ zwischen der Entitätsmenge „Erwachsene Person“ und der Entitätsmenge „Personalausweis“. Jede Person besitzt genau einen Personalausweis und zu einem Personalausweis gehört genau eine Person.

  • Bei einer n-1-Relation ist jedem Element der Entitätsmenge A ein Element der Entitätsmenge B zugeordnet. Einem Element der Entitätsmenge B können mehrere Elemente der Entitätsmenge A zugeordnet sein. Erhandelt sich also um eine eindeutige Zuordnung.

    Ein Beispiel für eine n-1-Relation ist die Beziehung „lernt in“ zwischen der Entitätsmenge „Schüler“ und der Entitätsmenge „Klasse“. Ein Schüler lernt in genau einer Klasse. In einer Klasse lernen mehrere Schüler.

  • Bei einer n-m-Relation können jedem Element der Entitätsmenge A mehrere Elemente der Entitätsmenge B und jedem Element der Entitätsmenge B mehrere Elemente der Entitätsmenge A zugeordnet sein. Es handelt sich also um eine mehrdeutige Zuordnung.

    Ein Beispiel für eine für eine n-m-Relation ist die Beziehung „unterrichtet“ zwischen den Entitätsmengen „Lehrer“ und „Schüler“. Ein Lehrer unterrichtet mehrere Schüler und ein Schüler wird von mehreren Lehrern unterrichtet.

Beispiel für eine Modellierungsaufgabe

In dieser Aufgabe wird ein Teil von Instahub (https://instahub.org/) vereinfacht modelliert.

In Instahub gibt es User (id, username, Name, Größe, Geschlecht, Geburtsdatum, Ort) und Fotos (id, Beschreibung, erstellt am, URL). Ein Foto kann von mehreren Nutzern kommentiert werden. Ein Nutzer kann mehrere Fotos kommentieren.

Lösung:

Aufgaben

Aufgabe 1

Welche Kardinalität hat die jeweilige Relation?

Relation Kardinalität
Freiberufler und Firma
Mutter und Kind
Computer und Nutzer
Eigentümer und Fahrzeug
Schüler und Schülerausweis
Blatt und Baum
Kind zu einem Paar Großeltern

Aufgabe 2

Erstelle für die folgenden Sachverhalte jeweils ein ER-Diagramm! Kennzeichne sinnvolle Primärschlüssel!

  • a) Ein Lehrer (Kürzel, Vorname, Nachname, Fach1, Fach2, Fach3, E-Mail) unterrichtet Klasse (Bezeichnung, Jahrgangsstufe, Anzahl Schüler). Ein Lehrer unterrichtet mehrere Klassen und eine Klasse wird von mehreren Lehrern unterrichtet.
  • b) In einer Firma arbeiten Mitarbeiter (Personalnummer, Nachname, Vorname, Geburtsdatum) an Projekten (Projektnummer, Bezeichnung, Beschreibung). An einem Projekt arbeiten mehrere Mitarbeiter, ein Mitarbeiter kann an mehreren Projekten arbeiten. Ein Projekt wird von genau einen Mitarbeiter geleitet. Ein Mitarbeiter kann maximal ein Projekt leiten. Ein Mitarbeiter ist in genau einer Abteilung (Abteilungsnummer, Bezeichnung) beschäftigt. In einer Abteilung sind mehrere Mitarbeiter beschäftigt.

Relationale Modellierung

Im nächsten Schritt sollen aus dem ER-Diagramm die Tabellen abgeleitet werden. Dazu benötigen wir noch einen weiteren Begriff:

Fremdschlüssel - Attribut, welches in einer anderen Tabelle Primärschlüssel ist.

Zum Aufschreiben der Tabellen verwenden wir die folgenden Konventionen:

  • Hinter den Tabellennamen stehen die Attribute durch Komma getrennt in Klammern
  • Primärschlüssel werden überstrichen, Fremdschlüssel werden unterstrichen

Wir betrachten bei unseren Aufgaben nur einfache ER-Diagramme, bei denen die Relationen keine Attribute haben. Deshalb können wir zum Ableiten der die folgenden Vereinfachten Regeln verwenden:

Regeln zum Ableiten der Tabellen

  • Jede Entitätsmenge bildet eine eigene Tabelle in der die Attribute als Spaltennamen vorkommen.
  • Bei einer 1-1-Relation erscheint der Primärschlüssel der einen Entitätsmenge als Fremdschlüssel in der Tabelle der anderen Entitätsmenge.
  • Bei einer n-1-Relation erscheint der Primärschlüssel der Seite 1 als Fremdschlüssel in der Tabelle der Seite n.

Beispiel: Ableitung der Tabellen aus dem Beispiel-ER oben

1. Schritt: Wir wenden die Regel 1 an und lassen die Tabellen offen:

$\text{User} \left(\underline{\text{id}}, \text{username}, \text{Name}, \text{Größe}, \text{Geschlecht}, \text{Geburtsdatum}, \text{Ort}\right.$ $\text{Foto} \left( \underline{\text{id}}, \text{Beschreibung}, \text{erstellt_am}, \text{URL} \right.$

2. Schritt: Jetzt werden die einzelnen Relationen entsprechend den Regeln 2 bis 4 abgearbeitet und weitere Tabellen bzw. Fremdschlüssel ergänzt. Wenn alle Relationen abgearbeitet sind, können die Tabellen geschlossen werden.

In unseren Fall kommt die Regel 4 zur Anwendung und die anderen Tabellen können geschlossen werden. Zu beachten ist, dass die beiden Fremdschlüssel in der Tabelle Kommentiert denselben Namen haben. Deshalb ergänzt man den Namen der Ausgangstabelle.

$\text{User} \left(\underline{\text{id}}, \text{username}, \text{Name}, \text{Größe}, \text{Geschlecht}, \text{Geburtsdatum}, \text{Ort}\right)$ $\text{Foto} \left( \underline{\text{id}}, \text{Beschreibung}, \text{erstellt_am}, \text{URL} \right)$

$\text{Kommentiert} \left( \underline{\overline{\text{User.id}}, \overline{\text{Foto.id}}} \right)$

Aufgabe 3

Leite aus den ER-Diagrammen der Aufgabe 2 die Tabellen ab!

neuerlehrplan/klasse09/modellierung.txt · Zuletzt geändert: 2024/08/28 10:52 von lutz