Fachliches Modell mit ER-Diagrammen (auch ERM – Entity Relationship Model)
Dieser Beitrag richtet sich an Anfänger (z.B. Azubis) und behandelt typische Inhalte aus dem Grundstudium der Informatik. Dabei steht vor allem die praktische Anwendung im Vordergrund.
Der erste Schritt bei der Datenmodellierung bzw. der Entwicklung eines relationalen Datenmodells ist die Herleitung eines speziellen konzeptuellen Datenmodells. Das konzeptuelle Datenmodell leitet sich aus der Sicht einer Fachabteilung, oder eben allgemeiner, eines Problembereichs her. Es erfolgt also eine erste formale Analyse und Beschreibung aus der fachlichen Perspektive. Hierbei dient das Entity-Relationship-Model als formale Methode zur Beschreibung der Analyseergebnisse, dessen Grundzüge im Folgenden an einem Beispiel erläutert werden sollen. In weiteren Beiträgen wird dann die Überführung in das logische Datenbankmodell (relationales Datenmodell) thematisiert, welches wiederum direkt in konkrete Tabellen überführt werden kann, z.B. in einer Datenbank eines MySQL Servers.

Elementtypen des Entity-Relationship-Modells
Im Wesentlichen besteht ein ER-Modell aus drei zentralen Modellelementen bzw. Elementtypen. Diese Typen finden sich in allen Verfahren zur Datenmodellierung. Damit stellt das ERM ein Metamodell dar, welches auch in Datenbeschreibungssprachen wie UML (Unified Modeling Language) zu finden ist. Es werden
- Entitätstypen (Objekte, Klassen)
- Beziehungstypen (Beziehungen zwischen Entitäten)
- Attribute/Eigenschaften
unterschieden.
Entitäten und Entitätstypen
Entitäten entsprechen einem Objekt des Problembereichs. Sie sind eindeutig beschreibbar und von allen anderen Entitäten unterscheidbar. Entitäten können sowohl physische als auch immaterielle Objekte sein. Eine Klasse die nur Instanzattribute enthält, z.B. in Java oder auch C#, ist im Grunde vergleichbar mit einem Entitätstypen, wobei die Entität nicht über Methoden verfügt, also nur den datentechnischen Aspekt berücksichtigt.
Entitätstypen stellen die Abstraktion gleichartiger Entitäten zu einer Klasse von Entitäten dar (wie die Klasse in der Objektorientierung/OOP). Die Entität wiederum ist eine konkrete Ausprägung eines Entitätstyps. Der Entitätstyp „novaCapta Mitarbeiter“ kann zum Beispiel eine Entität „Donald Duck“ haben (kommt auf die Kreativität der Eltern des Mitarbeiters an).
Der Entitätstyp stellt also immer eine Abstraktion bzw. Verallgemeinerung der zugehörigen Entitäten dar. Die Entitätsmenge hingegen ist die Menge aller möglichen Ausprägungen eines Entitätstyps. Symbol im ER-Diagramm ist das Rechteck.

Attribute
Attribute legen die Merkmale von Entitätstypen fest. Hierbei wird der Wertebereich jedoch (noch) nicht berücksichtigt. Attribute oder Kombinationen von Attributen, die eine Entität eindeutig identifizieren, sind Primärschlüsselkandidaten und werden unterstrichen. Ferner unterscheidet man atomare, zusammengesetzte und abgeleitete Attribute. Das Attribut „Adresse“ kann sich z.B. aus „Strasse“, „Hausnummer“ und „PLZ“ zusammensetzen. Hat ein Entitätstyp „Mitarbeiter“ die Attribute „Alter“ und „Geburtstag“, wäre „Alter“ ein abgeleitetes Attribut, da es sich über den Geburtstag ableiten lässt.
Es gilt auch zu beachten, dass in ER-Diagrammen auch Attribute mit Mehrfachwerten zugelassen sind. Ein konkretes Beispiel wäre ein Kunde mit mehreren Lieferadressen. Symbol für das Attribut ist das abgerundete Rechteck.

Beziehungen und Beziehungstypen
Zwischen Entitäten bestehen in der Regel Beziehungen (Beziehungsausprägungen, Beziehungsinstanzen), die sich aus der Problemstellung (Diskurswelt) und der jeweiligen Aufgabenstellung ableiten.
Gleichartige Beziehungen zwischen gleichartigen Entitäten werden zu Beziehungstypen zusammengefasst (z.B. Angestellter – leitet – Projekt).
Beziehungstypen können ebenfalls eigene Attribute / Eigenschaften haben. Das Symbol für Beziehungstypen ist die Raute.

Kardinalitätsverhältnisse von Beziehungstypen
Das Kardinalitätsverhältnis eines Beziehungstyps zwischen zwei Entitätstypen A und B definiert, in welchen Mengen die Entitäten der beiden Typen miteinander in Beziehung stehen können. Man unterscheidet folgende Kardinalitätsverhältnisse:
- 1:1 Beziehung
Eine Entität aus A kann zu einem Zeitpunkt immer genau einer Entität aus B zugeordnet sein - 1:N Beziehung
Einer Entität aus A kann zu einem Zeitpunkt immer eine oder mehrere Entitäten aus B zugeordnet sein. Einer Entität aus B kann hingegen immer nur eine Entität aus A zugeordnet sein. - N:M Beziehung
Einer Entität aus A kann eine oder mehrere Entitäten aus B zugeordnet werden, einer Entität aus B kann eine oder mehrere Entitäten aus A zugeordnet sein.

Weitere strukturelle Bedingungen
Die Kardinalitätsverhältnisse legen nicht fest, ob eine Entität mit einer anderen zwingend in Beziehung stehen muss. Man Unterschiedet hierbei die totale / verbindliche und die partielle / optionale Teilnahmebedingung.
Für eine exakte Spezifikation werden deshalb strukturelle Bedingungen angegeben, die einen genauen Zahlenbereich festlegen, der für jede Entität die minimale und maximale Anzahl von Entitäten in der Beziehung festlegt. Die vollständige Partizipation an einem Beziehungstyp besteht genau dann, wenn der Minimalwert größer als Null ist. Die Darstellung der Teilnahmebedingung für die vollständige Partizipation erfolgt im ER-Diagramm, indem der Entitäts- und Beziehungstyp mit einer doppelten Linie verbunden werden. Die partielle Partizipation (optionale Teilnahme) wird durch die Verbindung mit einer einfachen Linie dargestellt. Oft werden die Kardinalitätsverhältnisse auch mit einem zusätzlichen c versehen, um eine optionale Teilnahme darzustellen (z.B. 1:c oder 1:mc).
Es gibt sogenannte schwache Entitätstypen, die nicht sinnvoll für sich alleine stehen können. Sie sind auf Beziehungen zu anderen Entitätstypen angewiesen. Die Entitätstypen von denen sie abhängen werden starke oder identifizierende Entitätstypen genannt. Ein Beispiel hierfür wäre Bestellung und Bestellungsposition / Artikel. Ein Artikel kann nur sinnvoll im Rahmen einer Bestellung stehen, wobei die Bestellung der identifizierende Entitätstyp ist. Häufig erkennt man schwache Entitätstypen daran, dass sie keinen eigenen Schlüsselkandidaten oder denselben Schlüssel wie ein anderer Entitätstyp besitzen. Die Beziehungen, über die schwache und starke Entitätstypen miteinander verbunden sind, werden identifizierende Beziehungstypen genannt.

Modellierung – Vorgehensweise
Grobentwurf
- Erstellung eines groben ER-Diagrammes anhand Problemstellung
- Darstellung von Beziehungen durch einfache Linien, die mit der Beziehungsart beschriftet werden
- Attribute werden zunächst vernachlässigt
Verfeinerung des Modells (Feindatenmodellierung)
- Beziehungstypen werden definiert
- Attribute für Entitätstypen und Beziehungstypen werden definiert
- Kardinalitäten und strukturelle Bedingungen in den Beziehungstypen werden ergänzt
Ausblick
Die besprochenen Modellierungskonzepte reichen zur Darstellung vieler Datenbankschemata in traditionellen Datenbankanwendungen aus. Natürlich gibt es zunehmend Systeme mit weit komplexeren Anforderungen (Data Mining, Data Warehousing…). Zur exakten Darstellung der Anforderungen dieser Systeme werden erweiterte Modellierungskonzepte benötigt. Für eine tiefergehende Darstellung der Inhalte sowie weiterführender Modellkonzepte sei an dieser Stelle auf Grundlagen von Datenbanksystemen (R. Elmasri, S. B. Navathe; Addison-Wesley; 2002) verwiesen. Von Interesse sind hierbei EER Modelle (Enhanced-ER) und ferner die Konzepte der Objektmodellierung (UML), welche nicht nur die reine Datensicht, sondern auch die funktionalen Anforderungen betrachten (Operationen auf Objekten).
Quellen: Prof. Dr. Robert Grebner, Skriptum Datenbanken I; HAW Würzburg/Schweinfurt; 2012
Grundlagen von Datenbanksystemen; R Elmasri, S. B. Navathe; Addison-Wesley; 2002
Erfahren Sie mehr

Tipps und Tricks mit Entity Framework

CQRS in ASP.Net MVC mit Entity Framework

Spaltenformatierung in SharePoint: Column formatting vs. JS

Xamarin – plattformübergreifende App-Entwicklung

Administrationstiefe von IAM-Systemen

Nutzung der SharePoint REST API mit Microsoft Flow

GraphQL – Die Alternative zu REST

Multi Factor Authentication (Azure und SharePoint)

Der wiederholte Bereich in Nintex Forms

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 2

Grundlagen der Gestaltung

Was kann der neue Office 365 Planner – und was kann er nicht

Zentralisiertes Logging – Simpler Logging-Stack mit Graylog

Migration IBM Lotus Notes zu Microsoft SharePoint

Warum ist Inline-CSS und JavaScript-Code so schlecht?

CIAM als wertvolle Unterstützung im digitalen Vertrieb

DynamoDB starten: Einblicke in AWS Key-Value Datenbank 2

Initiativbewerbung

Operationalisierung von Data Science (MLOps)

Microsoft Teams: mehr als Videotelefonie und Chat

Was Sie beim nächsten IT-Projekt beachten sollten

Ohne Programmierkenntnisse zum Entwickler werden

Die Awareness kommt mit dem ersten Cyberangriff

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 3

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 1

Qualitätsmanagement - Dokumentation verwalten mit SharePoint

Angular Route-Guards

Die Bedeutung einer Governance

Hat Ihr Unternehmen einen Informations-Lebenszyklus?

SharePoint und Informationsarchitektur – worauf kommt es an?

Teams Extensions – Erstellen von Erweiterungen für Teams

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

SharePoint Framework Client-Side Webparts mit React

Handlebars.js – Semantische Template Library

Braucht man wirklich jQuery?

Vorgesetzte in Nintex per LDAP-Abfrage ermitteln

Gefilterte Ansicht über Unterschiede in mehreren Spalten

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 4

Struktureller Aufbau eines Angular Modules

Angular 5 Custom Filter in Angular Material Data-Table

Change Management in IT-Projekten

Farben zur Optimierung des SharePoint-Kalender

Corporate News – Das zentrale Medium interner Kommunikation

SharePoint vs. TYPO3 – Sechs Gründe für SharePoint-Intranet

Was ist Application Lifecycle Management (ALM)?

Fünf Tipps für mehr SharePoint-Adoption in Unternehmen

Produktiver lernen mit SharePoint

Fünf Tipps für eine verbesserte Software-Adoption

Drei Tipps für mehr SharePoint-Begeisterung

Anhänge nach Datentyp in PowerApps einschränken

Testen von Angular Anwendungen mit Cypress

PDF-Konverter in Power Automate

Umfragen in Teams mit Microsoft Forms

Cloud Sustainability als umweltbewusste Revolution

Self Sovereign Identity - Identitäten im digitalen Zeitalter

Effiziente DevOps-Teams: Teamschnitte und Kommunikation

DynamoDB starten: Einblicke in AWS Key-Value Datenbank 1

Knowledge Management erfolgreich aufbauen

Arbeitsgewohnheiten analysieren mit Viva Insights

Krisenbewältigung & Aufbau einer nachhaltigen Zukunft mit KI

Flexibilität bei der Datenauswertung eines Freizeitparks

Digitaler Wandel in der Öffentliche Verwaltung

FinOps Microsoft – Microsoft Cloud Kostenoptimierung

FinOps – Was ist das?

Edge Computing

Anwendungen mit Application Modernization optimieren

Mit Requirement Engineering alle Anforderungen kennen

Enterprise Architecture Management Consulting

Innere und äußere Sicherheit

Mit dem Portal switchh smarter unterwegs

HCL Digital Xperience

Hybrid Cloud

Cloud Integration am Beispiel E-Commerce

Digitalisierung der Energiebranche

Application Development für Individualsoftware

FinOps Consulting

Unser Vorgehen bei EAI

GPT in Kombination mit Microsoft Services

DORA-Compliance: Was Finanzunternehmen jetzt wissen müssen

Amazon EC2: Performance richtig messen und optimieren!

API Maturity: Wie reif sind unsere Schnittstellen?

Insight Essentials (Data Center)

Asset Management Essent. in Jira Service Management (Cloud)

Graphentechnologie

HCL Update: Diese Verbesserungen bringt HCL Domino 14

"DevOps, quo vadis?" – Team Topologien

Shopware auf der Überholspur

Identity Provider – ein Schlüssel für viele Schlösser

ChatGPT & Co: Dezember-Benchmarks für Sprachmodelle

Confluence Grundlagen für Anwender (Cloud)

Wieso braucht es Change Management?
