Datenmodellierung

Bevor du eine Datenbank anlegst, legst du als Erstes fest, welche Daten aus dem Geschäftsalltag du speichern willst und in welcher Form. Diesen Entwurf nennt man Datenmodellierung. Dieser Leitfaden beginnt mit den Phasen der Modellierung und damit, wie du ein ER-Diagramm zeichnest. Dann legst du Entitäten, Attribute, Beziehungen und Identifikatoren fest, verfeinerst das Modell durch Normalisierung und landest schließlich bei der Denormalisierung, bei der du für mehr Leistung bewusst Redundanz in Kauf nimmst. Die Beispiele drehen sich um alltägliche Abläufe wie Mitarbeitende, Abteilungen und Bestellungen, und in jedem Kapitel gibt es eine Grafik, die du selbst ausprobieren kannst. Wie du mit SQL Daten aus den so entworfenen Tabellen holst, erklärt der Leitfaden SQL-Grundlagen.

01

Datenmodellierung und ERD: der Bauplan, der Abläufe in Daten übersetzt

Wenn du ein Haus baust, fängst du nicht sofort mit den Ziegeln an. Zuerst zeichnest du einen Bauplan: wie viele Zimmer es gibt und wo die Türen hinkommen. Bei einer Datenbank ist es genauso. Vorher aufzuzeichnen, welche Daten es im Geschäft gibt und wie sie zusammenhängen, nennt man Datenmodellierung, und das Ergebnis ist ein Datenmodell.

Modellierung hat drei Eigenschaften.

  • Abstraktion: Aus den vielen Fakten der realen Welt wird das Gemeinsame herausgezogen und in einer festen Form dargestellt
  • Vereinfachung: Eine festgelegte Notation macht das Modell für alle leicht verständlich
  • Eindeutigkeit: Unklarheiten werden beseitigt, sodass sich das Modell nur auf eine Weise lesen lässt

Auch für den Blick auf das Geschäft gibt es drei Sichten: Was wird verwaltet (Datensicht), was wird getan (Prozesssicht) und wie wirkt sich das auf die Daten aus (Sicht auf das Zusammenspiel von Daten und Prozessen). Bei der Datenmodellierung steht die Datensicht im Mittelpunkt.

Konzeptionell → logisch → physisch: in drei Schritten konkreter

Auch ein Bauplan beginnt mit dem großen Bild und wird dann immer genauer. Die Modellierung teilt man ebenso in drei Phasen.

PhaseWas passiertMerkmale
Konzeptionelle ModellierungDie zentralen Entitäten und ihre Beziehungen im gesamten Geschäft findenHöchster Abstraktionsgrad. Das große Bild aus Sicht des ganzen Unternehmens
Logische ModellierungSchlüssel, Attribute und Beziehungen genau festlegen und normalisierenUnabhängig vom konkreten DBMS. Am besten wiederverwendbar
Physische ModellierungTabellen, Spaltentypen und Indizes passend zum tatsächlichen DBMS festlegenBerücksichtigt Leistung und Speicherplatz. Niedrigster Abstraktionsgrad

Drei Schemaebenen und Datenunabhängigkeit

Dieselben Daten sollen für verschiedene Leute unterschiedlich aussehen. ANSI/SPARC teilt eine Datenbank deshalb in drei Ebenen. Der Zweck der Ebenen: Ändert sich eine davon, sollen die anderen möglichst wenig davon merken – das ist die Datenunabhängigkeit.

EbeneAus wessen SichtBeschreibung
Externes SchemaBenutzer und AnwendungenNur der Teil, den jeder braucht, als eigene Sicht (View). Es kann mehrere geben
Konzeptionelles SchemaDie ganze OrganisationAlle Daten und Beziehungen in einem Gesamtbild vereint. Davon gibt es genau eins
Internes SchemaSpeichermediumWie die Daten tatsächlich gespeichert werden (Datei- und Indexstrukturen)

Weil externe und konzeptionelle Ebene getrennt sind, bleibt die Ansicht der Benutzer gleich, auch wenn sich das konzeptionelle Schema ändert: Das ist die logische Datenunabhängigkeit. Weil konzeptionelle und interne Ebene getrennt sind, bleibt das konzeptionelle Schema gleich, auch wenn sich die Art der Speicherung ändert: Das ist die physische Datenunabhängigkeit.

Was bei schlechter Modellierung schiefgeht, fasst man ebenfalls in drei Punkten zusammen: Redundanz (dieselben Daten liegen an mehreren Stellen), mangelnde Flexibilität (schon kleine Änderungen im Geschäft erzwingen große Umbauten am Modell) und Inkonsistenz (zusammengehörige Daten passen nicht mehr zueinander).

ERD: ein Bild aus Entitäten, Beziehungen und Attributen

Ein Datenmodell zeichnet man meist als ERD (Entity-Relationship-Diagramm, kurz ER-Diagramm). Es besteht aus drei Bausteinen: Entitäten, Beziehungen und Attributen. Verbreitet sind die IE-Notation, bei der die Enden der Beziehungslinien wie Krähenfüße aussehen, und die Barker-Notation, die optionale Beziehungen gestrichelt zeichnet. Gezeichnet wird meist in dieser Reihenfolge:

  1. Entitäten zeichnen
  2. Entitäten sinnvoll anordnen – wichtige Entitäten nach links oben
  3. Beziehungen zwischen den Entitäten ziehen
  4. Beziehungsnamen eintragen
  5. Eintragen, wie viele an der Beziehung beteiligt sind (eins oder viele)
  6. Eintragen, ob die Beziehung bestehen muss (Pflicht oder optional)

Geh in der Grafik unten die Schritte durch und sieh zu, wie das ERD für Abteilung und Mitarbeiter entsteht. Du kannst dasselbe Modell auch in die Barker-Notation umschalten.

AbteilungPKAbteilungscodeAbteilungsnameStandortMitarbeiterPKMitarbeiternr.NameTelefonAbteilungscode (FK)enthältgehört zuOptionalität (○ optional, | Pflicht)

6. Optionalität eintragen – IE-Notation

So liest du es
Jede Abteilung kann mehrere Mitarbeiter enthalten / jeder Mitarbeiter muss zu genau einer Abteilung gehören

Geh die Schritte durch, in denen ein ERD entsteht, und schalte dasselbe Modell dann in die Barker-Notation um. Grün ist, was in diesem Schritt neu dazukommt.

Trag ein, ob die Beziehung bestehen muss. Jeder Mitarbeiter muss zu einer Abteilung gehören, deshalb bekommt die Seite der Abteilung einen Strich (Pflicht). Eine Abteilung darf ohne Mitarbeiter sein, deshalb bekommt die Seite des Mitarbeiters einen Kreis (optional). Jetzt liest es sich so: „Jede Abteilung kann mehrere Mitarbeiter enthalten“ und „Jeder Mitarbeiter muss zu genau einer Abteilung gehören“.

Steht in der Frage … → wähle das

  • “Modellierung mit dem höchsten Abstraktionsgrad”Konzeptionelle Modellierung
  • “DBMS-unabhängiges Modell, am besten wiederverwendbar”Logisches Modell
  • “Phase, die Leistung und Speicher berücksichtigt und ans DBMS anpasst”Physische Modellierung
  • “Konzeptionelles Schema ändert sich, Benutzeransicht bleibt gleich”Logische Datenunabhängigkeit
  • “Speicherstruktur ändert sich, konzeptionelles Schema bleibt gleich”Physische Datenunabhängigkeit
  • “Die drei Bausteine eines ERD”Entität, Beziehung, Attribut
  • “Platz der wichtigen Entität im ERD”Links oben

Anzeige

02

Entitäten und Attribute

Jeder Kasten im ERD ist eine Entität, und was im Kasten steht, sind Attribute. Zuerst legst du fest, was eine Entität wird und was ein Attribut.

Entität: die Menge der Dinge, die das Geschäft verwalten muss

Eine Entität ist etwas, das im Geschäft gebraucht wird und dauerhaft verwaltet werden muss – Dinge, denen man einen Namen geben kann, etwa Mitarbeiter, Abteilung oder Bestellung. Wichtig ist: Eine Entität ist kein Einzelstück, sondern eine Menge. Die Entität Mitarbeiter steht nicht für eine Person, sondern für alle Mitarbeitenden zusammen, und jede einzelne Person darin heißt Instanz.

Damit etwas eine Entität sein kann, muss es diese Bedingungen erfüllen:

  • Es ist Information, die das Geschäft braucht und verwalten will
  • Es gibt einen Identifikator, mit dem sich jede Instanz einzeln unterscheiden lässt
  • Es gibt mindestens zwei Instanzen – gibt es nur eine, lohnt sich keine eigene Entität
  • Geschäftsprozesse nutzen die Entität (sie legen Instanzen an, lesen oder ändern sie)
  • Sie hat Attribute
  • Sie hat mindestens eine Beziehung zu einer anderen Entität – Ausnahmen wie Code- oder Statistikentitäten, bei denen man Beziehungen bewusst weglässt, gibt es

Entitäten werden nach zwei Kriterien eingeteilt.

KriteriumEinteilungBeispiele
Hat sie eine Form?Materielle Entität – hat eine physische FormMitarbeiter, Produkt, Lehrkraft
Konzeptionelle Entität – keine Form, aber ein Begriff, der verwaltet wirdOrganisation, Versicherungsprodukt
Ereignisentität – entsteht bei der GeschäftstätigkeitBestellung, Rechnung, Kursanmeldung
Wann entsteht sie?Basisentität (Schlüsselentität) – entsteht aus sich selbst, ohne andere EntitätenKunde, Produkt, Abteilung
Hauptentität – entsteht aus Basisentitäten und steht im Zentrum des GeschäftsBestellung, Vertrag
Aktionsentität – entsteht aus zwei oder mehr Eltern, ändert sich oft und wächst starkBestellposition, Änderungshistorie

Benannt wird mit den Begriffen, die im Fachbereich üblich sind: ohne Abkürzungen, im Singular und im ganzen Modell eindeutig. Aus „Bestellung“ wird also nicht „Bestellliste“ oder „Bestellungen“.

Attribut: eine nicht weiter teilbare Eigenschaft einer Entität

Ein Attribut ist eine Eigenschaft einer Entität, die das Geschäft braucht und die sich inhaltlich nicht weiter zerlegen lässt. Name und Gehalt eines Mitarbeiters sind Attribute, und „Ben“, der Wert, den die Instanz Ben im Attribut Name hat, ist ein Attributwert. So hängen die vier zusammen:

  • Eine Entität ist eine Menge aus zwei oder mehr Instanzen
  • Eine Entität hat zwei oder mehr Attribute
  • Ein Attribut hat pro Instanz genau einen Wert – gibt es mehrere Werte, wird daraus eine eigene Entität

Wechsle in der Grafik unten den Begriff und sieh nach, welchem Teil der Tabelle jedes Wort aus dem logischen Modell entspricht.

Logisches Modell (ERD)

Mitarbeiter

PKMitarbeiternr.

Name

Abteilungscode

Gehalt

Physisches Modell (Tabelle) und Daten

PKEMP_NONAMEDEPT_CODESALARY
101AnnaD10300
102BenD10250
103ClaraD20400
104DavidD20350

Entität = Tabelle

Begriff

Wähl einen Begriff. Die grüne Markierung zeigt, wo dieses Wort aus dem logischen Modell in der Tabelle landet.

Die Menge der Dinge, die das Geschäft verwalten muss. Die Entität „Mitarbeiter“ ist nicht eine einzelne Person, sondern der Name für alle Mitarbeitenden zusammen. Im physischen Modell wird sie zur Tabelle.

Auch Attribute teilt man nach mehreren Kriterien ein.

KriteriumEinteilungBeschreibung
EigenschaftBasisattributEin Wert, den das Geschäft ohnehin verwendet – Name, Bestelldatum
EntwurfsattributEin Wert, der beim Entwurf neu geschaffen wird – Produktcode, laufende Nummer
Abgeleitetes AttributEin aus anderen Attributen berechneter Wert – Bestellsumme. Kann vom Ursprungswert abweichen, deshalb so wenige wie möglich
AufbauPK-Attribut / FK-Attribut / NichtschlüsselattributIst es ein Identifikator, kommt es aus einer anderen Entität oder keins von beidem?
Teilbar?Einfaches / zusammengesetztes AttributEin Teil wie das Alter / mehrere Teile wie die Adresse (Straße, PLZ, Ort)
Wie viele Werte?Einwertiges / mehrwertiges AttributEiner wie die Steuer-ID / mehrere wie Telefonnummern – mehrwertige Attribute als Entität auslagern

Den Bereich der Werte, die ein Attribut annehmen kann, nennt man Domäne. Du legst ihn über Datentyp, Größe und Constraints fest. Die Domäne von „Punktzahl“ ist zum Beispiel eine ganze Zahl von 0 bis 100.

Steht in der Frage … → wähle das

  • “Ein Objekt, von dem es nur eine Instanz gibt”Wird keine Entität
  • “Entität mit physischer Form wie Mitarbeiter oder Ware”Materielle Entität
  • “Entität, die bei der Geschäftstätigkeit entsteht, wie Bestellung oder Rechnung”Ereignisentität
  • “Entität, die ohne andere Entitäten aus sich selbst entsteht”Basisentität (Schlüsselentität)
  • “Entität aus zwei oder mehr Eltern, die ständig wächst”Aktionsentität
  • “Aus anderen Attributen berechnetes Attribut”Abgeleitetes Attribut – wegen der Konsistenz minimieren
  • “Attribut mit mehreren Werten wie Telefonnummern”Mehrwertiges Attribut → als Entität auslagern
  • “Wertebereich eines Attributs”Domäne

Nur mit Pro

Bis hierhin ist der Guide kostenlos

Die übrigen 3 Kapitel sind für Pro-Abonnenten freigeschaltet. Jedes bringt weitere 3D-Grafiken und „Steht in der Frage …“-Hinweise, und im letzten Kapitel prüfst du dein Wissen selbst.

  1. 03Beziehungen und Identifikatoren
  2. 04Normalisierung
  3. 05Denormalisierung und weitere Überlegungen zum Modell

Anzeige

PasslyExam

Du kennst jetzt das Konzept. Teste es an Prüfungsfragen

PasslyExam bietet eigene Übungsfragen, Erklärungen und vollständige Probeprüfungen, die sich am offiziellen Prüfungsleitfaden jeder Zertifizierung orientieren. Die Erklärungen zeigen, warum die richtige Antwort stimmt und warum ähnlich klingende Optionen falsch sind. Registriere dich und übe jeden Tag kostenlos.

Weitere Guides zu diesem Thema

Guides zu anderen Themen

Alle Konzept-Guides ansehen