Blue sky and clouds

Grundlagen der Datenmodellierung

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.​

Beispiel ER-DiagrammAbb.1 – Beispiel ER-Diagramm
Abb.1 – Beispiel ER-Diagramm

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.

Symbol für EntitätstypenAbb.2 – Symbol für Entitätstypen
Abb.2 – Symbol für Entitätstypen

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.

Symbol für AttributeAbb.3 – Symbol für Attribute
Abb.3 – Symbol für Attribute

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.

Symbol für BeziehungstypenAbb.4 – Symbol für Beziehungstypen
Abb.4 – Symbol für Beziehungstypen

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.
Beispiel Ausprägungsmenge eines ER-DiagrammsAbb.5 – Beispiel Ausprägungsmenge eines ER-Diagramms
Abb.5 – Beispiel Ausprägungsmenge eines ER-Diagramms

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.

ER-Diagramm SymboleAbb.6 – ER-Diagramm Symbole
Abb.6 – ER-Diagramm Symbole

Modellierung – Vorgehensweise

Grobentwurf

  1. Erstellung eines groben ER-Diagrammes anhand Problemstellung
  2. Darstellung von Beziehungen durch einfache Linien, die mit der Beziehungsart beschriftet werden
  3. Attribute werden zunächst vernachlässigt

Verfeinerung des Modells (Feindatenmodellierung)

  1. Beziehungstypen werden definiert
  2. Attribute für Entitätstypen und Beziehungstypen werden definiert
  3. 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

novaCapta
Michael SonntagBlog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Tipps und Tricks mit Entity Framework

In diesem Blogbeitrag möchte ich einige Tipps und Tricks rund um Entity Framework mit euch teilen. In allen Beispielen gehen wir vom Code-First Ansatz aus.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

CQRS in ASP.Net MVC mit Entity Framework

Die Entwicklung von Anwendungen in einem mehrschichtigen Aufbau hat sich etabliert. Design Patterns wie MVC schaffen Lösungen.

novaCapta
Kathrin HeinrothBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Spaltenformatierung in SharePoint: Column formatting vs. JS

Eine Gegenüberstellung der Spaltenformatierung von JSLink zu der neueren Methode Column formating in Office 365.

novaCapta
Blog
Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog

Xamarin – plattformübergreifende App-Entwicklung

Xamarin ist eine übergreifende Entwicklungsplattform, die die Welten zusammenführt und die bislang erforderliche Mehrarbeit weitgehend überflüssig macht.

novaCapta
Julius ElsnerBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Nutzung der SharePoint REST API mit Microsoft Flow

Durch Zugriffe über die REST API lassen sich viele Vorgänge mit Microsoft Flow automatisieren.

novaCapta
Michael SonntagBlog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

GraphQL – Die Alternative zu REST

GraphQL ist eine Abfragesprache für APIs zur Ausführung von Abfragen mit Hilfe eines für die Daten definierten Typensystems. In dieser kleinen Blog-Serie schauen wir uns einfache Queries und Mutations an.

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Multi Factor Authentication (Azure und SharePoint)

Microsoft führt mit der Multi Faktor Authentisierung (MFA) eine weitere und kostenlose Authentifizierungsebene zu in Office 365 hinzu.

novaCapta
Lösung
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Lösung

Knowledge Management erfolgreich aufbauen

Was genau beinhaltet Knowledge Management und was hat das mit profitablen Unternehmen zu tun? Wir unterstützen Sie mit unserem Fachwissen gerne dabei, eine optimal auf Ihr Unternehmen abgestimmte, lebendige Wissensplattform zu erstellen.

novaCapta
Blog
News der novaCapta
Blog

Der wiederholte Bereich in Nintex Forms

Nintex für Fortgeschrittene

novaCapta
Leistung
Person in grauen Jeans mit Surface-Gerät
Leistung

Unser Vorgehen bei EAI

Eine bunte Mischung an Software-Applikationen, die an unterschiedlichsten Stellen miteinander kommunizieren und gemeinsam Daten nutzen – Enterprise Application Integration (EAI) ist deshalb in großen IT-Umgebungen ein zentrales Thema

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 2

Dieser Teil der Artikelserie befasst sich mit der Anwendung von den Microsoft RMS in der Praxis.

novaCapta
Leistung
Business woman talking on a phone call in a coworking office
Leistung

GPT in Kombination mit Microsoft Services

GPT-Modelle bergen für Unternehmen ein erhebliches Potenzial zur Optimierung von Abläufen. Wir beraten Sie, wie Sie (individuelle) GPT-Modelle in Ihrem Unternehmen nutzen können, um die Effizienz zu steigern, Kosten zu senken und innovative Lösungen für Ihre geschäftlichen Herausforderungen zu finden.

novaCapta
Blog
Close up of female hands while typing on laptop
Blog

Grundlagen der Gestaltung

Die Gestaltgesetze der Wahrnehmungspsychologie

novaCapta
Blog
Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog

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

„Office 365 Planner“ ist das neue Tool von Microsoft, mit dem sich Zusammenarbeit und Aufgabenverteilung in Teams organisieren lässt. Was kann der neue Office 365 Planner – und was kann er nicht

novaCapta
Blog
News der novaCapta
Blog

Zentralisiertes Logging – Simpler Logging-Stack mit Graylog

Logging ist ein komplexes und doch essenzielles Thema. Gute Logs vereinfachen einem Supporter die Arbeit und ermöglichen es, Probleme schneller einzugrenzen.

novaCapta
Blog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

Migration IBM Lotus Notes zu Microsoft SharePoint

Eine Migration von Lotus Notes/Domino nach SharePoint/Exchange besteht grundsätzlich aus mindestens zwei Bereichen.

novaCapta
Andy KurzBlog
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog

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

Warum der Einsatz von Inline-CSS bzw. JavaScript-Code schlecht ist, da Dinge wie Caching, DRY-Prinzip, Wartbarkeit und Media-Queries gänzlich außer Acht gelassen werden.

novaCapta
Leistung
Pretty designer in casualwear sitting on staircase with laptop on her knees
Leistung

KI-Agents: KI-gesteuerte Prozesse im Unternehmen nutzen

Wir sind darauf spezialisiert, maßgeschneiderte KI-Anwendungen zu entwickeln, die exakt auf die individuellen Anforderungen und Bedürfnisse Ihres Unternehmens zugeschnitten sind. Wir beraten Sie gerne zu möglichen Use Cases sowie zur Konzeption und Implementierung Ihres individuellen KI-Agents.

novaCapta
Workshop
Business people having a meeting in a boardroom
Workshop

Power BI Grundlagen-Schulung

Daten sind die Grundlage unternehmerischer Entscheidungen. Mit Microsoft Power BI bleibt die Datenanalyse nicht nur Business Intelligence Expert:innen vorbehalten, sondern kann unmittelbar in den Fachbereichen erfolgen.