Datenbankmodellierung (Lernzielkontrolle zum relationalen Tabellenmodell) – Anwendungsentwickler-Podcast #49

Dieser Beitrag ist Teil 11 von 14 in der Serie Lernzielkontrollen.

Nachdem beim letzten Mal das Erstellen des Entity-Relationship-Modells Thema war, widmen wir uns in der neunundvierzigsten Episode des Anwendungsentwickler-Podcasts den Schritten bei der Erstellung eines Tabellenmodells.

Probeabo bei Audible (Affiliate)

Inhalt

Modellierung mit Tabellenmodellen

  • Welche Bestandteile hat ein Tabellenmodell?
    • Tabellen (Relationen) mit Name, Spalten, Datentypen; Beziehungen mit Kardinalitäten; Primär- und Fremdschlüssel werden gekennzeichnet (z.B. mit PK und FK).
  • Wie kommt man vom ER-Modell zum Tabellenmodell?
    • Jeder Entitätstyp wird zu einer Tabelle.
    • Attribute werden zu Spalten dieser Tabellen.
    • Datentypen der Spalten bestimmen.
    • m:n-Beziehungen durch Fremdschlüssel in Zwischentabellen auflösen. Ggfs. Attribute der Beziehung als Spalten ergänzen.
    • 1:n- und 1:1-Beziehungen durch Fremdschlüssel auflösen.
      • Bei 1:1 ist die Position des Fremdschlüssels egal, bei 1:n muss er in die n-Tabelle.
  • Tipps zur Prüfung und Praxis
    • Immer alle Informationen einzeichnen, auch wenn sie nicht explizit gefragt sind.
    • Drei Datentypen reichen: VARCHAR, NUMBER und DATE.
    • Wenn eine Tabelle einen zusammengesetzten Schlüssel mit mehr als 2 Attributen hat, führe einen anonymen Primärschlüssel ein.
    • Achte auf ein normalisiertes Modell in dritter Normalform (die weiteren Normalformen sind irrelevant).
    • Du solltest trotzdem erklären können, wann man von der Normalisierung abweichen kann/sollte.
    • Die 1:n-Beziehungen werden in der 3. Normalform aufgelöst, die m:n-Beziehungen in der 2.

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.
  • Im Handbuch für Fachinformatiker ist das komplette Kapitel 13 dem Thema Datenbanken gewidmet.
    Sascha Kersken - IT-Handbuch für Fachinformatiker: Für Fachinformatiker der Bereiche Anwendungsentwicklung und Systemintegration. Inkl. Prüfungsfragen und Praxisübungen (Affiliate)*
    (direkt beim Rheinwerk-Verlag bestellen*)
  • Am besten übst du die Datenbankmodellierung mit Prüfungsaufgaben der IHK. Dazu empfehle ich die Prüfungstrainer für die Abschlussprüfung*.
    Prüfungstrainer Fachinformatiker Anwendungsentwicklung (Affiliate)*
  • 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.
    Eric Redmond - Seven Databases in Seven Weeks (Affiliate)*

Links

Navigation der Serie<< Datenbankmodellierung (Lernzielkontrolle zum Entity-Relationship-Modell) – Anwendungsentwickler-Podcast #48Java EE 7 (Lernzielkontrolle) – Anwendungsentwickler-Podcast #54 >>
Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax