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

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

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 d...
47 Minuten

Beschreibung

vor 10 Jahren

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



Kommentare (0)

Lade Inhalte...

Abonnenten

15
15