Zum Inhalt springen

Informatik · Klasse 8–13 · aktualisiert

Datenbankmodellierung: ER-Modell und Tabellen

Du bestimmst Entitäten, Attribute und Schlüssel, überführst Beziehungen in Tabellen und vermeidest doppelte Daten durch Normalisierung.

0 von 12 Aufgaben gelöst

Datenbankmodellierung: ER-Modell und Tabellen

Kurz gesagt

Du bestimmst Entitäten, Attribute und Primärschlüssel und die Beziehungen (1:n oder n:m). Im relationalen Schema wird jeder Entitätstyp eine Tabelle, eine Beziehung ein Fremdschlüssel; n:m braucht eine zusätzliche Tabelle. Normalisierung verringert Redundanzen.

Stell dir vor, du baust eine App für deine Schule und musst entscheiden, welche Daten in welche Tabelle kommen. Machst du das schlecht, steht dieselbe Adresse an vielen Stellen, und nach einer Änderung stimmen sie nicht mehr überein. Mit Datenbankmodellierung planst du das vorher sauber.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Eine Datenbank bildet einen Ausschnitt der Wirklichkeit ab. Eine Entität ist ein einzelnes Objekt, das man eindeutig erkennen kann, zum Beispiel der Angestellte Müller oder das Projekt 3232. Gleichartige Entitäten fasst man zu einem Entitätstyp zusammen, etwa Angestellter, Projekt, Buch oder Autor. In einem ER-Diagramm (ER steht für Entity-Relationship, also „Dinge und ihre Beziehungen“) zeichnet man Entitätstypen meistens als Rechteck.

Attribute beschreiben einen Entitätstyp näher. Beim Entitätstyp Angestellter sind das zum Beispiel Nachname, Vorname und Eintrittsdatum. Nicht jedes Attribut muss man speichern: Das Alter eines Mitarbeiters kann man aus dem Geburtsdatum und dem Tagesdatum berechnen. Deshalb besteht keine zwingende Notwendigkeit, es direkt in der Datenbank zu speichern.

Jede Zeile einer Tabelle muss eindeutig erkennbar sein. Dafür dient ein Schlüssel: eine einzelne Spalte oder eine Gruppe von Spalten, deren Werte in jeder Zeile eine einmalige Kombination ergeben. Oft gibt es mehrere mögliche Schlüssel, die Schlüsselkandidaten. Einer davon wird als Primärschlüssel ausgewählt.

Ein Primärschlüssel wird üblicherweise möglichst klein gewählt, hat also möglichst wenige Attribute oder einen möglichst einfachen Datentyp. Er sollte zeitlich stabil sein, sich also nicht ändern. Außerdem muss er die Objekte wirklich eindeutig unterscheiden. Wählst du Name und Geburtstag zusammen, legst du fest, dass es keine zwei gleichnamigen Personen mit demselben Geburtstag geben darf. Ein künstlicher Schlüssel (Surrogatschlüssel), zum Beispiel eine fortlaufende Nummer, vermeidet dieses Problem in jedem Fall. Eine Kundennummer ist ein solcher Schlüssel.

Definition

Primärschlüssel

Der Primärschlüssel ist der Schlüsselkandidat, der für die Tabelle tatsächlich verwendet wird. Er kennzeichnet jede Zeile der Tabelle eindeutig.

Beispiel: Bücher-Tabelle

  1. 1Die ISBN (eine Nummer, die jedes Buch trägt) eignet sich als Schlüssel, denn keine zwei Bücher haben dieselbe ISBN.
  2. 2Der Titel eignet sich nicht: Bücher können den gleichen Titel haben.
  3. 3Der Autor eignet sich auch nicht: Bücher können vom selben Autor stammen.

Merke: Ein Primärschlüssel kennzeichnet jede Zeile eindeutig und sollte sich während des gesamten Lebens der Tabelle nicht ändern.

Teste dich

LeichtWelches Attribut eignet sich in einer Tabelle mit Büchern am besten als Schlüssel?
MittelDu wählst Name und Geburtstag zusammen als Primärschlüssel einer Personen-Tabelle. Was legst du damit fest?

Alles auf einen Blick

Datenbankmodellierung

  • Entität und Attribut

    Eine Entität ist ein eindeutig erkennbares Objekt, Attribute beschreiben ihren Entitätstyp näher.

  • Primärschlüssel

    Er kennzeichnet jede Zeile eindeutig und sollte zeitlich stabil sein.

  • Beziehung eins zu n

    Die Tabelle auf der n-Seite bekommt eine Spalte mit dem Fremdschlüssel.

  • Beziehung n zu m

    Man braucht eine zusätzliche Tabelle mit den Primärschlüsseln beider Tabellen als Fremdschlüssel.

  • Fremdschlüssel

    Er verweist auf den Primärschlüssel einer anderen oder der gleichen Tabelle.

  • Normalisierung

    Sie verringert Redundanzen und verhindert dadurch Anomalien. In speziellen Anwendungsfällen kann man darauf verzichten.

Musteraufgabe · Schritt für Schritt

Läufer und Wettkämpfe in Tabellen überführen (ausgedachtes Beispiel)

  1. 1Ausgedachte Lage: Ein Läufer startet bei mehreren Wettkämpfen, bei einem Wettkampf starten mehrere Läufer.
  2. 2Schritt 1: Entitätstypen sind Läufer (Läufer-Nr, Name) und Wettkampf (Wettkampf-Nr, Ort). Die Nummern sind künstliche Schlüssel und dienen als Primärschlüssel.
  3. 3Schritt 2: Auf beiden Seiten sind beliebig viele Entitäten möglich, also Läufer n:m Wettkampf.
  4. 4Schritt 3: Für n:m braucht man eine Hilfstabelle Start mit den Spalten Läufer-Nr und Wettkampf-Nr. Beide sind Fremdschlüssel.
  5. 5Schritt 4: Beide Spalten zusammen bilden den Primärschlüssel von Start.
  6. 6Probe: Der Eintrag (7, 2) heißt: Läufer 7 startet bei Wettkampf 2. Der Eintrag (7, 3) ist erlaubt, (7, 2) darf nicht doppelt stehen.

Fehler finden

Prüfe die Aussagen zu Hotels und Reservierungen In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Ein Kind hat genau eine leibliche Mutter, eine Mutter kann mehrere Kinder haben. Bei dieser 1:n-Beziehung steht der Fremdschlüssel in der Tabelle . Eine n:m-Beziehung braucht eine zusätzliche Tabelle mit den Primärschlüsseln von Tabellen als Fremdschlüssel. Wird derselbe Sachverhalt mehrfach festgehalten, heißt das .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Datenbankmodellierung

LeichtEin Verein führt eine Tabelle Mitglied (ausgedachtes Beispiel). Welches Attribut passt am besten als Primärschlüssel?
MittelEin Film hat viele Schauspieler, ein Schauspieler spielt in vielen Filmen. Wie setzt man diese Beziehung in den meisten relationalen Datenbanken um?
SchwerEine Tabelle Ausleihe speichert bei jeder Ausleihe Name und Klasse des Schülers (ausgedachtes Beispiel). Was hilft, damit eine Änderung der Klasse nicht vergessen wird?

Weiterlesen in Informatik