Datenmodell
A Datenmodell [1][2][3][4][5] ist ein Zusammenfassung Modell das organisiert Elemente von Daten und standardisiert wie sie sich miteinander und mit den Eigenschaften der realen Welt beziehen Entitäten. Beispielsweise kann ein Datenmodell festlegen, dass das Datenelement, das ein Auto darstellt, aus einer Reihe anderer Elemente besteht, die wiederum die Farbe und Größe des Autos darstellen und seinen Besitzer definieren.
Der Begriff Datenmodell kann sich auf zwei unterschiedliche, aber eng verwandte Konzepte beziehen. Manchmal bezieht es sich auf eine abstrakte Formalisierung der Objekte und Beziehungen in einer bestimmten Anwendungsdomäne: zum Beispiel die Kunden, Produkte und Bestellungen in einer Fertigungsorganisation. Zu anderen Zeiten bezieht es sich auf die Konzepte, die zur Definition solcher Formalisierungen verwendet werden: beispielsweise Konzepte wie Entitäten, Attribute, Beziehungen oder Tabellen. Daher kann das "Datenmodell" einer Bankanwendung mithilfe des Datenmodells "Entity-Relationship" definiert werden. Dieser Artikel verwendet den Begriff in beiden Sinnen.
Ein Datenmodell bestimmt explizit die Struktur von Daten. Datenmodelle werden typischerweise von einem Datenspezialisten, einem Datenbibliothekar oder einem Digital Humanities Scholar in a spezifiziert Datenmodellierung Notation. Diese Notationen werden häufig in grafischer Form dargestellt.[7]
Ein Datenmodell kann manchmal als als bezeichnet werden Datenstrukturbesonders im Kontext von Programmiersprachen. Datenmodelle werden häufig durch ergänzt durch Funktionsmodellebesonders im Kontext von Unternehmensmodelle.
Überblick
Verwaltung großer Mengen von strukturierten und unstrukturierte Daten ist eine primäre Funktion von Informationssysteme. Datenmodelle beschreiben die Struktur, Manipulation und Integritätsaspekte der in Datenverwaltungssystemen wie relationalen Datenbanken gespeicherten Daten. Sie können auch Daten mit einer lockeren Struktur beschreiben, wie z. Textverarbeitung Unterlagen, E -Mail -Nachrichten, Bilder, digitales Audio und Video: XDMBietet zum Beispiel ein Datenmodell für Xml Unterlagen.
Die Rolle von Datenmodellen
Das Hauptziel von Datenmodellen ist es, die Entwicklung von zu unterstützen Informationssysteme Durch Bereitstellung der Definition und des Datenformats. Laut West und Fowler (1999) "Wenn dies durchgehend über Systeme hinweg erfolgt, kann die Kompatibilität von Daten erreicht werden. Wenn dieselben Datenstrukturen zum Speichern und Zugriff auf Daten verwendet werden, können verschiedene Anwendungen Daten austauschen. Systeme und Schnittstellen kosten jedoch häufig mehr als sie sollten, bauen, operieren und aufrechterhalten. Sie können das Geschäft auch eher einschränken, als es zu unterstützen. Eine Hauptursache ist, dass die Qualität der in Systeme und Schnittstellen implementierten Datenmodelle schlecht ist ".[8]
- "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."[8]
- "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."[8]
- "Datenmodelle für verschiedene Systeme unterscheiden sich willkürlich. 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".[8]
- "Daten können nicht elektronisch mit Kunden und Lieferanten geteilt werden, da die Struktur und Bedeutung von Daten nicht standardisiert wurde. Beispielsweise werden technische Entwurfsdaten und Zeichnungen für Prozessanlagen manchmal auf Papier ausgetauscht."[8]
Der Grund für diese Probleme ist ein Mangel an Standards, die sicherstellen, dass Datenmodelle die Geschäftsanforderungen entsprechen und konsistent sind.[8]
Ein Datenmodell bestimmt explizit die Struktur von Daten. Typische Anwendungen von Datenmodellen umfassen Datenbankmodelle, Design von Informationssystemen und das Aktivieren des Datenaustauschs. Normalerweise werden Datenmodelle in einer Datenmodellierungssprache angegeben. [3]
Drei Perspektiven
Ein Datenmodell Beispiel Kann nach drei Arten nach sein Ansi 1975:[9]
- Konzeptioneller Datenmodell: beschreibt die Semantik einer Domäne, die der Umfang des Modells ist. Zum Beispiel kann es sich um ein Modell des Interessenbereichs einer Organisation oder Branche handeln. Dies besteht aus Entitätsklassen, die Arten von Dingen im Bereich der Domäne darstellen, und Beziehungsaussagen über Assoziationen zwischen Paaren von Entitätsklassen. 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.
- Logisches Datenmodell: beschreibt die Semantik, wie durch eine bestimmte Datenmanipulationstechnologie dargestellt. Dies besteht unter anderem aus Beschreibungen von Tabellen und Spalten, objektorientierten Klassen und XML -Tags.
- Physikalisches Datenmodell: beschreibt die physikalischen Mittel, mit denen Daten gespeichert werden. Dies befasst sich mit Partitionen, CPUs, Tablespaces und dergleichen.
Die Bedeutung dieses Ansatzes ist laut ANSI, dass die drei Perspektiven relativ unabhängig voneinander sind. Die Speichertechnologie kann sich ändern, ohne sich entweder auf das logische oder das konzeptionelle Modell auszuwirken. Die Tabellen-/Spaltenstruktur kann sich ohne (notwendigerweise) ändern, der das konzeptionelle Modell beeinflusst. In jedem Fall müssen die Strukturen natürlich mit dem anderen Modell übereinstimmen. Die Tabelle/Spaltenstruktur kann sich von einer direkten Übersetzung der Entitätsklassen und -attribute unterscheiden, muss jedoch letztendlich die Ziele der Konzeptentitätsklassenstruktur verfolgen. Frühe Phasen vieler Softwareentwicklungsprojekte betonen das Design von a Konzeptioneller Datenmodell. Ein solches Design kann in a detailliert werden Logisches Datenmodell. In späteren Phasen kann dieses Modell in übersetzt werden Physikalisches Datenmodell. Es ist jedoch auch möglich, ein konzeptionelles Modell direkt zu implementieren.
Geschichte
Eines der frühesten Pionierarbeiten bei der Modellierung von Informationssystemen wurde von Young und Kent (1958) durchgeführt.[10][11] der sich für "eine präzise und abstrakte Art der Angabe der Informationsmerkmale und der Zeitmerkmale von a argumentierte Datenverarbeitung Problem ". Sie wollten" eine Notation erstellen, die das aktivieren sollte Analytiker Um das Problem um jedes Stück zu organisieren Hardware-". Ihre Arbeit war der erste Versuch, eine abstrakte Spezifikation und eine invariante Grundlage für die Gestaltung verschiedener alternativer Implementierungen mithilfe verschiedener Hardwarekomponenten zu erstellen. Der nächste Schritt in der Modellierung wurde von ergriffen. Codasyl, ein 1959 gebildetes IT-Branchenkonsortium, das im Wesentlichen auf dasselbe wie Young und Kent abzielte: die Entwicklung einer "richtigen Struktur für maschinenunabhängige Problemdefinitionssprache, auf Systemebene der Datenverarbeitung". Dies führte zur Entwicklung eines bestimmten IS Informationsalgebra.[11]
In den 1960er Jahren erlangte die Datenmodellierung mit Beginn des Management Informationssystem (MIS) Konzept. Laut Leondes (2002) "während dieser Zeit stellte das Informationssystem die Daten und Informationen für Verwaltungszwecke bereit. Die erste Generation Datenbanksystem, genannt Integrierter Datenspeicher (IDS), wurde von entworfen von Charles Bachman bei General Electric. Zwei berühmte Datenbankmodelle, die Netzwerkdatenmodell und die Hierarchischer Datenmodellwurden in dieser Zeit vorgeschlagen ".[12] Gegen Ende der 1960er Jahre,, Edgar F. Codd erarbeitete seine Theorien zur Datenanordnung und schlug die vor Relationales Modell für Datenbankverwaltung basierend auf Prädikatlogik erster Ordnung.[13]
In den 1970ern Entitätsbeziehungsmodellierung entwickelte Peter Chen. In der ersten Stufe von wurden Modelle für Entitätsbeziehungen verwendet Informationssystem Design während der Anforderungsanalyse Informationsbedürfnisse oder die Art von Information das soll in a gespeichert werden Datenbank. Diese Technik kann jede beschreiben Ontologie, d.h. Interessenbereich.
In den 1970ern G.M. Nijssen entwickelte "natürliche Sprachinformationsanalyse -Methode" (NIAM) Methode und entwickelte dies in den 1980er Jahren in Zusammenarbeit mit Terry Halpin hinein Objektrollenmodellierung (ORM). Es war jedoch Terry Halpins PhD-These von 1989, die die formale Grundlage erstellte, auf der die Objektrollenmodellierung basiert.
Bill Kent, in seinem Buch von 1978 Daten und Realität,[14] Verglich ein Datenmodell mit einer Karte eines Territoriums und betont, dass in der realen Welt "Autobahnen nicht rot gestrichen sind, Flüsse keine Kreislinien in der Mitte haben und Sie keine Konturlinien auf einem Berg sehen können". Im Gegensatz zu anderen Forschern, die versuchten, Modelle zu erstellen, die mathematisch sauber und elegant waren, betonte Kent die wesentliche Unordnung der realen Welt und die Aufgabe des Datenmodellierers, aus dem Chaos herauszukommen, ohne die Wahrheit übermäßig zu verzerren.
In den 1980er Jahren, nach Jan L. Harrington (2000), "die Entwicklung des objektorientierter Das Paradigma führte zu einer grundlegenden Veränderung in der Art und Weise, wie wir Daten und die Verfahren, die Daten betreiben, ansehen. Traditionell wurden Daten und Verfahren separat gespeichert: die Daten und ihre Beziehung in einer Datenbank, die Verfahren in einem Anwendungsprogramm. Die Objektorientierung kombinierte jedoch die Prozedur eines Unternehmens mit seinen Daten. "[15]
In den frühen neunziger Jahren setzten drei niederländische Mathematiker Guido Bakema, Harm Van der Lek und Janpieter Zwart, die Entwicklung der Arbeiten fort G.M. Nijssen. Sie konzentrierten sich mehr auf den Kommunikationsteil der Semantik. 1997 formalisierten sie die Methode vollständig kommunikationsorientierte Informationsmodellierung FCO-IM.
Typen
Datenbankmodell
Ein Datenbankmodell ist eine Spezifikation, in der beschrieben wird, wie eine Datenbank strukturiert und verwendet wird.
Es wurden mehrere solche Modelle vorgeschlagen. Gemeinsame Modelle umfassen:
- Flachmodell
- Dies kann nicht als Datenmodell strikt qualifiziert. Das flache (oder Tabellen-) Modell besteht aus einem einzelnen zweidimensionalen Array von Datenelementen, bei denen alle Mitglieder einer bestimmten Spalte ähnliche Werte sind und alle Mitglieder einer Zeile miteinander verbunden sind.
- Hierarchisches Modell
- Das hierarchische Modell ähnelt dem Netzwerkmodell, mit der Ausnahme, dass Links im hierarchischen Modell eine Baumstruktur bilden, während das Netzwerkmodell ein beliebiger Diagramm ermöglicht.
- Netzwerkmodell
- Dieses Modell organisiert Daten unter Verwendung von zwei grundlegenden Konstrukten, die als Datensätze und Sets bezeichnet werden. Aufzeichnungen enthalten Felder und Sets Definieren von Eins-zu-Viele-Beziehungen zwischen Aufzeichnungen: einem Eigentümer, vielen Mitgliedern. Das Netzwerkdatenmodell ist eine Abstraktion des Designkonzepts, das bei der Implementierung von Datenbanken verwendet wird.
- Relationales Modell
- ist ein Datenbankmodell, das auf Prädikat-Logik erster Ordnung basiert. Seine Kernidee besteht darin, eine Datenbank als Sammlung von Prädikaten über einen endlichen Satz von Prädikatvariablen zu beschreiben, die Einschränkungen für die möglichen Werte und Kombinationen von Werten beschreiben. Die Kraft des relationalen Datenmodells liegt in seinen mathematischen Grundlagen und einem einfachen Paradigma auf Benutzerebene.
- Objektrelationsmodell
- Ähnlich wie bei einem relationalen Datenbankmodell, aber Objekte, Klassen und Vererbung werden direkt unterstützt in Datenbankschemata und in der Abfragesprache.
- Objektrollenmodellierung
- Eine Methode der Datenmodellierung, die als "Attributfrei" und "faktenbasiert" definiert wurde. Das Ergebnis ist ein nachdenklich korrektes System, aus dem andere gemeinsame Artefakte wie ERD, UML und semantische Modelle abgeleitet werden können. Assoziationen zwischen Datenobjekten werden während des Datenbankdesignverfahrens beschrieben, so dass die Normalisierung ein unvermeidliches Ergebnis des Prozesses ist.
- Sternschema
- Der einfachste Stil des Data Warehouse -Schemas. Das Sternschema besteht aus ein paar "Faktentabellen" (möglicherweise nur eines, was den Namen rechtfertigt), das auf eine beliebige Anzahl von "Dimensionstabellen" hinweist. Das Sternschema wird als wichtiger Sonderfall der Schneeflockenschema.
Konzeptorientiertes Modell
Datenstrukturdiagramm
Ein Datenstrukturdiagramm (DSD) ist a Diagramm und Datenmodell zur Beschreibung Konzeptionelle Datenmodelle durch Bereitstellung grafischer Notationen welches Dokument Entitäten und ihre Beziehungen, und die Einschränkungen das binden sie. Die grundlegenden grafischen Elemente von DSDs sind Kisten, darstellen Entitäten und Pfeile, repräsentieren Beziehungen. Datenstrukturdiagramme sind am nützlichsten für die Dokumentation komplexer Datenentitäten.
Datenstrukturdiagramme sind eine Erweiterung der Entitätsbeziehungsmodell (ER -Modell). In DSDs, Attribute werden in den Entitätskästen und nicht außerhalb von ihnen angegeben, während Beziehungen als Kisten aus Attributen gezeichnet werden, die die Einschränkungen festlegen, die Entitäten zusammenbinden. DSDs unterscheiden sich vom ER -Modell insofern, als sich das ER -Modell auf die Beziehungen zwischen verschiedenen Entitäten konzentriert, während sich DSDs auf die Beziehungen der Elemente innerhalb eines Unternehmens konzentrieren und es den Benutzern ermöglichen, die Verbindungen und Beziehungen zwischen jeder Entität vollständig zu erkennen.
Es gibt mehrere Stile, um Datenstrukturdiagramme darzustellen, mit dem bemerkenswerten Unterschied in der Art der Definition Kardinalität. Die Auswahl liegt zwischen Pfeilköpfen und invertierten Pfeilköpfen (Krähenfüße) oder numerische Darstellung der Kardinalität.
Entitätsbeziehungsmodell
Ein Entitätsbeziehungsmodell (ERM), das manchmal als Entitätsbeziehungsdiagramm (ERD) bezeichnet wird, könnte verwendet werden, um ein Zusammenfassung darzustellen Konzeptioneller Datenmodell (oder Semantisches Datenmodell oder physikalisches Datenmodell) verwendet in Softwareentwicklung strukturierte Daten darstellen. Für ERMS werden mehrere Notationen verwendet. Wie DSDs, Attribute werden in den Entitätskästen und nicht außerhalb von ihnen angegeben, während Beziehungen als Linien gezeichnet werden, wobei die Beziehungsbeschränkungen als Beschreibungen in der Linie angegeben sind. Das E-R-Modell kann zwar robust, aber bei der Darstellung von Entitäten mit mehreren Attributen visuell umständlich werden.
Es gibt mehrere Stile, um Datenstrukturdiagramme darzustellen, mit einem bemerkenswerten Unterschied in der Art der Definition von Kardinalität. Die Auswahl besteht zwischen Pfeilköpfen, invertierten Pfeilköpfen (Krähe Füße) oder numerische Darstellung der Kardinalität.
Geografisches Datenmodell
Ein Datenmodell in Geografisches Informationssystem ist ein mathematisches Konstrukt zur Darstellung geografischer Objekte oder Oberflächen als Daten. Zum Beispiel,
- das Vektor Das Datenmodell repräsentiert Geographie als Punkte, Linien und Polygone
- Das Rasterdatenmodell repräsentiert die Geographie als Zellmatrixe, die numerische Werte speichern.
- und die Trianguliertes unregelmäßiges Netzwerk (TIN) Datenmodell repräsentiert die Geographie als Sätze von zusammenhängenden, nicht überlappenden Dreiecken.[17]
Gruppen beziehen sich auf den Prozess der Erstellung einer Karte[18]
NGMDB -Datenmodellanwendungen[18]
NGMDB -Datenbanken, die miteinander verknüpft sind[18]
Darstellung von 3D -Karteninformationen darstellen[18]
Generisches Datenmodell
Generische Datenmodelle sind Verallgemeinerungen herkömmlicher Datenmodelle. Sie definieren standardisierte allgemeine Beziehungstypen zusammen mit den Arten von Dingen, die durch einen solchen Beziehungstyp in Verbindung gebracht werden können. Generische Datenmodelle werden als Ansatz zur Lösung einiger Mängel herkömmlicher Datenmodelle entwickelt. Beispielsweise produzieren verschiedene Modellierer normalerweise verschiedene herkömmliche Datenmodelle derselben Domäne. Dies kann zu Schwierigkeiten führen, die Modelle verschiedener Menschen zusammenzubringen, und ist ein Hindernis für den Datenaustausch und die Datenintegration. Ausnahmslos ist dieser Unterschied jedoch auf verschiedene Abstraktionsebenen in den Modellen und Unterschiede in den Arten von Fakten zurückzuführen, die instanziiert werden können (die semantischen Expressionsfunktionen der Modelle). Die Modellierer müssen bestimmte Elemente kommunizieren und sich konkreter gemacht werden, um die Unterschiede weniger signifikant zu machen.
Semantisches Datenmodell
Ein semantisches Datenmodell in der Software -Engineering ist eine Technik, um die Bedeutung von Daten im Kontext seiner Wechselbeziehungen mit anderen Daten zu definieren. Ein semantisches Datenmodell ist eine Abstraktion, die definiert, wie sich die gespeicherten Symbole auf die reale Welt beziehen.[16] Ein semantisches Datenmodell wird manchmal als a genannt Konzeptioneller Datenmodell.
Die logische Datenstruktur von a Datenbankverwaltungssystem (DBMS), ob Hierarchisch, Netzwerk, oder relational, kann das nicht vollständig befriedigen Bedarf Für eine konzeptionelle Definition von Daten, da sie im Umfang begrenzt sind und auf die von den DBMs angewandte Implementierungsstrategie verzerrt sind. Daher die Notwendigkeit, Daten von a zu definieren Konzeptionelle Sichtweise hat zur Entwicklung semantischer Datenmodellierungstechniken geführt. Das heißt, Techniken, um die Bedeutung von Daten im Kontext seiner Wechselbeziehungen mit anderen Daten zu definieren. Wie in der Abbildung dargestellt. Die reale Welt in Bezug auf Ressourcen, Ideen, Ereignisse usw. ist symbolisch in physischen Datenspeichern definiert. Ein semantisches Datenmodell ist eine Abstraktion, die definiert, wie sich die gespeicherten Symbole auf die reale Welt beziehen. Somit muss das Modell eine wahre Darstellung der realen Welt sein.[16]
Themen
Datenarchitektur
Die Datenarchitektur ist das Entwurf von Daten zur Verwendung bei der Definition des Zielstatus und der nachfolgenden Planung, die für den Zielzustand erforderlich ist. Es ist normalerweise eines von mehreren Architekturbereiche das bildet die Säulen eines Unternehmensstruktur oder Lösungsarchitektur.
Eine Datenarchitektur beschreibt die Datenstrukturen, die von einem Unternehmen und/oder seinen Anwendungen verwendet werden. Es gibt Beschreibungen von Daten in Speicher und Daten in Bewegung. Beschreibungen von Datenspeichern, Datengruppen und Datenelementen; und Zuordnungen dieser Datenartefakte zu Datenqualitäten, Anwendungen, Standorten usw.
Die Datenarchitektur beschreibt, wie Daten in einem bestimmten System verarbeitet, gespeichert und verwendet werden, wesentlich für die Realisierung des Zielzustands. Es enthält Kriterien für Datenverarbeitungsvorgänge, die es ermöglichen, Datenflüsse zu entwerfen und den Datenfluss im System zu steuern.
Datenmodellierung
Datenmodellierung in Softwareentwicklung Ist das Erstellen eines Datenmodells durch Anwenden formaler Datenmodellbeschreibungen mithilfe von Datenmodellierungstechniken. Die Datenmodellierung ist eine Technik zur Definition des Geschäfts Bedarf Für eine Datenbank. Es wird manchmal genannt Datenbankmodellierung Weil ein Datenmodell schließlich in einer Datenbank implementiert wird.[19]
Die Abbildung zeigt, wie Datenmodelle heute entwickelt und verwendet werden. EIN Konzeptioneller Datenmodell wird basierend auf den Daten entwickelt Bedarf für die Anwendung, die entwickelt wird, möglicherweise im Kontext eines Aktivitätsmodell. Das Datenmodell besteht normalerweise aus Entitätstypen, Attributen, Beziehungen, Integritätsregeln und den Definitionen dieser Objekte. Dies wird dann als Startpunkt für die Schnittstelle oder verwendet Datenbank Design.[8]
Dateneigenschaften
Einige wichtige Eigenschaften von Daten, für die Anforderungen erfüllt werden müssen, sind:
- Definitionsbezogene Eigenschaften[8]
- Relevanz: Die Nützlichkeit der Daten im Kontext Ihres Unternehmens.
- Klarheit: Die Verfügbarkeit einer klaren und gemeinsam genutzten Definition für die Daten.
- Konsistenz: Die Kompatibilität derselben Datentyp aus verschiedenen Quellen.
- inhaltsbezogene Eigenschaften
- Aktualität: Die Verfügbarkeit von Daten zum Zeitpunkt der erforderlichen Zeit und wie aktuell diese Daten sind.
- Richtigkeit: Wie nahe die Wahrheit die Daten sind.
- Eigenschaften im Zusammenhang mit Definition und Inhalten
- Vollständigkeit: Wie viel der erforderlichen Daten sind verfügbar.
- Barrierefreiheit: Wo, wie und wem die Daten verfügbar sind oder nicht (z. B. Sicherheit).
- kosten: Die Kosten, die beim Erhalten der Daten entstehen und sie zur Verfügung stellen.
Datenorganisation
Eine andere Art von Datenmodell beschreibt, wie Daten mit a organisiert werden können Datenbankverwaltungssystem oder andere Datenmanagementtechnologie. Es beschreibt beispielsweise relationale Tabellen und Spalten oder objektorientierte Klassen und Attribute. Ein solches Datenmodell wird manchmal als das bezeichnet Physikalisches DatenmodellAber in der ursprünglichen ANSI Three Schema -Architektur wird es "logisch" genannt. In dieser Architektur beschreibt das physische Modell die Speichermedien (Zylinder, Tracks und Tablespaces). Idealerweise wird dieses Modell aus dem oben beschriebeneren konzeptionellen Datenmodell abgeleitet. Es kann sich jedoch unterscheiden, Einschränkungen wie Verarbeitungskapazität und Nutzungsmuster zu berücksichtigen.
Während Datenanalyse ist ein häufiger Begriff für die Datenmodellierung, die Aktivität hat tatsächlich mehr mit den Ideen und Methoden von gemeinsam gemeinsam Synthese (Abschluss allgemeiner Konzepte aus bestimmten Fällen) als mit Analyse (Identifizierung von Komponentenkonzepten aus allgemeineren). {Vermutlich rufen wir uns an Systemanalysten Weil niemand sagen kann Systemsynthetiker.} Datenmodellierung bemüht sich, die interessierenden Datenstrukturen in ein zusammenhängendes, untrennbares, ganzes Ganzes zu verwandeln, indem unnötige Datenablösten beseitigt werden und Datenstrukturen miteinander in Verbindung gebracht werden Beziehungen.
Ein anderer Ansatz ist die Verwendung Adaptive Systeme wie zum Beispiel künstliche neurale Netzwerke Dies kann autonom implizite Datenmodelle erzeugen.
Datenstruktur
Eine Datenstruktur ist eine Möglichkeit, Daten in einem Computer zu speichern, damit sie effizient verwendet werden können. Es ist eine Organisation mathematischer und logischer Datenkonzepte. Oft erlaubt eine sorgfältig ausgewählte Datenstruktur am meisten effizient Algorithmus verwendet werden. Die Auswahl der Datenstruktur beginnt oft von der Wahl eines Zusammenfassung Datentyp.
Ein Datenmodell beschreibt die Struktur der Daten in einer bestimmten Domäne und implizit die zugrunde liegende Struktur dieser Domäne selbst. Dies bedeutet, dass ein Datenmodell tatsächlich eine engagierte spezifiziert Grammatik für eine dedizierte künstliche Sprache für diese Domäne. Ein Datenmodell repräsentiert Klassen von Entitäten (Art von Dingen), über die ein Unternehmen Informationen, die Attribute dieser Informationen und Beziehungen zwischen diesen Unternehmen und (oft impliziten) Beziehungen zwischen diesen Attributen enthalten möchte. Das Modell beschreibt die Organisation der Daten in gewissem Maße unabhängig davon, wie Daten in einem Computersystem dargestellt werden können.
Die von einem Datenmodell dargestellten Entitäten können die materiellen Einheiten sein, aber Modelle, die solche konkreten Entitätsklassen enthalten, ändern sich im Laufe der Zeit dazu, sich im Laufe der Zeit zu ändern. Robuste Datenmodelle identifizieren sich häufig Abstraktionen solcher Einheiten. Zum Beispiel könnte ein Datenmodell eine Entitätsklasse namens "Person" enthalten, die alle Personen repräsentiert, die mit einer Organisation interagieren. So ein abstrakte Entität Die Klasse ist in der Regel angemessener als die sogenannten "Verkäufer" oder "Mitarbeiter", die bestimmte Rollen identifizieren, die von diesen Personen gespielt werden.
Array
Datenmodelltheorie
Das Begriffsdatenmodell kann zwei Bedeutungen haben:[20]
- Ein Datenmodell Theorie, d.h. eine formale Beschreibung, wie Daten strukturiert und zugegriffen werden können.
- Ein Datenmodell Beispiel, d. h. Anwenden eines Datenmodells Theorie Um ein praktisches Datenmodell zu erstellen Beispiel für eine bestimmte Anwendung.
Eine Datenmodelltheorie hat drei Hauptkomponenten:[20]
- Der strukturelle Teil: Eine Sammlung von Datenstrukturen, mit denen Datenbanken erstellt werden, die die von der Datenbank modellierten Entitäten oder Objekte darstellen.
- Der Integritätsteil: Eine Sammlung von Regeln für die Einschränkungen dieser Datenstrukturen, um die strukturelle Integrität zu gewährleisten.
- Der Manipulationsteil: Eine Sammlung von Operatoren, die auf die Datenstrukturen angewendet werden können, um die in der Datenbank enthaltenen Daten zu aktualisieren und abzufragen.
Zum Beispiel in der Relationales ModellDer strukturelle Teil basiert auf einem modifizierten Konzept der mathematische Beziehung; Der Integritätsteil wird in ausgedrückt Logik erster Ordnung und der Manipulationsteil wird mit dem ausgedrückt Relationale Algebra, Tupelrechnung und Domänenrechnung.
Eine Datenmodellinstanz wird durch Anwenden einer Datenmodelltheorie erstellt. Dies wird in der Regel durchgeführt, um einige Unternehmensunternehmensanforderungen zu lösen. Geschäftsanforderungen werden normalerweise von einem semantischen erfasst Logisches Datenmodell. Dies wird in eine physische Datenmodellinstanz umgewandelt, von der eine physische Datenbank generiert wird. Beispielsweise kann ein Datenmodellierer ein Datenmodellierungs -Tool zum Erstellen eines verwenden Entitätsbeziehungsmodell des Unternehmensdaten -Repositorys eines Unternehmensunternehmens. Dieses Modell wird in a verwandelt Relationales Modell, was wiederum a erzeugt a relationale Datenbank.
Muster
Muster[21] sind gemeinsame Datenmodellierungsstrukturen, die in vielen Datenmodellen auftreten.
Verwandte Modelle
Datenflussdiagramm
Ein Datenflussdiagramm (DFD) ist eine grafische Darstellung des "Datenflusss" von Daten durch eine Informationssystem. Es unterscheidet sich von der Flussdiagramm wie es das zeigt Daten fließen statt der Kontrolle Fluss des Programms. Ein Datenflussdiagramm kann auch für die verwendet werden Visualisierung von Datenverarbeitung (strukturiertes Design). Datenflussdiagramme wurden von erfunden von Larry Constantine, der ursprüngliche Entwickler des strukturierten Designs,[23] Basierend auf Martin und Estrins "Data-Flow-Graph" -Rechermodell.
Es ist üblich, a zu zeichnen Datenflussdiagramm auf Kontextebene Erstens zeigt die Wechselwirkung zwischen System und externen Einheiten. Das DFD soll zeigen, wie ein System in kleinere Portionen unterteilt ist, und um den Datenfluss zwischen diesen Teilen hervorzuheben. Dieses Datenflussdiagramm auf Kontextebene wird dann "explodiert", um mehr Details des zu modellierten Systems zu zeigen
Informationsmodell
Ein Informationsmodell ist keine Art von Datenmodell, sondern mehr oder weniger ein alternatives Modell. Im Bereich der Software -Engineering können sowohl ein Datenmodell als auch ein Informationsmodell abstrakt sein, formale Darstellungen von Entitätstypen, die ihre Eigenschaften, Beziehungen und die auf ihnen durchgeführten Vorgänge umfassen. Die Entitätstypen im Modell können Arten von realen Objekten sein, wie z. B. Geräte in einem Netzwerk, oder sie können selbst abstrakt sein, z. B. für die in einem Abrechnungssystem verwendeten Einheiten. Typischerweise werden sie verwendet, um eine eingeschränkte Domäne zu modellieren, die durch einen geschlossenen Satz von Entitätstypen, Eigenschaften, Beziehungen und Operationen beschrieben werden kann.
Laut Lee (1999)[24] Ein Informationsmodell ist eine Darstellung von Konzepten, Beziehungen, Einschränkungen, Regeln und Operationen konkretisieren Datensemantik für einen gewählten Diskursbereich. Es kann gemeinsam genutzbare, stabile und organisierte Struktur der Informationsanforderungen für den Domänenkontext bereitstellen.[24] Mehr im Allgemeinen der Begriff Informationsmodell wird für Modelle einzelner Dinge wie Einrichtungen, Gebäude, Prozessanlagen usw. verwendet. In diesen Fällen ist das Konzept spezialisiert Einrichtung Informationsmodell, Gebäudeinformationsmodell, Anlageninformationsmodell usw. Ein solches Informationsmodell ist eine Integration eines Modells der Einrichtung mit den Daten und Dokumenten zur Einrichtung.
Ein Informationsmodell bietet Formalismus für die Beschreibung einer Problemdomäne, ohne einzuschränken, wie diese Beschreibung einer tatsächlichen Implementierung in der Software zugeordnet wird. Es kann viele Zuordnungen des Informationsmodells geben. Solche Zuordnungen werden als Datenmodelle bezeichnet, unabhängig davon, ob sie es sind Objektmodelle (z. B. Verwendung Uml), Entitätsbeziehungsmodelle oder XML -Schemata.
Objektmodell
Ein Objektmodell in Informatik ist eine Sammlung von Objekten oder Klassen, durch die ein Programm einige bestimmte Teile seiner Welt untersuchen und manipulieren kann. Mit anderen Worten, die objektorientierte Schnittstelle zu einem Dienst oder System. Eine solche Schnittstelle soll die sein Objektmodell von der dargestellte Dienst oder System. Zum Beispiel die Dokumentobjektmodell (DOM) [1] ist eine Sammlung von Objekten, die a darstellen Seite in einem Webbrowser, benutzt von Skript Programme zur Untersuchung und dynamisch verändern die Seite. Da ist ein Microsoft Excel Objektmodell[25] zur Steuerung von Microsoft Excel aus einem anderen Programm und der Ascom Teleskoper[26] ist ein Objektmodell zur Kontrolle eines astronomischen Teleskops.
Im Computer der Begriff Objektmodell hat eine deutliche zweite Bedeutung der allgemeinen Eigenschaften von Objekte in einem bestimmten Computer Programmiersprache, Technologie, Notation oder Methodik Das benutzt sie. Zum Beispiel die Java Objektmodell, das Com Objektmodell, oder das Objektmodell von OMT. Solche Objektmodelle werden normalerweise unter Verwendung von Konzepten wie definiert, z. B. Klasse, Botschaft, Nachlass, Polymorphismus, und Verkapselung. Es gibt eine umfangreiche Literatur zu formalisierten Objektmodellen als Untergruppe der Formale Semantik von Programmiersprachen.
Objektrollenmodell
Objektrollenmodellierung (ORM) ist eine Methode für Konzeptionelle Modellierungund kann als Instrument zur Informations- und Regelnanalyse verwendet werden.[28]
Die Objektrollenmodellierung ist eine faktenorientierte Methode zur Ausführung Systemanalyse auf konzeptioneller Ebene. Die Qualität einer Datenbankanwendung hängt kritisch von ihrem Design ab. Um die Korrektheit, Klarheit, Anpassungsfähigkeit und Produktivität sicherzustellen, werden Informationssysteme zuerst auf konzeptioneller Ebene am besten spezifiziert, wobei Konzepte und Sprache verwendet werden, die Menschen leicht verstehen können.
Das konzeptionelle Design kann Daten-, Prozess- und Verhaltensperspektiven umfassen, und die tatsächlichen DBMs, die zur Implementierung des Designs verwendet werden, kann auf einem von vielen logischen Datenmodellen basieren (relational, hierarchisch, netzwerk, objektorientiert usw.).[29]
Einheitliche Modellierungssprachmodelle
Die Unified Modeling Language (UML) ist ein standardisiertes Allgemeinzweck Modellierungssprache auf dem Gebiet der Softwareentwicklung. Es ist ein Grafische Sprache zum Visualisieren, Angeben, Erstellen und Dokumentieren der Artefakte eines softwareintensiven Systems. Die einheitliche Modellierungssprache bietet eine Standardmethode, um die Blaupausen eines Systems zu schreiben, einschließlich:[30]
- Konzeptionelle Dinge wie z. Geschäftsprozesse und Systemfunktionen
- Konkrete Dinge wie Programmiersprache Aussagen, Datenbankschemata und
- Wiederverwendbar Softwarekomponenten.
UML bietet eine Mischung aus Funktionsmodelle, Datenmodelle und Datenbankmodelle.
Siehe auch
- Geschäftsprozessmodell
- Kernarchitekturdatenmodell
- Gemeinsames Datenmodell, jedes standardisierte Datenmodell
- Datenerfassungssystem
- Datenwörterbuch
- Datenformat Beschreibung Sprache (DFDL)
- Verteilungs -Relational -Datenbank
- JC3IMIEDM
- Prozessmodell
Verweise
- ^ "UML -Domänenmodellierung - Stapelüberlauf". Paketüberfluss. Stack Exchange Inc. Abgerufen 4. Februar 2017.
- ^ "XQuery- und XPath -Datenmodell 3.1". World Wide Web Consortium (W3C). W3c. Abgerufen 4. Februar 2017.
- ^ "Datenmodell". NPM. NPM, Inc. Abgerufen 4. Februar 2017.
- ^ "Datamodel (Java ee 6)". Java -Dokumentation. Orakel. Abgerufen 4. Februar 2017.
- ^ Ostrovskiy, Stan. "iOS: Drei Möglichkeiten, Daten vom Modell an den Controller zu übergeben". Mittel. Eine mittlere Gesellschaft. Abgerufen 4. Februar 2017.
- ^ Paul R. Smith & Richard Sarfaty Publications, LLC 2009
- ^ Michael R. McCaleb (1999). "Ein konzeptionelles Datenmodell von Datum Systems" Archiviert 2008-09-21 im Wayback -Maschine. Nationales Institut für Standards und Technologie. August 1999.
- ^ a b c d e f g h i j k Matthew West und Julian Fowler (1999). Entwicklung hochwertiger Datenmodelle entwickeln. Die Europäische Prozessindustrie tritt technische Verbindungsleiterin (EPISTLE).
- ^ American National Standards Institute. 1975. ANSI/X3/SPARC -Studiengruppe für Datenbankmanagementsysteme; Zwischenbericht. FDT (Bulletin von ACM Sigmod) 7: 2.
- ^ Young, J. W. und Kent, H. K. (1958). "Zusammenfassung Formulierung von Datenverarbeitungsproblemen". Im: Journal of Industrial Engineering. Nov.-Dez. 1958. 9 (6), S. 471-479
- ^ a b Janis A. TOMMENKO Jr. (2007) "Von der Informationsalgebra bis zur Unternehmensmodellierung und der Ontologien - eine historische Perspektive auf die Modellierung für Informationssysteme". Im: Konzeptionelle Modellierung im Informationssystem Engineering. John Krogstie et al. eds. S. 1-18
- ^ Cornelius T. Leondes (2002). Datenbank- und Datenkommunikationsnetzwerksysteme: Techniken und Anwendungen. Seite 7
- ^ "Derivierbarkeit, Redundanz und Konsistenz der in großen Datenbanken gespeicherten Beziehungen", E. F. Codd, IBM Research Report, 1969
- ^ Daten und Realität
- ^ Jan L. Harrington (2000). Objektorientiertes Datenbankdesign wurde klar erklärt. S.4
- ^ a b c d FIPS -Veröffentlichung 184 Archiviert 2013-12-03 bei der Wayback -Maschine Freigegeben von IDEF1X vom Computer Systems Laboratory des National Institute of Standards and Technology (NIST). 21. Dezember 1993 (2008 zurückgezogen).
- ^ Wade, T. und Sommer, S. eds. A zu z gis
- ^ a b c d David R. Soller1 und Thomas M. Berg (2003). Das National Geologic Map Database Project: Übersicht und Fortschritt US Geological Survey Open-File-Bericht 03–471.
- ^ Whitten, Jeffrey L.; Lonnie D. Bentley, Kevin C. Dittman. (2004). Systemanalyse- und Designmethoden. 6. Ausgabe. ISBN0-256-19906-x.
- ^ a b Beynon-Davies P. (2004). Datenbanksysteme 3. Auflage. Palgrave, Basingstoke, Großbritannien. ISBN1-4039-1601-2
- ^ "Das Datenmodell -Ressourcenbuch: Universelle Muster für die Datenmodellierung" Len Silverstone & Paul Agnew (2008).
- ^ John Azzolini (2000). Einführung in Systemtechnikpraktiken. Juli 2000.
- ^ W. Stevens, G. Myers, L. Constantine, "Structured Design", IBM Systems Journal, 13 (2), 115-139, 1974.
- ^ a b Y. Tina Lee (1999). "Informationsmodellierung vom Design zur Implementierung" Nationales Institut für Standards und Technologie.
- ^ Excel -Objektmodellübersicht
- ^ "Ascom Allgemeine Anforderungen". 2011-05-13. Abgerufen 2014-09-25.
- ^ Stephen M. Richard (1999). Geologische Konzeptmodellierung. US Geological Survey Open-File-Bericht 99-386.
- ^ Joachim Rossberg und Rickard Redler (2005). Pro skalierbares .net 2.0 -Anwendungsdesigns.. Seite 27
- ^ Objektvormodellierung: Eine Übersicht (msdn.microsoft.com). Abgerufen am 19. September 2008.
- ^ Grady Booch, Ivar Jacobson & Jim Rumbaugh (2005) OMG Unified Modeling Sprachspezifikation.
Weitere Lektüre
- David C. Hay (1996). Datenmodellmuster: Überlegungen des Denkens.New York: Dorset House Publishers, Inc.
- Len Silverston (2001). Das Datenmodell -Ressourcenbuch Band 1/2.John Wiley & Sons.
- Len Silverston & Paul Agnew (2008). Das Datenmodell -Ressourcenbuch: Universelle Muster für die Datenmodellierung Band 3. John Wiley & Sons.
- Matthew West und Julian Fowler (1999). Entwicklung hochwertiger Datenmodelle entwickeln. Die Europäische Prozessindustrie tritt technische Verbindungsleiterin (EPISTLE).
- Matthew West (2011) Entwicklung hochwertiger Datenmodelle entwickeln Morgan Kaufmann