Anmeldung Registrierung
Auto Hell Dunkel
Erweiterte Suche
  1. Startseite
  2. Podcasts
  3. IT-Berufe-Podcast Podcast
  4. Datenbankmodellierung (Lernzielkontrolle zum Entity-Relationship-Modell) – Anwendungsentwickler-Podcast #48
Datenbankmodellierung (Lernzielkontrolle zum Entity-Relationship-Modell) – Anwendungsentwickler-Podcast #48

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

IT-Berufe-Podcast vor 10 Jahren
Zu Sammlung hinzufügen

Du hast noch keine Sammlungen.

Herunterladen (rechte Maustaste) Teilen Fundstellen Kommentare
0:00
46:45
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. TL;DR Ich zeige dir, wie du aus
einer Aufgabenbeschreibung ein Entity-Relationship-Modell (ERM)
entwickelst und seine Kardinalitäten bestimmst. Du erfährst, wie
die Chen-Notation funktioniert, wie du Attribute den passenden
Entitätstypen oder Beziehungen zuordnest und welche Angaben erst
ins relationale Tabellenmodell gehören. An einer Telefonliste für
Mitarbeiter:innen gehe ich ein schrittweises Vorgehen durch, mit
dem du dein Datenmodell anschließend anhand konkreter Fälle prüfen
kannst. Kapitelmarken [00:00:20] Datenbankmodelle in Ausbildung und
Prüfung [00:01:39] Das ER-Modell als abstrakte Grundlage [00:02:49]
Chen-Notation und Prüfungsrelevanz [00:03:57] Entitätstypen,
Attribute und Beziehungen zeichnen [00:06:22] Attribute und
Primärschlüssel kennzeichnen [00:07:05] Entitätstypen und konkrete
Entitäten [00:07:39] Fremdschlüssel und Zuordnungstabellen im
Tabellenmodell [00:09:46] Kardinalitäten in beiden Richtungen
bestimmen [00:11:52] Beispiele für 1:1, 1:n und m:n [00:14:02]
Kardinalitäten im ER-Modell eintragen [00:15:12] Weitere Beispiele
mit Artikeln und Hunden [00:16:42] Crow’s-Foot-Notation und
optionale Beziehungen [00:20:50] Schrittfolge zum Entwickeln eines
ER-Modells [00:24:46] Attribute an Beziehungen und historische
Preise [00:26:24] Prüfungsbeispiel: Telefonliste für
Mitarbeiter:innen [00:28:19] Begriffe sammeln und Attribute
zuordnen [00:31:52] Attribute ergänzen und Primärschlüssel
festlegen [00:33:46] Beziehungen zwischen Mitarbeiter:in und
Anschlusstyp [00:34:50] Telefonnummer als Beziehungsattribut
[00:37:14] Übrige Begriffe prüfen und das ER-Modell zeichnen
[00:39:17] Das Modell mit konkreten Fällen prüfen [00:41:14] Die
Schrittfolge im Überblick [00:42:39] Ausblick auf das relationale
Tabellenmodell [00:43:54] Literatur, Projektdokumentation und
Java-Anfängerfehler [00:45:04] Kontakt, Feedback und Newsletter
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 Zusammenfassung Daten mit einem ER-Modell
beschreiben Wenn du als Fachinformatiker:in für
Anwendungsentwicklung Software schreibst, brauchst du häufig eine
Datenbank. Ich gehe mit dir den Weg von einer Aufgabenbeschreibung
zu einem Entity-Relationship-Modell (ERM) durch. Dieses abstrakte
Modell beschreibt die Daten einer Domäne und ihre Beziehungen. Es
kann als Grundlage für eine relationale Datenbank dienen, ebenso
für einen Key-Value-Store oder eine dokumentenorientierte
Datenbank. In der schriftlichen Abschlussprüfung werden häufig
ER-Modelle oder Tabellenmodelle verlangt. Auch im Fachgespräch
können Prüfer:innen nachfragen, wie du Daten modellierst. Achte
deshalb auf die geforderte Darstellungsform und ihre Regeln.
Chen-Notation lesen und zeichnen Die nach Peter Chen benannte
Notation stammt aus den 1970er Jahren. Ihre Zeichen kannst du so
einsetzen: Rechtecke stellen Entitätstypen dar, beispielsweise
Mitarbeiter:in. Ovale enthalten Attribute und sind mit dem
jeweiligen Entitätstyp verbunden. Rauten bezeichnen Beziehungen
zwischen Entitätstypen. Den Primärschlüssel kennzeichnest du, indem
du den Namen des Attributs unterstreichst. Bei Mitarbeiter:innen
kann das die Personalnummer sein. Eine Beziehung sollte sich in
beide Richtungen lesen lassen. Eine einfache Bezeichnung wie "hat"
kann dafür ausreichen: Ein:e Vorgesetzte:r hat Mitarbeiter:innen;
ausgehend von einer beschäftigten Person lässt sich die zugehörige
Führungskraft bestimmen. Mit dem Entitätstyp Mitarbeiter:in
beschreibst du eine allgemeine Struktur. Eine Entität ist eine
konkrete Person, etwa ich als Mitarbeiter. Aus der
Objektorientierung kennst du das entsprechende Prinzip von Klasse
und Objekt. Fremdschlüssel und Zuordnungstabellen für
m:n-Beziehungen gehören ins relationale Tabellenmodell. Im
ER-Modell stellst du die Beziehungen direkt dar. Dadurch bleibt das
Modell unabhängig davon, in welcher Datenbank du es später umsetzt.
Kardinalitäten bestimmen Um eine Beziehung zu beschreiben, gehst du
jeweils von einer einzelnen Entität aus und prüfst beide Richtungen
getrennt. Entscheidend ist, wie viele zugehörige Entitäten nach den
fachlichen Regeln möglich sind. Die erlaubten Möglichkeiten gelten
auch dann, wenn gerade erst wenige Datensätze vorhanden sind. |
Kardinalität | Beispiel | | --- | --- | | 1:1 | Ein:e Benutzer:in
hat genau einen Login, der genau dieser Person gehört. | | 1:n |
Ein:e Vorgesetzte:r kann mehrere Mitarbeiter:innen haben. Jede
beschäftigte Person hat im angenommenen hierarchischen Unternehmen
genau eine Führungskraft. | | m:n | Ein:e Lehrer:in kann mehrere
Klassen unterrichten. Zu einer Klasse können mehrere Lehrer:innen
gehören. | Bei einer Warengruppe mit mehreren Artikeln ergibt sich
ebenfalls eine 1:n-Beziehung, sofern jeder Artikel genau einer
Warengruppe zugeordnet ist. Die Aufgabenbeschreibung entscheidet,
ob ein Artikel mehreren Gruppen angehören darf. Für m:n lässt sich
auch die Beziehung zwischen Hunden und Halter:innen verwenden. Die
Kardinalität schreibst du an das Ende der Beziehungslinie beim
gegenüberliegenden Entitätstyp. Wenn eine Führungskraft mehrere
Mitarbeiter:innen haben kann, steht das n bei Mitarbeiter:in. Die 1
an der Seite der Führungskraft beschreibt, wie viele Vorgesetzte zu
einer beschäftigten Person gehören. Crow’s-Foot-Notation Mit der
Crow’s-Foot-Notation, auch Martin-Notation genannt, kannst du
zusätzlich ausdrücken, ob eine Beziehung optional oder
verpflichtend ist: Ein Kreis steht für null. Ein Querstrich
bezeichnet eins. Ein Krähenfuß bedeutet mehrere. Kombinierte
Zeichen beschreiben Bereiche wie 0 bis 1, 0 bis n oder 1 bis n.
Genau eins lässt sich ebenfalls darstellen. Die Zeichen stehen am
jeweiligen Zielende der Beziehungslinie. Wenn ein Hund mindestens
eine:n Halter:in haben muss und mehrere haben darf, stehen bei
Halter:in ein Querstrich und ein Krähenfuß. Für Prüfungen ist vor
allem entscheidend, dass deine Darstellung verständlich ist und zur
Aufgabe passt. Eine ausdrücklich geforderte Notation hältst du ein.
Einheitliche Zeichen helfen anderen Informatiker:innen, dein Modell
zu lesen. Schrittweise von der Aufgabe zum ER-Modell Ich arbeite
beim Entwickeln eines ER-Modells mit folgender Schrittfolge: Alle
Substantive sammeln: Schreibe die Nomen aus dem Aufgabentext
zunächst vollständig auf. So behältst du auch Begriffe im Blick,
deren Rolle noch unklar ist. Konkrete Werte verallgemeinern: Aus
"gelb" wird beispielsweise Farbe. Namen aus einer Beispieltabelle
führen zu den Begriffen Vorname und Nachname. Attribute zuordnen:
Prüfe,...
Episode melden

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

Worum geht es? Danach fragen wir noch nach dem Grund.

Teilen

Mein Archiv

Deine Privatkopie der Folgen, die du nicht verlieren willst.

Podcast-Folgen verschwinden. Feeds werden auf die letzten Episoden gekürzt, Hoster räumen alte Dateien ab, Formate wechseln den Anbieter und lassen ihr Archiv zurück. Mit „Mein Archiv“ sichert podcast.de die Folgen deiner Podcasts für dich — angefangen bei den ältesten, denn die sind zuerst weg.

  • Deine gesicherten Folgen bleiben hörbar, auch wenn das Original offline geht.
  • Auch Folgen, die im heutigen Feed gar nicht mehr stehen — podcast.de kennt sie noch.
  • Herunterladen bleibt möglich, solange die Folge beim Podcaster liegt. Der zählt seine Abrufe wie bisher.
Startet bald

Sei beim Start von Mein Archiv dabei

Mein Archiv ist fast fertig. Trag dich ein, dann bekommst du eine E-Mail, sobald es losgeht – und bist von Anfang an dabei. Wir schreiben dir nur zum Start, keine Werbung, keine Weitergabe deiner Daten.

Du bekommst zuerst eine Bestätigungsmail. Abmelden geht jederzeit. Datenschutz