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.
| Phase | Was passiert | Merkmale |
|---|---|---|
| Konzeptionelle Modellierung | Die zentralen Entitäten und ihre Beziehungen im gesamten Geschäft finden | Höchster Abstraktionsgrad. Das große Bild aus Sicht des ganzen Unternehmens |
| Logische Modellierung | Schlüssel, Attribute und Beziehungen genau festlegen und normalisieren | Unabhängig vom konkreten DBMS. Am besten wiederverwendbar |
| Physische Modellierung | Tabellen, Spaltentypen und Indizes passend zum tatsächlichen DBMS festlegen | Berü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.
| Ebene | Aus wessen Sicht | Beschreibung |
|---|---|---|
| Externes Schema | Benutzer und Anwendungen | Nur der Teil, den jeder braucht, als eigene Sicht (View). Es kann mehrere geben |
| Konzeptionelles Schema | Die ganze Organisation | Alle Daten und Beziehungen in einem Gesamtbild vereint. Davon gibt es genau eins |
| Internes Schema | Speichermedium | Wie 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:
- Entitäten zeichnen
- Entitäten sinnvoll anordnen – wichtige Entitäten nach links oben
- Beziehungen zwischen den Entitäten ziehen
- Beziehungsnamen eintragen
- Eintragen, wie viele an der Beziehung beteiligt sind (eins oder viele)
- 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.
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.
| Kriterium | Einteilung | Beispiele |
|---|---|---|
| Hat sie eine Form? | Materielle Entität – hat eine physische Form | Mitarbeiter, Produkt, Lehrkraft |
| Konzeptionelle Entität – keine Form, aber ein Begriff, der verwaltet wird | Organisation, Versicherungsprodukt | |
| Ereignisentität – entsteht bei der Geschäftstätigkeit | Bestellung, Rechnung, Kursanmeldung | |
| Wann entsteht sie? | Basisentität (Schlüsselentität) – entsteht aus sich selbst, ohne andere Entitäten | Kunde, Produkt, Abteilung |
| Hauptentität – entsteht aus Basisentitäten und steht im Zentrum des Geschäfts | Bestellung, Vertrag | |
| Aktionsentität – entsteht aus zwei oder mehr Eltern, ändert sich oft und wächst stark | Bestellposition, Ä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_NO | NAME | DEPT_CODE | SALARY |
|---|---|---|---|
| 101 | Anna | D10 | 300 |
| 102 | Ben | D10 | 250 |
| 103 | Clara | D20 | 400 |
| 104 | David | D20 | 350 |
Entität = Tabelle
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.
| Kriterium | Einteilung | Beschreibung |
|---|---|---|
| Eigenschaft | Basisattribut | Ein Wert, den das Geschäft ohnehin verwendet – Name, Bestelldatum |
| Entwurfsattribut | Ein Wert, der beim Entwurf neu geschaffen wird – Produktcode, laufende Nummer | |
| Abgeleitetes Attribut | Ein aus anderen Attributen berechneter Wert – Bestellsumme. Kann vom Ursprungswert abweichen, deshalb so wenige wie möglich | |
| Aufbau | PK-Attribut / FK-Attribut / Nichtschlüsselattribut | Ist es ein Identifikator, kommt es aus einer anderen Entität oder keins von beidem? |
| Teilbar? | Einfaches / zusammengesetztes Attribut | Ein Teil wie das Alter / mehrere Teile wie die Adresse (Straße, PLZ, Ort) |
| Wie viele Werte? | Einwertiges / mehrwertiges Attribut | Einer 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.
- 03Beziehungen und Identifikatoren
- 04Normalisierung
- 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.