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.
Foto von fo.ol
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
undFK
).
- Tabellen (Relationen) mit Name, Spalten, Datentypen; Beziehungen mit Kardinalitäten; Primär- und Fremdschlüssel werden gekennzeichnet (z.B. mit
- 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
undDATE
. - 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.
*
(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*.
*
- 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
- Titelbild folktunes.org database work von fo.ol. Lizenziert unter Creative Commons Attribution-ShareAlike License.
- Relationale Datenbanken – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #17
- Normalisierung – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #18
- SQL – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #19