Fragen und durchdachte Antworten von for​you​and​your​cus​tom​ers zum Informationsmodell

Fragen und durchdachte Antworten von foryouandyourcustomers zum Informationsmodell

Mit der Methode der Informationsmodellierung können Sie die Informationsbedürfnisse einer Umgebung (Firma, Unternehmen, Organisation etc.) technologie- und prozessneutral beschreiben. Sie ist ein notwendiges Element jeder Digitalisierung. In diesem Beitrag beantwortet for​you​and​your​cus​tom​ers Ihnen grundlegende Fragen zur Übersicht, Basis, Vorgehen und Entität beim praktischen Einsatz der Informationsmodellierung. Außerdem werden häufige Fragen zu Detailelementen gestellt und beantwortet.

Was ist ein Informationsmodell? Ein Informationsmodell ist die Beschreibung aller relevanten Entitäten einer Umgebung (Miniwelt), zusammen mit ihren Attributen und Beziehungen untereinander. Es basiert auf dem relationalen Modell nach E.F. Codd. Die Beschreibung kann tabellarisch oder grafisch geschehen. Die grafische Darstellung ist besser geeignet für die Kommunikation und das Verständnis. Sie dient als eigentliche Informationslandkarte. Die tabellarische Darstellung ist notwendig, wenn die Informationen im Informationsmodell außer zur Verständigung auch für den Entwurf einer Datenbank genutzt werden sollen. 

Wie beginnen Sie die Informationsmodellierung? Bringen Sie zuerst einige wichtige Entitäten der betrachteten Miniwelt in Erfahrung. Durch 

  • Fragen,
  • Studium von Webseiten (Webshop) der Firma,
  • Studium von Dokumenten (Verkauf, Marketing, Produktbeschreibung, Listen, Katalogen, Geschäftsziele etc.).

Zeichnen Sie die Entitäten als Kästchen auf und stellen Sie Fragen nach Verbindungen zwischen den Entitäten. Prinzipiell kann jede Entität mit jeder anderen ein- oder mehrfach verknüpft sein. Zeichnen Sie alle relevanten Verbindungen ein. Fragen Sie nach weiteren Entitäten, die mit den Bestehenden in Verbindung stehen (könnten).

Wie können Sie Begriffe und Konzepte einer fremden Umgebung verstehen lernen? Am wichtigsten ist das Verständnis der Entitäten (und damit der Begriffe, die dafür verwendet werden). Was die Bedeutung einer Entität ist, erkennen Sie aus

  • der Attributliste der Entität (was sind die Eigenschaften des Dings),
  • den Schlüsselattributen der Entität (was identifiziert ein Exemplar des Dings in der Realität),
  • einigen Beispielen. Am besten sind reale Exemplare (am zweitbesten sind Bilder, am drittbesten verbale Beschreibung von Beispielen).

ACHTUNG: Der Name allein genügt nicht. Namen können in unterschiedlichen Umgebungen unterschiedliche Bedeutungen haben.

Eine Beschreibung der Methode finden Sie im Buch „Informationsmodellierung: Durch Verstehen zu besserer Software“ von Stefan Berner, welches 2016 im vdf Verlag erschienen ist.

Modellierungsworkshop

Wie klären Sie Streitfragen (Uneinigkeit unter Teilnehmenden)? Falls sich Personen nicht über die Bedeutung einig sind, sind die Entitäten so weit zu detaillieren (Beispiele, Attribute, Schlüssel, Beziehungen), dass die Unterschiede verschwinden oder erklärt werden. Falls Sie sich nicht auf einen guten, treffenden Namen einigen können, schreiben Sie alle Vorschläge auf. Dann lassen Sie die Diskussion ruhen, bis Sie weitere Fakten rund um die Entität kennen und dadurch gegebenenfalls ein neuer Name auftaucht.

Wie ist das Informationsmodell im Zusammenhang mit dem konzeptionellen, logischen und physischen Datenmodell einzustufen? Das Informationsmodell entspricht dem konzeptionellen Datenmodell (sofern dieses die rein fachliche Beschreibung der Daten enthält). Dies wird auch semantisches Datenmodell genannt. Ein logisches Datenmodell ist die Abbildung auf ein Modell für die Speicherung. Für den Fall, dass eine relationale Speicherung vorgesehen ist, braucht es im Informationsmodell nur die Definition von Datentypen für die einzelnen Domänen der Attribute. Mit einem guten Modellierungswerkzeug können viele Aspekte des logischen Modells (surrogate keys, constraints, intersection tables etc.) automatisch generiert werden. Das physische Datenmodell ergänzt das logische Modell um Speicherinformationen, Zugangspfade (Indizes) und weitere technische Aspekte.

Wie beschränken Sie die Modellierung in der Breite (scope)? Es wird nur der Informationsbedarf beschrieben, der für die Aufgaben (Prozesse) und Ergebnisse der Miniwelt notwendig sind. Betrifft die Miniwelt eine einzige Applikation oder Abteilung werden nur die dort verwendeten Informationen beschrieben. Beziehungen zu Entitäten von Umsystemen werden erfasst. Die Entitäten der Umsysteme werden aber nur soweit beschrieben, dass ihre Auswirkung oder Funktion für die betrachtete Miniwelt ersichtlich ist.

Wie beschränken Sie die Modellierung in der (Detail-)Tiefe? Für die Übersichtsbeschreibung zum Erlangen des gemeinsamen Verständnisses der Miniwelt genügen Entitäten, ihre Beziehungen und einige wichtige (deskriptive) Attribute. Wird das Informationsmodell für eine exakte Datenbeschreibung verwendet, müssen alle Attribute, alle Domänen und alle Schlüssel definiert werden. Inhaltlich wird die Analysetiefe durch die Relevanz für die Miniwelt bestimmt. Beispiel: Für eine Firma, die Firmenwagen zur Verfügung stellt, genügt es von der Entität Auto die Marke, das Kennzeichen sowie einige weitere nutzungsorientierte Attribute zu kennen. Die Entität Auto bei einem Autohersteller muss hingegen mit all seinen Komponenten, Materialien, Zertifikaten etc. beschrieben werden.

Das relationale Modell

Das relationale Modell ist ein Modell, das Prädikatenlogik und Mengenlehre verknüpft und um spezielle Regeln (Normalformen) ergänzt. Es basiert auf einer sauberen mathematischen Definition und erlaubt es, in natürlicher Sprache formulierte Aussagen der realen Welt zu formalisieren. Es wurde 1972 von E.F. Codd entwickelt und ist die am weitesten verbreitete Grundlage für die Verwaltung von Daten.

Was ist eine Relation? Im relationalen Modell ist eine Relation eine Sammlung aller wahren Aussagen (Attributwerte) über alle Exemplare (Tupel) einer Entität. Normalerweise werden Relationen als Tabellen dargestellt. Dabei entspricht eine Tabellenzeile einem Tupel (= alle Attributwerte, die für diese Entität relevant sind). Sämtliche Tupel einer Relation haben die gleiche Struktur. Eine Datenbank besteht aus einer Menge von Relationen.

Was ist ein Tupel? Ein Tupel ist die Sammlung aller Attributwerte eines Exemplars einer Entität. Die Menge aller Tupel einer Entität macht das gesamte Wissen aus, das wir über diese Entität haben. Tupel einer Entität sind in Tabellen durch Zeilen (rows) abgebildet. Zwei Tupel einer Entität müssen sich in mindestens einem Wert unterscheiden. Das heißt, es gibt keine (wert-)identischen Tupel in einer Relation (im Gegensatz zu Tabellen wie zum Beispiel: Excel, in denen es doppelte Zeilen geben kann).

Was sind Normalformen? Das relationale Modell nach Codd definiert drei Normalformen, die die Konsistenz und Minimalität eines Modells sicherstellen.

Was ist die 1. Normalform? Die 1. NF sagt aus, dass in einem Attribut nur genau eine Aussage über einen Sachverhalt gemacht werden darf. Die 1. NF schließt einerseits Wiederholungen aus ((Liste von) Vornamen), andererseits verbietet sie Codierungen von mehreren Attributwerten in einem Datenfeld (zum Beispiel hierarchisch organisierte Artikelnummern).

Was ist die 2. Normalform? Die 2. NF verlangt, dass jeder Attributwert funktional vom gesamten Schlüssel abhängig ist. Das bedeutet, dass für die Identifizierung eines Wertes die Kenntnis aller Schlüsselattributwerte notwendig ist. Beispiel: In einer Entität Rechnungsposition (mit dem Schlüssel Rechnungs-ID und Positions-Nr) würde das Rechnungs-Ausstelldatum die 2. NF verletzen, da dieses Datum allein von der Rechnungs-ID funktional abhängig ist.

Was ist die 3. Normalform? Die 3. NF verlangt, dass jeder Attributwert ausschließlich vom gesamten Schlüssel der Entität funktional abhängig ist. Abhängigkeiten zwischen 2 Nichtschlüssel-Attributen einer Entität sind durch die 3. NF ausgeschlossen. Beispiel: In einer Entität Rechnungsposition kommen die Attribute Artikel-Nr und Artikel-Name vor. Da Artikel-Name von Artikel-Nr funktional abhängig ist, wird dies durch die 3. NF ausgeschlossen.

Entität

Eine Entität ist die strukturelle Beschreibung für ein konkretes oder abstraktes Ding der Realität, über das wir in unserem betrachteten System Informationen verwalten wollen/sollen. Informationen heißt in diesem Zusammenhang: Uns interessiert der Wert von mindestens einer Eigenschaft (Attribut) des Dings. Entität wird synonym mit Entitätstyp verwendet. Die Entität beschreibt, welche Eigenschaften eines realen Dings uns interessieren, welche Beziehungen das Ding zu anderen Dingen hat und welche Eigenschaften ein Exemplar des Dings in der Realität von jedem anderen Exemplar unterscheiden.

Was ist ein guter Entitätsname? Ein Name, der beim Leser / bei der Leserin ein „Ding“ (ein reales Objekt mit Eigenschaften) assoziiert (Beispiele: Person, Vertrag, Fahrzeug). Die besten Namen sind die, die bei allen Menschen, die den Namen hören oder lesen, sofort die Assoziation bewirkt, die seiner gemeinten Bedeutung entspricht. Schlechte Namen sind die,

  • die umgangssprachlich etwas anderes bedeuten als in der Miniwelt,
  • die semantisch mehrfach belegt sind (Homonyme).

Findet sich kein guter umgangssprachlicher Name, ist ein Kunstname (meist zusammengesetzte Namen) besser als ein missverständlicher Name. Kunstnamen verursachen einen Lern- und Gewöhnungsaufwand, verleiten aber weniger zu impliziten Interpretationen und verhindern damit Missverständnisse.

Sollen Sie bestehende, häufig tief verankerte Namen weiter verwenden? Falls nach der Analyse und dem gemeinsamen Verständnis der Entität der bestehende Name passt, soll er unbedingt weiter verwendet werden. Ist der Name irreführend, nichtssagend oder verwirrend (zum Beispiel mehrfach belegt oder ein Begriff, der nicht in seiner umgangssprachlichen Bedeutung verwendet wird), soll er unbedingt geändert werden.

Was ist ein Subtyp einer Entität? Ein Subtyp einer Entität ist eine eigene Entität, die als Spezialisierung einer abstrakteren Entität verstanden werden kann. Sie unterscheidet sich durch mindestens ein Attribut (oder eine Beziehung) von den anderen Subtypen derselben Entität. Ein Subtyp kann nie allein vorkommen, das wäre die Identität mit der Superentität. Beispiele: Angestellter, Vertragsmitarbeiter, Rentner, Besitzer können alles Subtypen einer Entität Person im Umfeld einer Personalverwaltung sein.

Wann sollen Sie Entitäten zusammenfassen (generalisieren) und wann trennen (spezialisieren)? Grundsätzlich gilt: Zwei Entitäten, die sich in einem Attribut (oder einer Beziehung) unterscheiden, sind unterschiedliche Entitäten. Haben eine oder mehrere Entitäten viele gleiche Attribute oder Beziehungen, drängt sich eine Zusammenfassung (Generalisierung, Abstraktion) auf. Es empfiehlt sich, im Zweifelsfall Entitäten getrennt weiter zu analysieren. Es ist viel einfacher, zwei ähnliche Entitäten später zu fusionieren, als aus einer Superentität zwei unterschiedliche Entitäten zu extrahieren.

Was ist ein Supertyp einer Entität? Ein Supertyp ist eine Entität, die eine Abstraktion mehrerer anderer Entitäten darstellt. Abstraktion bedeutet in diesem Zusammenhang, dass die Superentität alle Eigenschaften und Beziehungen hat, die allen Subtypen (mindestens zwei) der Superentität gemeinsam sind.
Beispiel: Fahrzeug hat die Eigenschaften Reichweite, Gewicht, Räderanzahl sowie die Beziehung zu Besitzer, die allen Subtypen (Motorrad, Automobil, Bus, Fahrrad) gemeinsam sind.

Wie drückt man Rollen von Entitäten aus? Rollen von Entitäten können mit 1:1-Beziehungen ausgedrückt werden. Beispiel: Eine Person kann in einer Firma sowohl Angestellter als auch Kunde sein. Das heißt, eine Person kann keine, eine oder zwei Rollen innehaben. Man zeichnet drei Entitäten mit zwei 1:1-Beziehungen. Eine Person ist ein Angestellter und eine Person ist ein Kunde. Sind die Beziehungen optional, kann eine Person solche Rollen annehmen. Sind die Rollen exklusiv und jedes Exemplar einer Entität kann immer nur genau eine Rolle innehaben, so können Rollen als Subentitäten dargestellt werden.

Was ist der Unterschied zwischen einer Entität beziehungsweise einem Entitätstyp und einer Entitätsausprägung? Eine Entität beziehungsweise ein Entitätstyp ist die strukturelle Beschreibung des Informationsbedarfs eines realen Dinges. Beispiel: Ein Auto hat n Türen, n Räder, ein Gewicht, eine Höchstgeschwindigkeit, eine Marke, einen Besitzer etc. Eine Entitätsausprägung sind die Werte aller Attribute einer Entität für ein bestimmtes Exemplar. Beispiel: Das Auto hat 5 Türen, 4 Räder, wiegt 750 kg, fährt max. 200, ist ein VW und gehört mir.

Müssen Sie für Entitäten zwischen ihrem Typ und ihrer physischen Realisierung unterscheiden? Haben zwei Dinge unterschiedliche Schlüssel (strukturell, nicht von den Werten her), sind es unterschiedliche Entitäten. Ein Autotyp (=Modell, zum Beispiel Audi 3xT, BMW 350, VW Käfer) ist identifiziert durch seine Typenbezeichnung. Seine Eigenschaften sind Länge, Breite, Gewicht, Türenanzahl, Hersteller etc. Es ist ein abstraktes Ding, nämlich die Beschreibung eines Typs eines Autos. Ein Auto ist ein konkretes Ding auf dem Parkplatz vor dem Haus. Es wird identifiziert durch zum Beispiel eine Seriennummer, die irgendwo angebracht ist. Es „ist vom Typ“ Audi 3xT, es „gehört der Person“ Stefan, es „ist gespritzt in Farbe“ grün und hat Eigenschaften wie Verschmutzungsgrad, Rostbefall, Tankfüllstand etc. Ein Auto ist demnach eine andere Entität. Es gibt viele Autos, die vom selben Typ sind (das heißt den gleichen Autotyp haben). Falls irgendeine Eigenschaft eines konkreten Exemplars interessiert (wie zum Beispiel Tankfüllstand, Seriennr., aktueller Standort des Autos) gibt es eine Entität Auto. Sie ist natürlich mit dem Autotyp verbunden.

Domäne

Eine Domäne ist die Beschreibung einer Menge von Werten, die ein Attribut annehmen kann. Eine Domäne ist eine Definition von erlaubten Werten, die durch einen Namen abstrahiert wird. Beispiele: Positions-Nummer, ganzzahlige Werte von 0 … 1000.

Was ist ein guter Domänenname? Ein Name, der beim Leser / bei der Leserin eine Wertemenge für eine Eigenschaft eines realen Objektes assoziiert. Häufig werden Domänennamen auch als Attributnamen verwendet. Sie haben bezüglich Kommunikation die gleiche Funktion wie Attributnamen.

Was ist der Unterschied zwischen einer Domäne und einem Datentyp? Eine Domäne beschreibt die erlaubte Wertemenge für einen Attributwert. Dabei geht es um die Werte und ihre Bedeutung, nicht um die Darstellungsform. Datentypen beschreiben, wie die Werte einer Domäne technisch dargestellt oder verwaltet werden. Für die Umsetzung eines Informationsmodells in eine Datenbank, müssen für sämtliche Domänen Datentypen definiert werden. Beispiel: BOOLEAN ist die Domäne der Wahrheitswerte wahr und falsch. Der Datentyp dazu könnte zum Beispiel integer sein und die Domänenwerte werden durch die Datenwerte 0 (falsch) und 1 (wahr) repräsentiert.

Beziehung / Assoziation

Die Beziehung (auch Assoziation) genannt, verknüpft (assoziiert) zwei Entitäten semantisch. Das heißt, sie sagt aus, was die beiden Entitäten miteinander zu tun haben, in welcher Beziehung/Relation sie zueinanderstehen. Die Beziehung besteht aus einer Linie, die gestrichelt (optionale Verbindung) oder ausgezogen (zwingende Verbindung) sein kann. Die Linie endet je an einer Entität entweder mit 1 (das heißt eine Ausprägung der anderen Seite hat eine Beziehung zu max. einer Ausprägung dieser Seite) oder mit einem Krähenfuß (viele, das heißt eine Ausprägung der anderen Seite kann eine Beziehung zu beliebig vielen Ausprägungen dieser Seite haben). Die Semantik der Beziehung muss zwingend in eine Richtung (mit Vorteil in beiden Richtungen!) mit einem Verb angeschrieben sein.

Was heißt funktionale Abhängigkeit? Eine funktionale Abhängigkeit zwischen zwei Attributen besteht dann, wenn aus dem Wert des einen Attributs (Schlüssel) eindeutig auf den Wert des anderen Attributs geschlossen werden kann. Im Umfeld der Informationsmodellierung muss diese (rein strukturelle) eindeutige Beziehung für die Miniwelt eine sinnvolle Bedeutung ergeben. Dies ist dann gegeben, wenn zwischen der Entität, die durch den Schlüssel identifiziert wird und dem Attribut eine sinnvolle Beziehung besteht. Beispiel: Das Fahrzeug vom Typ VW Golf wiegt (das Leergewicht) 744 kg.

Wozu braucht es Beziehungsverben? Die Verben in den Beziehungen zwischen zwei Entitäten (Auto gehört Besitzer) sind die eigentliche Semantik einer Verbindung. Das Verb sagt aus, was die eine Entität mit der anderen zu tun hat. Diese Verben sind das Know-how, das im Modell steckt. Sie sind für das Verständnis der betrachteten Miniwelt unabdingbar. Eine Verbindung zwischen zwei Entitäten, die kein Verb hat, ist bedeutungslos. Sie sagt nur aus, dass es zwischen den Entitäten eine Verbindung gibt, was sie bedeutet bleibt unerwähnt und damit der Interpretation des Lesers, der Leserin überlassen.

Was bedeutet eine 1:1-Beziehung? Eine 1:1-Beziehung zwischen zwei Entitäten bedeutet die Identität. Die beiden Entitäten haben den gleichen Schlüssel (beziehungsweise der Schlüssel, der einen identifiziert gleichzeitig eine Ausprägung der anderen) und sind demnach dasselbe Ding. 1:1-Beziehungen sollten vermieden werden. Ausnahmen:

  • Rollen können als 1:1-Beziehung zu einer Entität dokumentiert werden (Person ist Angestellter, Person ist Kunde).
  • Zur Verdeutlichung von Unterschieden (zum Beispiel organisatorischer oder prozessorientierter Art) möchte man zwei Entitäten benennen. Beispiel: Produktionsartikel – Verkaufsartikel

Warum darf der Beziehungstext zwischen Entitäten kein Substantiv enthalten? Ein Substantiv in einer Beziehung deutet auf eine mögliche transitive Beziehung hin. Das heißt, es wird eine Entität über eine zweite Entität mit einer dritten verknüpft. Beispiel: Kundenberater erreicht per E-Mail einen oder mehrere Kunden. Falls kein sinnvolles Verb für eine direkte Beziehung zwischen 2 Entitäten gefunden wird, gibt es keine Beziehung.

Was sind gute Beziehungsphrasen (Verben)? Gute Beziehungsphrasen sind Verben, die möglichst genau und eng einen Sachverhalt ausdrücken. Da die Informationen über ein System immer einen statischen Zustand ausdrücken, sollten alle Beziehungen Zustandsverben (beziehungsweise in einer grammatikalischen Form, die eher einen Zustand ausdrückt) sein (zum Beispiel besteht aus, kennt, basiert auf).

Was sind schlechte Beziehungsphrasen (Verben)? Am schlechtesten sind keine Verben. Danach kommen alle Verben, die den Zustand der Verbindung ausdrücken (verbunden mit, gehört zu etc.). Weiter sind Verben zu vermeiden, die allgemeingültig sind beziehungsweise viele Bedeutungen haben können (zum Beispiel ist, hat etc.).

Wann müssen m:n Beziehungen in Zwischentabellen aufgelöst werden? Das relationale Modell kennt keine n:m-(viele zu viele)-Verbindungen. Es können nur funktionale Beziehungen (m:1 oder 1:1) umgesetzt werden. Beim Übergang vom Informationsmodell zum logischen oder physischen Modell müssen alle n:m-Beziehungen durch sogenannte Zwischentabellen (intersection tables) aufgelöst werden. Auf der Ebene des Informationsmodells genügt häufig die Information, dass zwei Entitäten n:m verknüpft sind. Die Auflösung ist ein Arbeitsschritt, der automatisch durchgeführt werden kann. Gute Modellierungswerkzeuge leisten das. Falls Sie im Informationsmodell Attribute interessieren, die zur Zwischentabelle gehören, muss diese erstellt werden. Sie ersetzt die n:m-Beziehung.

Kann eine Beziehung mehr als 2 Entitäten verbinden? Nein. 
Das relationale Modell kennt nur Verbindungen zwischen 2 Entitäten. Einige Modellsprachen lassen Mehrfachverbindungen zu. Diese können einfach in  Beziehungen zwischen 2 Entitäten aufgelöst werden.

Die Syntax und ein Beispiel zum Informationsmodell steht Ihnen hier zur Verfügung.

Haben Sie weitere Fragen? Stellen Sie sie. Treten Sie mit mir in Kontakt, teilen Sie Ihre Erfahrungen mit mir. 




Weitere Magazinbeiträge zu Informationsmodellierung