IT-Berufe-Podcast

Datenbankmodellierung (Lernzielkontrolle zum Entity-Relationship-Modell) – Anwendungsentwickler-Podcast #48


Listen Later

Eine Kernaufgabe vieler Softwareentwickler - auch in der Abschlussprüfung - ist die Modellierung von Datenbanken. In der achtundvierzigsten Episode des Anwendungsentwickler-Podcasts gehe ich daher die Schritte bei der Modellierung von Datenbanken mit dem Entity-Relationship-Modell durch.
Inhalt
Modellierung mit dem Entity-Relationship-Modell
Welche Bestandteile hat ein Entity-Relationship-Modell (ERM) und wie sehen sie (in der Chen-Notation) aus?
Entitätstypen (Rechtecke), Attribute (Ovale), Beziehungstypen (Striche mit Rauten) mit Kardinalitäten.
Primärschlüssel werden unterstrichen.
Fremdschlüssel sind nicht (!) enthalten.
m:n-Beziehungen werden nicht (!) aufgelöst.
Vorgehensweise bei der Bestimmung der Kardinalität einer Beziehung: Du musst für die Beziehung zwischen den beiden Entitäten in beide Richtungen separat (!) überlegen, wie viele Ausprägungen der anderen Entität zu einer Ausprägung der aktuellen Entität gehören. Also immer zwei (!) Sätze bilden, die mit "1" beginnen. Dann nimmst du die beiden Ergebnisse der jeweiligen Gegenseite und bist fertig. Beispiele:
Ein Login ist genau einem (1) Benutzer zugeordnet. Ein Benutzer hat genau einen (1) Login. -> 1:1
Ein Artikel gehört zu einer (1) Warengruppe. Eine Warengruppe hat mehrere (n) Artikel. -> 1:n
Ein Hund hat mehrere (m) Herrchen. Ein Herrchen hat mehrere (n) Hunde. -> m:n
Wie funktioniert die crow's foot notation?
Anstatt die Anzahl (0, 1, n, 0..1 usw.) der zugehörigen Datensätze an die Beziehung zu schreiben, wird eine grafische Darstellung verwendet. Die Beziehungslinien werden um 0, 1 oder den Krähenfuß (n) ergänzt.
Wie kommt man zu einem ER-Modell?
Substantive im Aufgabentext (bzw. der Domäne) suchen. Sie sind potentielle Entitätstypen.
Ggfs. konkrete Werte in abstrakte Konzepte übersetzen (z.B. Mercedes in Auto oder gelb in Farbe) und Substantive ergänzen.
Beschreiben die Substantive andere Substantive werden sie zu Attributen. Die beschriebenen Substantive sind dann Entitätstypen.
Ggfs. sinnvolle/notwendige Attribute ergänzen (z.B. Vorname und Nachname bei Personen).
Primärschlüssel kennzeichnen und ggfs. ergänzen.
Beziehungen zwischen Entitätstypen einzeichnen und Kardinalitäten festlegen.
Ggfs. Attribute an die Beziehungen hängen.
Restliche Substantive sinnvoll als Attribute einsortieren oder streichen.
Fertiges Datenmodell mit Beispielen aus der Praxis verifizieren.
Literaturempfehlungen
Einsteigern ins Thema Datenmodellierung empfehle ich die Artikelreihe von Dr. Veikko Krypczyk im Entwickler Magazin. Der erste Artikel ist frei verfügbar: Datenbanken: Grundlagen und Entwurf - entwickler.de.
Das Beispiel (Telefonliste) für den Algorithmus zum Erstellen eines Entity-Relationship-Modells habe ich aus einem der Prüfungstrainer für die Abschlussprüfung*.
*
Ein tolles Buch, um einmal über den Tellerrand der relationalen Datenbanken hinweg zu schauen, ist Seven Databases in Seven Weeks*. Eine relationale Datenbank (PostgreSQL) wird vorgestellt, aber der Rest des Buches behandelt die unterschiedlichsten Typen von (NoSQL-)Datenbanken und ihre Besonderheiten - gerade auch ber der Datenmodellierung. Absolut lesenswert für jeden Softwareentwickler.
*
Links
Permalink zu dieser Podcast-Episode
RSS-Feed des Podcasts
Chen-Notation – Wikipedia
Entity-Relationship-Modell – Wikipedia
Martin-Notation – Wikipedia (crow's foot notation)
Letzte Woche im Blog:
Projektdokumentation von Michael Kleimann (mit 92% bewertet) inkl. Projektantrag
Die häufigsten Anfängerfehler bei der Java-Programmierung
...more
View all episodesView all episodes
Download on the App Store

IT-Berufe-PodcastBy Stefan Macke

  • 5
  • 5
  • 5
  • 5
  • 5

5

1 ratings


More shows like IT-Berufe-Podcast

View all
Chaosradio by Chaos Computer Club Berlin

Chaosradio

7 Listeners

Computer und Kommunikation by Deutschlandfunk

Computer und Kommunikation

10 Listeners

IQ - Wissenschaft und Forschung by Bayerischer Rundfunk

IQ - Wissenschaft und Forschung

46 Listeners

ZEIT WISSEN. Woher weißt Du das? by ZEIT ONLINE

ZEIT WISSEN. Woher weißt Du das?

45 Listeners

c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

c’t uplink - der IT-Podcast aus Nerdistan

5 Listeners

Eine Stunde History - Deutschlandfunk Nova by Deutschlandfunk Nova

Eine Stunde History - Deutschlandfunk Nova

109 Listeners

Smarter leben by DER SPIEGEL

Smarter leben

50 Listeners

Kampf der Unternehmen by Wondery

Kampf der Unternehmen

16 Listeners

kurz informiert by heise online by heise online

kurz informiert by heise online

2 Listeners

Quarks Science Cops by Quarks

Quarks Science Cops

19 Listeners

Terra X History - Der Podcast by ZDF - Terra X

Terra X History - Der Podcast

9 Listeners

Aha! Zehn Minuten Alltags-Wissen by WELT

Aha! Zehn Minuten Alltags-Wissen

25 Listeners

KI verstehen by Deutschlandfunk

KI verstehen

8 Listeners

Wirecard: 1,9 Milliarden Lügen by Süddeutsche Zeitung

Wirecard: 1,9 Milliarden Lügen

3 Listeners

Passwort - der Podcast von heise security by Dr. Christopher Kunz, Sylvester Tremmel

Passwort - der Podcast von heise security

3 Listeners