Datenmodellierung

Datenmodellierung in Softwareentwicklung ist der Prozess des Erstellens a Datenmodell für ein Informationssystem durch Anwendung bestimmter formaler Techniken.
Überblick
Datenmodellierung ist a Prozess Wird verwendet, um Daten zu definieren und zu analysieren Bedarf benötigt, um die zu unterstützen Geschäftsprozesse im Rahmen der entsprechenden Informationssysteme in Organisationen. Daher umfasst der Prozess der Datenmodellierung professionelle Datenmodellierer, die eng mit Geschäftstakeholdern sowie potenziellen Nutzern des Informationssystems zusammenarbeiten.
Es gibt drei verschiedene Arten von Datenmodellen, die während des Fortschreitens von Anforderungen zur tatsächlichen Datenbank für das Informationssystem überschritten werden.[2] Die Datenanforderungen werden ursprünglich als als erfasst Konzeptioneller Datenmodell Dies ist im Wesentlichen eine Reihe von technologischen unabhängigen Spezifikationen zu den Daten und diskutiert die ersten Anforderungen mit den Geschäftstakeholdern. Das Konzeptmodell wird dann in a übersetzt Logisches Datenmodell, welche Strukturen der Daten dokumentiert, die in Datenbanken implementiert werden können. Die Implementierung eines konzeptionellen Datenmodells erfordert möglicherweise mehrere logische Datenmodelle. Der letzte Schritt bei der Datenmodellierung ist die Umwandlung des logischen Datenmodells in a Physikalisches Datenmodell Dadurch organisiert die Daten in Tabellen und berücksichtigen Zugriffs-, Leistungs- und Speicherdetails. Die Datenmodellierung definiert nicht nur Datenelemente, sondern auch deren Strukturen und Beziehungen zwischen ihnen.[3]
Datenmodellierungstechniken und Methoden werden verwendet, um Daten standardmäßig konsistent, vorhersehbar zu modellieren, um sie als Ressource zu verwalten. Die Verwendung von Datenmodellierungsstandards wird für alle Projekte, die ein Standardmittel zur Definition und Analyse von Daten in einer Organisation erfordern, z. B. unter Verwendung der Datenmodellierung, nachdrücklich empfohlen:
- Um Business-Analysten, Programmierer, Tester, manuelle Autoren, IT-Paket-Selektoren, Ingenieure, Manager, verwandte Organisationen und Kunden zu unterstützen, um ein vereinbartes Semi-Formal-Modell zu verstehen und zu verwenden
- Daten als Ressource verwalten
- Informationssysteme integrieren
- Um Datenbanken/Data Warehouses (AKA -Datenrepositories) zu entwerfen,
Die Datenmodellierung kann während verschiedener Arten von Projekten und in mehreren Projekten durchgeführt werden. Datenmodelle sind progressiv; Es gibt kein endgültiges Datenmodell für ein Unternehmen oder eine Anwendung. Stattdessen sollte ein Datenmodell als lebendiges Dokument angesehen werden, das sich als Reaktion auf ein sich ändernes Unternehmen ändert. Die Datenmodelle sollten idealerweise in einem Repository gespeichert werden, damit sie im Laufe der Zeit abgerufen, erweitert und bearbeitet werden können. Whitten et al. (2004) ermittelten zwei Arten von Datenmodellierung:[4]
- Strategische Datenmodellierung: Dies ist Teil der Erstellung einer Strategie für Informationssysteme, die eine Gesamtsicht und Architektur für Informationssysteme definiert. Informationstechnologie Engineering ist eine Methodik, die diesen Ansatz umfasst.
- Datenmodellierung während der Systemanalyse: in Systemanalyse Logische Datenmodelle werden als Teil der Entwicklung neuer Datenbanken erstellt.
Die Datenmodellierung wird auch als Technik zum Details von Geschäfts verwendet Bedarf für spezifische Datenbanken. Es wird manchmal genannt Datenbankmodellierung weil ein Datenmodell wird schließlich in einer Datenbank implementiert.[4]
Themen
Datenmodelle

Datenmodelle bieten einen Framework für Daten Innerhalb verwendet werden Informationssysteme Durch Bereitstellung einer spezifischen Definition und des Formats. Wenn ein Datenmodell konsistent über Systeme verwendet wird, kann die Kompatibilität von Daten erreicht werden. Wenn dieselben Datenstrukturen zum Speichern und Zugriff auf Daten verwendet werden, können verschiedene Anwendungen Daten nahtlos freigeben. Die Ergebnisse davon sind im Diagramm angegeben. Systeme und Schnittstellen sind jedoch häufig teuer, um zu bauen, zu arbeiten und zu warten. Sie können auch das Geschäft einschränken, anstatt es zu unterstützen. Dies kann auftreten, wenn die Qualität der in Systeme und Schnittstellen implementierten Datenmodelle schlecht ist.[1]
Einige häufige Probleme in Datenmodellen sind:
- Geschäftsregeln, die spezifisch für die Art und Weise an einem bestimmten Ort erfolgen, werden häufig in der Struktur eines Datenmodells festgelegt. Dies bedeutet, dass kleine Änderungen in der Art und Weise, wie das Geschäft durchgeführt wird, zu großen Änderungen der Computersysteme und Schnittstellen führt. Daher müssen Geschäftsregeln auf flexible Weise implementiert werden, die nicht zu komplizierten Abhängigkeiten führt, sondern das Datenmodell sollte flexibel genug sein, sodass Änderungen im Unternehmen im Datenmodell relativ schnell und effizient implementiert werden können.
- Entitätstypen werden häufig nicht identifiziert oder falsch identifiziert. Dies kann zur Replikation von Daten, Datenstruktur und Funktionalität sowie zu den damit verbundenen Kosten dieser Duplikation in Entwicklung und Wartung führen. Daher sollten Datendefinitionen so explizit und leicht zu verstehen wie möglich gemacht werden, um Fehlinterpretationen und Duplikation zu minimieren.
- Datenmodelle für verschiedene Systeme sind willkürlich unterschiedlich. Das Ergebnis davon ist, dass komplexe Schnittstellen zwischen Systemen erforderlich sind, die Daten teilen. Diese Schnittstellen können zwischen 25 und 70% der Kosten der aktuellen Systeme ausmachen. Erforderliche Schnittstellen sollten bei der Gestaltung eines Datenmodells inhärent berücksichtigt werden, da ein Datenmodell selbst nicht ohne Schnittstellen in verschiedenen Systemen verwendet wären.
- Daten können nicht elektronisch mit Kunden und Lieferanten geteilt werden, da die Struktur und Bedeutung von Daten nicht standardisiert wurde. Um einen optimalen Wert aus einem implementierten Datenmodell zu erhalten, ist es sehr wichtig, Standards zu definieren, die sicherstellen, dass Datenmodelle die Geschäftsanforderungen entsprechen und konsistent sind.[1]
Konzeptionelle, logische und physische Schemata

1975 Ansi beschrieben drei Arten von Datenmodell Beispiel:[5]
- Konzeptionales Schema: beschreibt die Semantik einer Domäne (den Umfang des Modells). Zum Beispiel kann es sich um ein Modell des Interessenbereichs einer Organisation oder einer Branche handeln. Dies besteht aus Entitätsklassen, die Arten von Dingen im Bereich der Domäne und Beziehungen über Assoziationen zwischen Paaren von Entitätsklassen darstellen. Ein konzeptionelles Schema gibt die Arten von Fakten oder Aussagen an, die mit dem Modell ausgedrückt werden können. In diesem Sinne definiert es die zulässigen Ausdrücke in einer künstlichen "Sprache" mit einem Bereich, der durch den Umfang des Modells begrenzt ist. Einfach beschrieben, ist ein konzeptionelles Schema der erste Schritt zur Organisation der Datenanforderungen.
- Logisches Schema: Beschreibt die Struktur einiger Informationsdomäne. Dies besteht aus Beschreibungen von (z. B.) Tabellen, Spalten, objektorientierten Klassen und XML-Tags. Das logische Schema und das konzeptionelle Schema werden manchmal als ein und dasselbe implementiert.[2]
- Physisches Schema: Beschreibt die physischen Mittel, die zum Speichern von Daten verwendet werden. Dies befasst sich mit Partitionen, CPUs, Tischartenund dergleichen.
Laut ANSI ermöglicht dieser Ansatz die drei Perspektiven relativ unabhängig voneinander. Die Speichertechnologie kann sich ändern, ohne sich entweder auf das logische oder das konzeptionelle Schema auszuwirken. Die Tabelle/Spaltenstruktur kann sich ohne (notwendigerweise) ändern, der das konzeptionelle Schema beeinflusst. In jedem Fall müssen die Strukturen natürlich über alle Schemata desselben Datenmodells konsistent bleiben.
Datenmodellierungsprozess

Im Zusammenhang mit Integration des Geschäftsprozesses (Siehe Abbildung), Datenmodellierung ergänzt sich Geschäftsprozessmodellierungund führt letztendlich zur Datenbankgenerierung.[6]
Der Prozess des Entwerfens einer Datenbank umfasst die Erzeugung der zuvor beschriebenen drei Arten von Schemas - konzeptionell, logisch und physisch. Das in diesen Schemata dokumentierte Datenbankdesign wird über a konvertiert Datendefinitionssprache, mit der dann eine Datenbank generiert werden kann. Ein vollständig zugeordnetes Datenmodell enthält detaillierte Attribute (Beschreibungen) für jede Entität. Der Begriff "Datenbankdesign" kann viele verschiedene Teile des Designs eines Gesamts beschreiben Datenbanksystem. Hauptsächlich und am korrekt, kann es als logisches Design der Basisstrukturen angesehen werden, die zum Speichern der Daten verwendet werden. In dem Relationales Modell Dies sind die Tische und Ansichten. In einem (n Objektdatenbank Die Entitäten und Beziehungen sind direkt auf Objektklassen und benannte Beziehungen zugeordnet. Der Begriff "Datenbankdesign" könnte jedoch auch verwendet werden, um für den Gesamtentwurfsprozess, nicht nur für die Basisdatenstrukturen, sondern auch für die Formulare und Abfragen, die als Teil der Gesamtdatenbankanwendung verwendet wurden, zu bewerben Datenbankverwaltungssystem oder DBMs.
Dabei System Schnittstellen Berücksichtigen Sie 25% bis 70% der Entwicklungs- und Unterstützungskosten der aktuellen Systeme. Der Hauptgrund für diese Kosten ist, dass diese Systeme nicht a teilen Gemeinsames Datenmodell. Wenn Datenmodelle von Systembasis auf Systembasis entwickelt werden, wird nicht nur die gleiche Analyse in überlappenden Bereichen wiederholt, sondern eine weitere Analyse muss durchgeführt werden, um die Schnittstellen zwischen ihnen zu erstellen. Die meisten Systeme innerhalb einer Organisation enthalten dieselben grundlegenden Daten, die für einen bestimmten Zweck saniert werden. Daher kann ein effizient gestaltetes grundlegendes Datenmodell die Nacharbeit mit minimalen Modifikationen für die Zwecke verschiedener Systeme innerhalb der Organisation minimieren[1]
Modellierungsmethoden
Datenmodelle repräsentieren Informationsbereiche von Interesse. Laut Len Silverston (1997) gibt es viele Möglichkeiten, Datenmodelle zu erstellen.[7] Nur zwei Modellierungsmethoden stechen hervor, Top-Down und Bottom-up:
- Bottom-up-Modelle oder Ansichtsintegrationsmodelle sind häufig das Ergebnis von a Re -gineering Anstrengung. Sie beginnen normalerweise mit vorhandenen Datenstrukturen, Feldern auf Anwendungsbildschirmen oder Berichten. Diese Modelle sind normalerweise physisch, anwendungsspezifisch und unvollständig von einem Enterprise Perspektive. Sie dürfen den Datenaustausch nicht fördern, insbesondere wenn sie ohne Bezugnahme auf andere Teile der Organisation erstellt werden.[7]
- Von oben nach unten Logische DatenmodelleAndererseits werden auf abstrakte Weise erstellt, indem Informationen von Personen erhalten werden, die den Fachbereich kennen. Ein System kann nicht alle Entitäten in einem logischen Modell implementieren, das Modell dient jedoch als Referenzpunkt oder Vorlage.[7]
Manchmal werden Modelle in einer Mischung der beiden Methoden erstellt: durch Berücksichtigung der Datenbedürfnisse und der Struktur einer Anwendung und durch konsequentes Verweisen auf ein Modell der Subjektflächen. Leider ist in vielen Umgebungen die Unterscheidung zwischen einem logischen Datenmodell und einem physischen Datenmodell verschwommen. Darüber hinaus einige FALL Werkzeuge unterscheiden nicht zwischen logisch und Physikalische Datenmodelle.[7]
Entität und Zusammenarbeit Diagramme

Es gibt mehrere Notationen für die Datenmodellierung. Das tatsächliche Modell wird häufig als "Entität und Beziehung" bezeichnet, da es Daten in Bezug auf die in der beschriebenen Entitäten und Beziehungen darstellt Daten.[4] Ein Entität und Beziehung (ERM) ist eine abstrakte konzeptionelle Darstellung strukturierter Daten. Modellierung der Entität und Beziehung ist ein relationales Schema Datenbankmodellierung Methode, verwendet in Softwareentwicklung eine Art von Art von Konzeptioneller Datenmodell (oder Semantisches Datenmodell) eines Systems oft a relationale Datenbankund seine Anforderungen in a von oben nach unten Mode.
Diese Modelle werden in der ersten Stufe von verwendet Informationssystem Design während der Anforderungsanalyse Informationsbedürfnisse oder die Art von Information das soll in a gespeichert werden Datenbank. Das Datenmodellierung Technik kann verwendet werden, um alle zu beschreiben Ontologie (d. h. eine Übersicht und Klassifizierungen gebrauchter Begriffe und ihrer Beziehungen) für eine bestimmte Universum des Diskurses d.h. Interessengebiet.
Für das Design von Datenmodellen wurden verschiedene Techniken entwickelt. Während diese Methoden Datenmodellierer in ihrer Arbeit leiten, erzielen zwei verschiedene Personen, die dieselbe Methodik verwenden, häufig sehr unterschiedliche Ergebnisse. Am bemerkenswertesten sind:
- Bachman -Diagramme
- Barkers Notation
- Chen Notation
- Datengewölbemodellierung
- Erweiterte Backus -Naur -Form
- Idef1x
- Objektrelationskartierung
- Objektrollenmodellierung und Voll kommunikationsorientierte Informationsmodellierung
- Relationales Modell
- Relationalmodell/Tasmanien
Generische Datenmodellierung

Generische Datenmodelle sind Verallgemeinerungen von konventionellem Datenmodelle. Sie definieren standardisierte allgemeine Beziehungstypen zusammen mit den Arten von Dingen, die durch einen solchen Beziehungstyp in Verbindung gebracht werden können. Die Definition des generischen Datenmodells ähnelt der Definition einer natürlichen Sprache. Beispielsweise kann ein generisches Datenmodell Beziehungstypen wie eine „Klassifizierungsbeziehung“ definieren, die a sind binäre Beziehung zwischen einer individuellen Sache und einer Art von Dingen (eine Klasse) und einer „Teilgift-Beziehung“, die eine binäre Beziehung zwischen zwei Dingen ist, eine mit der Rolle des Teils, die andere mit der Rolle des Ganzen, unabhängig von der Art von Dingen das sind verwandt.
Bei einer erweiterbaren Liste von Klassen ermöglicht dies die Klassifizierung von einzelnen Dingen und die Angabe von Teil-Ganz-Beziehungen für ein einzelnes Objekt. Durch die Standardisierung einer erweiterbaren Liste von Beziehungstypen ermöglicht ein generisches Datenmodell den Ausdruck einer unbegrenzten Anzahl von Fakten und nähert sich den Fähigkeiten natürlicher Sprachen. Herkömmliche Datenmodelle hingegen haben einen festen und begrenzten Domänenumfang, da die Instanziierung (Verwendung) eines solchen Modells nur Ausdrücke von Fakten, die im Modell vordefiniert sind, Ausdrücke ermöglicht.
Semantische Datenmodellierung
Die logische Datenstruktur eines DBMs, unabhängig davon, ob hierarchisch, Netzwerk oder relational, kann die Anforderungen für eine konzeptionelle Definition von Daten nicht vollständig erfüllen, da sie im Umfang begrenzt und auf die von den DBMs angewendete Implementierungsstrategie verzerrt sind. Es sei denn, das semantische Datenmodell wird absichtlich in der Datenbank implementiert, eine Wahl, die die Leistung leicht beeinflussen kann, aber im Allgemeinen die Produktivität erheblich verbessert.

Daher hat die Notwendigkeit, Daten aus einer konzeptionellen Sicht zu definieren, zur Entwicklung von geführt Semantische Datenmodellierung Techniken. Das heißt, Techniken, um die Bedeutung von Daten im Kontext seiner Wechselbeziehungen mit anderen Daten zu definieren. Wie in der Figur dargestellt, werden die reale Welt in Bezug auf Ressourcen, Ideen, Ereignisse usw. symbolisch in physischen Datenspeichern definiert. Ein semantisches Datenmodell ist ein Abstraktion Dies definiert, wie sich die gespeicherten Symbole auf die reale Welt beziehen. Somit muss das Modell eine wahre Darstellung der realen Welt sein.[8]
Der Zweck der semantischen Datenmodellierung ist es, ein Strukturmodell eines Stücks der realen Welt zu schaffen, das als Universum des Diskurses bezeichnet wird. Dafür werden vier grundlegende strukturelle Beziehungen berücksichtigt:
- Klassifizierung/Instanziierung: Objekte mit einer strukturellen Ähnlichkeit werden als Instanzen von Klassen beschrieben
- Aggregation/Zersetzung: Komponierte Objekte werden erhalten, die seine Teile verbinden
- Generalisierung/Spezialisierung: Unterschiedliche Klassen mit einigen gemeinsamen Eigenschaften werden in einer genaueren Klasse mit den gemeinsamen Attributen überprüft
Ein semantisches Datenmodell kann verwendet werden, um viele Zwecke zu dienen, z. B.:[8]
- Planung von Datenressourcen
- Aufbau von gemeinsam genutzbaren Datenbanken
- Bewertung der Lieferantensoftware
- Integration vorhandener Datenbanken
Das Gesamtziel von semantischen Datenmodellen ist es, mehr Sinn von Daten zu erfassen, indem relationale Konzepte mit leistungsfähigeren Integration integriert werden Abstraktion Konzepte, die aus dem bekannt sind Künstliche Intelligenz aufstellen. Die Idee ist, Primitive auf hohen Ebenen als integraler Bestandteil eines Datenmodells bereitzustellen, um die Darstellung realer Weltsituationen zu erleichtern.[10]
Siehe auch
- Architekturmuster (Informatik)
- Vergleich von Datenmodellierungswerkzeugen
- Daten (Computer)
- Datenwörterbuch
- Dokumentmodellierung
- Unternehmensdatenmodellierung
- Entitätsdatenmodell
- Informationsmanagement
- Informationsmodell
- Informative Modellierung
- Metadatenmodellierung
- Drei Schema -Ansatz
- Zachman -Framework
Verweise
- ^ a b c d e f Matthew West und Julian Fowler (1999). Entwicklung hochwertiger Datenmodelle entwickeln. Die Europäische Prozessindustrie tritt technische Verbindungsleiterin (EPISTLE).
- ^ a b Simison, Graeme. C. & Witt, Graham. C. (2005). Datenmodellierungswesentliche. 3. Auflage. Morgan Kaufmann Publishers. ISBN0-12-644551-6
- ^ Datenintegration Glossar Archiviert 20. März 2009 bei der Wayback -Maschine, US -Verkehrsministerium, August 2001.
- ^ a b c Whitten, Jeffrey L.; Lonnie D. Bentley, Kevin C. Dittman. (2004). Systemanalyse- und Designmethoden. 6. Ausgabe. ISBN0-256-19906-x.
- ^ American National Standards Institute. 1975. ANSI/X3/SPARC -Studiengruppe für Datenbankmanagementsysteme; Zwischenbericht. FDT (Bulletin von ACM Sigmod) 7: 2.
- ^ a b Paul R. Smith & Richard Sarfaty (1993). Erstellen eines strategischen Planes für das Konfigurationsmanagement mithilfe von COUSE -Tools (Computer Aided Software Engineering). Papier für 1993 National DOE/Auftragnehmer und Einrichtungen CAD/CAE -Benutzergruppe.
- ^ a b c d Len Silverston, W.H.inmon, Kent Graziano (2007). Das Datenmodell -Ressourcenbuch. Wiley, 1997. ISBN0-471-15364-8. Rezensiert von Van Scott auf tdan.com. Zugriff am 1. November 2008.
- ^ a b c d FIPS -Veröffentlichung 184 Archiviert 3. Dezember 2013 bei der Wayback -Maschine Freigegeben von IDEF1X vom Computer Systems Laboratory des National Institute of Standards and Technology (NIST). 21. Dezember 1993.
- ^ Amnon Shabo (2006). Datenstandards für klinische Genomik für Pharmakogenetik und Pharmakogenomik Archiviert 22. Juli 2009 bei der Wayback -Maschine.
- ^ "Semantische Datenmodellierung" in: Metaklasse und ihre Anwendung. Vorlesungen der Buchreihe in der Informatik. Verlag Springer Berlin / Heidelberg. Volumenvolumen 943/1995.
-
Dieser Artikel enthältPublic Domain Material von dem Nationales Institut für Standards und Technologie Webseite https://www.nist.gov.
Weitere Lektüre
- J.H. Ter Bekke (1991). Semantische Datenmodellierung in relationalen Umgebungen
- John Vincent Carlis, Joseph D. Maguire (2001). Mastering-Datenmodellierung: Ein benutzerorientierter Ansatz.
- Alan Chmura, J. Mark Heumann (2005). Logische Datenmodellierung: Was sie ist und wie es geht.
- Martin E. Modell (1992). Datenanalyse, Datenmodellierung und Klassifizierung.
- M. Papazoglou, Stefano Spaccapietra, Zahir Tari (2000). Fortschritte in der objektorientierten Datenmodellierung.
- G. Lawrence Sanders (1995). Datenmodellierung
- Graeme C. Simsion, Graham C. Witt (2005). Datenmodellierungs -Essentials '
- Matthew West (2011) Entwicklung hochwertiger Datenmodelle entwickeln
Externe Links
- Agile/evolutionäre Datenmodellierung
- Datenmodellierungsartikel
- Datenbankmodellierung in UML
- Datenmodellierung 101
- Semantische Datenmodellierung
- Systementwicklung, Methoden und Modellierung Notizen zu Tony Drewry
- Anfrage zum Vorschlag - Metamodell für Informationsmanagement (IMM) der Objektverwaltungsgruppe
- Die Datenmodellierung ist nicht nur für DBMS Teil 1 gilt Chris Bradley
- Die Datenmodellierung ist nicht nur für DBMS Teil 2 gedacht Chris Bradley