Datenmodellierung
Was ist Datenmodellierung?
Datenmodellierung ist der Prozess der Erstellung einer visuellen Darstellung eines gesamten Informationssystems oder von Teilen davon, um Verbindungen zwischen Datenpunkten und Strukturen zu kommunizieren. Ziel ist es, die im System verwendeten und gespeicherten Datentypen, die Beziehungen zwischen diesen Datentypen, die Art und Weise, wie die Daten gruppiert und organisiert werden können, sowie ihre Formate und Attribute zu veranschaulichen.
Datenmodelle basieren auf Geschäftsanforderungen. Regeln und Anforderungen werden im Voraus durch Feedback von Geschäftsakteuren definiert, damit sie in das Design eines neuen Systems einfließen oder in der Iteration eines bestehenden Systems angepasst werden können.
Daten können auf verschiedenen Abstraktionsebenen modelliert werden. Der Prozess beginnt mit dem Sammeln von Informationen über Geschäftsanforderungen von Stakeholdern und Endbenutzern. Diese Geschäftsregeln werden dann in Datenstrukturen übersetzt, um ein konkretes Datenbankdesign zu formulieren. Ein Datenmodell kann mit einer Roadmap, dem Entwurf eines Architekten oder einem beliebigen formalen Diagramm verglichen werden, das ein tieferes Verständnis dessen ermöglicht, was entworfen wird.
Die Datenmodellierung verwendet standardisierte Schemata und formale Techniken. Dies bietet eine gemeinsame, konsistente und vorhersehbare Methode zum Definieren und Verwalten von Datenressourcen in einer Organisation oder sogar darüber hinaus.Im Idealfall sind Datenmodelle lebende Dokumente, die sich mit den sich ändernden Geschäftsanforderungen weiterentwickeln. Sie spielen eine wichtige Rolle bei der Unterstützung von Geschäftsprozessen und der Planung von IT-Architektur und -Strategie. Datenmodelle können mit Anbietern, Partnern und /oder Branchenkollegen geteilt werden.
Arten von Datenmodellen
Wie jeder Entwurfsprozess beginnt das Datenbank- und Informationssystemdesign auf einem hohen Abstraktionsniveau und wird immer konkreter und spezifischer. Datenmodelle lassen sich generell in drei Kategorien einteilen, die sich je nach Abstraktionsgrad unterscheiden. Der Prozess beginnt mit einem konzeptionellen Modell, entwickelt sich zu einem logischen Modell und endet mit einem physischen Modell. Jede Art von Datenmodell wird im Folgenden näher erläutert:
- Konzeptionelle Datenmodelle. Sie werden auch als Domänenmodelle bezeichnet und bieten einen umfassenden Überblick darüber, was das System enthalten wird, wie es organisiert wird und welche Geschäftsregeln beteiligt sind. Konzeptionelle Modelle werden in der Regel im Rahmen der Erfassung der anfänglichen Projektanforderungen erstellt. In der Regel umfassen sie Entitätsklassen (die die Arten von Dingen definieren, die für das Unternehmen wichtig sind, um sie im Datenmodell darzustellen), ihre Eigenschaften und Einschränkungen, die Beziehungen zwischen ihnen und die relevanten Sicherheits- und Datenintegritätsanforderungen. Jede Notation ist normalerweise einfach.
- Logische Datenmodelle. Sie sind weniger abstrakt und bieten mehr Details zu den Konzepten und Beziehungen in der betrachteten Domäne. Eines von mehreren formalen Datenmodellierungsnotationssystemen wird befolgt. Diese geben Datenattribute an, wie z. B. Datentypen und ihre entsprechenden Längen, und zeigen die Beziehungen zwischen Entitäten an. Logische Datenmodelle spezifizieren keine technischen Systemanforderungen. Diese Phase wird in agilen oder DevOps-Praktiken häufig ausgelassen. Logische Datenmodelle können in stark prozeduralen Implementierungsumgebungen oder für Projekte nützlich sein, die von Natur aus datenorientiert sind, z. B. beim Data Warehouse-Design oder bei der Entwicklung von Berichtssystemen.
- Physikalische Datenmodelle. Sie bieten ein Schema dafür, wie die Daten physisch in einer Datenbank gespeichert werden. Als solche sind sie die am wenigsten abstrakten von allen. Sie bieten ein endgültiges Design, das als relationale Datenbank implementiert werden kann, einschließlich assoziativer Tabellen, die die Beziehungen zwischen Entitäten sowie die Primärschlüssel und Fremdschlüssel veranschaulichen, die zur Aufrechterhaltung dieser Beziehungen verwendet werden. Physische Datenmodelle können DBMS-spezifische Eigenschaften (Database Management System) enthalten, einschließlich Leistungsoptimierung.
Datenmodellierungsprozess
Als Disziplin lädt die Datenmodellierung die Stakeholder ein, die Datenverarbeitung und -speicherung sorgfältig zu bewerten. Datenmodellierungstechniken haben unterschiedliche Konventionen, die vorschreiben, welche Symbole zur Darstellung der Daten verwendet werden, wie Modelle angelegt werden und wie Geschäftsanforderungen übermittelt werden. Alle Ansätze bieten formalisierte Workflows, die eine Abfolge von Aufgaben enthalten, die iterativ ausgeführt werden müssen. Diese Workflows sehen im Allgemeinen folgendermaßen aus:
- Identifizieren Sie die Entitäten. Der Prozess der Datenmodellierung beginnt mit der Identifizierung der Dinge, Ereignisse oder Konzepte, die in dem zu modellierenden Datensatz dargestellt werden. Jede Entität sollte zusammenhängend und logisch von allen anderen getrennt sein.
- Kennzeichnen Sie die Schlüsseleigenschaften jeder Entität. Jeder Entitätstyp kann von allen anderen unterschieden werden, da er über eine oder mehrere eindeutige Eigenschaften verfügt, die als Attribute bezeichnet werden. Zum Beispiel könnte eine Entität namens „Kunde“ solche Attribute wie Vorname, Nachname, Telefonnummer und Anrede besitzen, während eine Entität namens „Adresse“ einen Straßennamen und eine Nummer, eine Stadt, ein Bundesland, ein Land und eine Postleitzahl enthalten könnte.
- Beziehungen zwischen Entitäten identifizieren. Der früheste Entwurf eines Datenmodells legt die Art der Beziehungen fest, die jede Entität zu den anderen hat. Im obigen Beispiel „wohnt“ jeder Kunde an einer Adresse. Wenn dieses Modell um eine Entität namens „Bestellungen“ erweitert würde, würde jede Bestellung auch an eine Adresse versendet und in Rechnung gestellt. Diese Beziehungen werden in der Regel über Unified Modeling Language (UML) dokumentiert.
- Ordnen Sie Attribute vollständig Entitäten zu. Dadurch wird sichergestellt, dass das Modell widerspiegelt, wie das Unternehmen die Daten verwenden wird. Mehrere formale Datenmodellierungsmuster sind weit verbreitet. Objektorientierte Entwickler wenden häufig Analysemuster oder Entwurfsmuster an, während sich Stakeholder aus anderen Geschäftsbereichen möglicherweise anderen Mustern zuwenden.
- Weisen Sie Schlüssel nach Bedarf zu und entscheiden Sie sich für einen Normalisierungsgrad, der die Notwendigkeit, Redundanz zu reduzieren, mit den Leistungsanforderungen in Einklang bringt. Normalisierung ist eine Technik zum Organisieren von Datenmodellen (und den Datenbanken, die sie darstellen), in denen numerische Bezeichner, sogenannte Schlüssel, Datengruppen zugewiesen werden, um Beziehungen zwischen ihnen darzustellen, ohne die Daten zu wiederholen. Wenn beispielsweise jedem Kunden ein Schlüssel zugewiesen wird, kann dieser Schlüssel sowohl mit seiner Adresse als auch mit seiner Bestellhistorie verknüpft werden, ohne dass diese Informationen in der Tabelle der Kundennamen wiederholt werden müssen. Die Normalisierung verringert tendenziell den Speicherplatz, den eine Datenbank benötigt, kann jedoch die Abfrageleistung beeinträchtigen.
- Finalisieren und validieren Sie das Datenmodell. Datenmodellierung ist ein iterativer Prozess, der wiederholt und verfeinert werden sollte, wenn sich die Geschäftsanforderungen ändern.
Arten der Datenmodellierung
Die Datenmodellierung hat sich neben Datenbankmanagementsystemen weiterentwickelt, wobei die Komplexität der Modelltypen mit zunehmendem Datenspeicherbedarf der Unternehmen zunimmt. Hier sind einige Modelltypen:
- Hierarchische Datenmodelle stellen Eins-zu-Viele-Beziehungen in einem baumartigen Format dar. In diesem Modelltyp verfügt jeder Datensatz über ein einzelnes Stamm- oder übergeordnetes Element, das einer oder mehreren untergeordneten Tabellen zugeordnet ist. Dieses Modell wurde im IBM Information Management System (IMS) implementiert, das 1966 eingeführt wurde und schnell breite Anwendung fand, insbesondere im Bankwesen. Obwohl dieser Ansatz weniger effizient ist als neuere Datenbankmodelle, wird er immer noch in XML-Systemen (Extensible Markup Language) und geografischen Informationssystemen (GISs) verwendet.Relationale Datenmodelle wurden ursprünglich 1970 vom IBM-Forscher E.F. Codd vorgeschlagen. Sie sind noch heute in den vielen verschiedenen relationalen Datenbanken implementiert, die üblicherweise im Enterprise Computing verwendet werden. Die relationale Datenmodellierung erfordert kein detailliertes Verständnis der physikalischen Eigenschaften des verwendeten Datenspeichers. In der IT werden Datensegmente explizit durch die Verwendung von Tabellen verbunden, wodurch die Datenbankkomplexität reduziert wird.
Relationale Datenbanken verwenden häufig Structured Query Language (SQL) für die Datenverwaltung. Diese Datenbanken eignen sich gut zur Aufrechterhaltung der Datenintegrität und zur Minimierung der Redundanz. Sie werden häufig in Point-of-Sale-Systemen sowie für andere Arten der Transaktionsverarbeitung verwendet.
- Entity-Relationship (ER)-Datenmodelle verwenden formale Diagramme, um die Beziehungen zwischen Entitäten in einer Datenbank darzustellen. Mehrere ER-Modellierungswerkzeuge werden von Datenarchitekten verwendet, um visuelle Karten zu erstellen, die Datenbankdesignziele vermitteln.
- Objektorientierte Datenmodelle gewannen als objektorientierte Programmierung an Bedeutung und wurden Mitte der 1990er Jahre populär. Die beteiligten „Objekte“ sind Abstraktionen realer Entitäten. Objekte sind in Klassenhierarchien gruppiert und verfügen über zugeordnete Features. Objektorientierte Datenbanken können Tabellen enthalten, aber auch komplexere Datenbeziehungen unterstützen. Dieser Ansatz wird in Multimedia- und Hypertext-Datenbanken sowie in anderen Anwendungsfällen eingesetzt.
- Dimensionale Datenmodelle wurden von Ralph Kimball entwickelt, um die Datenabrufgeschwindigkeit für Analysezwecke in einem Data Warehouse zu optimieren. Während relationale und ER-Modelle eine effiziente Speicherung betonen, erhöhen dimensionale Modelle die Redundanz, um das Auffinden von Informationen für Berichte und Abrufe zu erleichtern. Diese Modellierung wird typischerweise in OLAP-Systemen verwendet.Zweidimensionale Datenmodelle sind das Sternschema, in dem Daten in Fakten (messbare Elemente) und Dimensionen (Referenzinformationen) organisiert sind, wobei jede Tatsache von ihren zugehörigen Dimensionen in einem sternartigen Muster umgeben ist. Das andere ist das Schneeflockenschema, das dem Sternschema ähnelt, jedoch zusätzliche Ebenen mit zugehörigen Dimensionen enthält, wodurch das Verzweigungsmuster komplexer wird.
Vorteile der Datenmodellierung
Die Datenmodellierung erleichtert Entwicklern, Datenarchitekten, Geschäftsanalysten und anderen Beteiligten das Anzeigen und Verstehen von Beziehungen zwischen den Daten in einer Datenbank oder einem Data Warehouse. Darüber hinaus kann es:
- Fehler in der Software- und Datenbankentwicklung reduzieren.
- Erhöhen Sie die Konsistenz der Dokumentation und des Systemdesigns im gesamten Unternehmen.
- Verbessern Sie die Anwendungs- und Datenbankleistung.
- Einfache Datenzuordnung im gesamten Unternehmen.
- Verbessern Sie die Kommunikation zwischen Entwicklern und Business Intelligence-Teams.Erleichtern und beschleunigen Sie den Prozess des Datenbankdesigns auf konzeptioneller, logischer und physikalischer Ebene.
Datenmodellierungstools
Zahlreiche kommerzielle und Open-Source-Lösungen für computergestützte Softwaretechnik (CASE) sind heute weit verbreitet, einschließlich mehrerer Datenmodellierungs-, Diagramm- und Visualisierungstools. Hier einige Beispiele:
- erwin Data Modeler ist ein Datenmodellierungstool, das auf der Datenmodellierungssprache Integration DEFinition for Information Modeling (IDEF1X) basiert und jetzt andere Notationsmethoden unterstützt, einschließlich eines dimensionalen Ansatzes.
- Enterprise Architect ist ein visuelles Modellierungs- und Designwerkzeug, das die Modellierung von Unternehmensinformationssystemen und -architekturen sowie Softwareanwendungen und Datenbanken unterstützt. Es basiert auf objektorientierten Sprachen und Standards.
- ER/Studio ist eine Datenbank-Design-Software, die mit einigen der heute beliebtesten Datenbank-Management-Systeme kompatibel ist. Es unterstützt sowohl relationale als auch dimensionale Datenmodellierung.
- Zu den kostenlosen Datenmodellierungstools gehören Open-Source-Lösungen wie Open ModelSphere.
Datenmodellierung und IBM Cloud
Forscher bei IBM gehörten zu den Pionieren, die die ersten hierarchischen und relationalen Datenmodelle erstellten und auch die Datenbanken entwarfen, in denen diese Modelle ursprünglich implementiert wurden.
Heute bietet IBM Cloud eine Full-Stack-Plattform, die ein umfangreiches Portfolio an SQL- und NoSQL-Datenbanken sowie Entwicklertools unterstützt, um die darin enthaltenen Datenressourcen effizient zu verwalten. IBM Cloud unterstützt auch Open-Source-Tools, mit denen Entwickler Objekt-, Datei- und Blockdatenspeicher verwalten können, um Leistung und Zuverlässigkeit zu optimieren.
Möchten Sie mehr über die Modellierung von Daten in IBM Cloud erfahren? Melden Sie sich für eine IBMid an und erstellen Sie noch heute Ihr kostenloses IBM Cloud-Konto.
Leave a Reply