Das relationale Modell und das objektorientierte Paradigma
Das 1970 von Dr. EF Codd entwickelte relationale Modell auf dem neuesten Stand der Technik ist eine angewandte Wissenschaft auf dem Gebiet der Datenbankverwaltung. Seine zwei festen Pilars sind Logik erster Ordnung und Mengenlehre.
Das von Dr. Alan Kay entwickelte objektorientierte Paradigma ist ein Ansatz, der zum Erstellen von Anwendungsprogrammen nützlich ist. Es hat sich bei der Erstellung grafischer Benutzeroberflächen als sehr effektiv erwiesen, die die Interaktion zwischen Endbenutzern und Informationssystemen erleichtern.
Wie bereits erwähnt, dient jedes der beiden oben genannten Frameworks einem ganz bestimmten Zweck. Wenn beide verwendet werden, um die geeignete Art von Komponente zu generieren, können sie in einem Softwareentwicklungsprojekt eine große Hilfe sein.
Datenbankadministration, Anwendungsprogramme und der Begriff „objektrelational“
Vor der Konzeption und Entwicklung des relationalen Modells war (a) das Entwerfen, Erstellen und Verwalten von Anwendungsprogrammen stark mit (b) dem Entwerfen, Erstellen und Verwalten der Daten (all dies auf Ad-hoc-Weise) vermischt . Es gab keine Wissenschaft, um die Daten allgemein und solide zu behandeln. Dr. EF Codd war tatsächlich Programmierer bei IBM und sah sich den Schwierigkeiten, die durch diese Umstände verursacht wurden, aus erster Hand gegenüber. Mit seiner Brillanz, praktischen Erfahrung und seinem mathematischen Hintergrund war er in der Lage, sich eine elegante und robuste Grundlage für die Verwaltung der Daten vorzustellen und zu entwickeln, die es neben anderen wesentlichen Faktoren ermöglicht, diese Ressource anwendungsprogrammunabhängig zu handhaben.
Ich bin mir nicht sicher, aber falls ein "objektrelationales" Datenbankverwaltungssystem existieren sollte, wäre es ein Artefakt, auf dem "objektrelationale" Datenbanken implementiert werden könnten. Eine "objektrelationale" Datenbank wäre ein Gerät, das durch eine Verschränkung objektorientierter Konstrukte zusammen mit relationalen Instrumenten erstellt wurde.
Es ist schwer zu sagen, ob ein Datenbankverwaltungssystem der oben beschriebenen Art existieren kann, da durch die Einführung objektorientierter Konstrukte viele der relationalen Fähigkeiten gefährdet werden (relevante Informationen finden Sie in den „Zwölf Regeln von Codd“) kaum als relationales werden könnte , auch wenn es sein würde , zum Teil so.
Tatsächlich ist (i) das Anhängen objektorientierter Tools an ein relationales Datenbankverwaltungssystem und (ii) deren Verwendung in den darüber implementierten relationalen Datenbanken völlig unnötig.
Dennoch gibt es „aktuelle“ Meinungen, die über objektorientierte Muster eine Mischung aus Design, Erstellung und Verwaltung in Bezug auf (a) Anwendungsprogramme und (b) Datenbanken befürworten. Dies kann als Aufforderung interpretiert werden, eine Regression in eine vorwissenschaftliche (dh vorrelationale) Ära in Bezug auf den Datenbankteil vorzunehmen (da es natürlich kein objektorientiertes Modell für die Datenverwaltung gibt). .
Das relationale Modell bietet seinerseits allgemeine und starke Mechanismen zum Entwerfen (der logischen Struktur), Einschränken (der Werte) und Manipulieren (mit Abstraktionen) der Daten. Einer ihrer Vorteile ist, dass sie sehr einfach (aber niemals simpel) sind. Um die oben genannten Mechanismen optimal nutzen zu können, muss ein Datenbankadministrator / -betreiber unbedingt mit Beziehungen arbeiten (die in einer bestimmten SQL-Plattform normalerweise als Tabellen deklariert sind), und wie Sie wissen, ist eine Beziehung oder Tabelle nicht Teil der objektorientiertes Paradigma (das weder Datenintegritätsbeschränkungen noch allgemeine Datenmanipulationsoperationen bereitstellt und dies auch nicht tun soll).
Die Kraft einer relationalen Sprache liegt in ihren Ausdrucksmöglichkeiten, nicht in ihren rechnerischen Aspekten. Grob gesagt, wenn man relationalen Methoden folgt, erklärt man die Struktur der interessierenden Dinge (wie sie sind, ihre Struktur), während man sich mit einer objektorientierten Sprache (z. B. Smalltalk) hauptsächlich mit dem Verhalten der Dinge von Bedeutung befassen sollte (wie sie tun, was sie tun, welche Prozesse sie ausführen), was für die Programmierung einer Anwendung von größter Bedeutung ist.
Einer der vielfältigen Vorteile einer relationalen Datenbank besteht darin, dass sie, da sie unabhängig von den in der Anwendungsprogrammierungsphase verwendeten Sprachen oder Paradigmen entworfen werden muss, mit mehreren Sprachen und / oder Anwendungsprogrammierparadigmen und / oder mehreren Anwendungen zusammenarbeiten kann Programme zur gleichen Zeit.
Abgesehen davon muss eine relationale Datenbank von einem Designer erstellt werden, der relationalen Prinzipien folgt. Daher gewährt die Konstruktion von (1) einer bestimmten Datenbank auf (2) einem bestimmten relationalen Datenbankverwaltungssystem dieser bestimmten Datenbank nicht automatisch die relationale Bezeichnung .
Die ArcGIS- Geodatabase
Mit der Absicht, das Verständnis der arcgis.com- Links zu erleichtern, die Sie in Ihre Frage aufnehmen, bin ich der Ansicht, dass der Begriff Geodatabase tatsächlich eine kontextbezogene Bezeichnung für ein vollständiges geografisches Informationssystem ist, das möglicherweise enthalten ist
- eine oder mehrere geeignete Datenbanken, die auf einem oder mehreren Datenbankverwaltungssystemen basieren, und
- ein oder mehrere Anwendungsprogramme, die mit den Datenbanken zusammenarbeiten.
Schauen wir uns in diesem Zusammenhang die Architektur der richtigen Datenbank (en) einer Geodatabase an , in der Folgendes angegeben ist:
Das Geodatabase-Speichermodell basiert auf einer Reihe einfacher, aber wesentlicher relationaler Datenbankkonzepte und nutzt die Stärken des zugrunde liegenden Datenbankverwaltungssystems (DBMS). Einfache Tabellen und genau definierte Attributtypen werden zum Speichern der Schema-, Regel-, Basis- und räumlichen Attributdaten für jedes geografische Dataset verwendet. Dieser Ansatz bietet ein formales Modell zum Speichern und Arbeiten mit Ihren Daten. Durch diesen Ansatz kann strukturierte Abfragesprache (SQL) - eine Reihe relationaler Funktionen und Operatoren - zum Erstellen, Ändern und Abfragen von Tabellen und deren Datenelementen verwendet werden.
Dies deutet darauf hin, dass die Daten unabhängig von den Anwendungsprogrammen verarbeitet werden, die darauf zugreifen, und dies wäre natürlich sehr wertvoll.
Dann Diese Seite enthält die folgenden Untertitel (in Form einer Behauptung) und Absatz:
Die Geodatabase ist objektrelational
Die Geodatabase verwendet eine mehrschichtige Anwendungsarchitektur, indem erweiterte Logik und Verhalten in der Anwendungsebene über der Datenspeicherebene implementiert werden (verwaltet in verschiedenen Datenbankverwaltungssystemen [DBMS], Dateien oder erweiterbarer Auszeichnungssprache [XML]). Die Anwendungslogik der Geodatabase unterstützt eine Reihe von generischen GIS-Datenobjekten (Geographic Information System) und Verhaltensweisen wie Feature-Classes, Raster-Datasets, Topologien, Netzwerke und vieles mehr.
Welche scheint darauf hinzudeuten , dass die Gegenstände Verhalten (die Art und Weise , in der das Anwendungsprogramm Objekte Akt ) behandelt wird , wo sie behandelt werden soll, das heißt, auf der Anwendungsprogrammebene (oder „Tier“, wie dort beschrieben).
Zurück auf der Seite mit der Geodatabase- Architektur werden ein identischer Titel und ein Absatz, der dem oben genannten sehr ähnlich ist, wie folgt eingeführt:
Die Geodatabase ist objektrelational
Die Geodatabase wird unter Verwendung derselben mehrschichtigen Anwendungsarchitektur implementiert, die auch in anderen erweiterten DBMS-Anwendungen verwendet wird. An seiner Umsetzung ist nichts Exotisches oder Ungewöhnliches. Die mehrschichtige Architektur der Geodatabase wird manchmal als objektrelationales Modell bezeichnet. Die Geodatabase-Objekte bleiben als identische Zeilen in DBMS-Tabellen erhalten, und das Verhalten wird über die Geodatabase-Anwendungslogik bereitgestellt. Die Trennung der Anwendungslogik vom Speicher ermöglicht die Unterstützung mehrerer verschiedener DBMS und Datenformate.
Ein Auszug, der meine Aufmerksamkeit auf besondere Weise auf sich zieht, ist „Die Geodatabase-Objekte bleiben als Zeilen in DBMS-Tabellen mit Identität erhalten“, was irreführend ist, da die Tabellen (dh Beziehungen) einer relationalen Datenbank Zeilen (dh Tupel) enthalten, die darstellen Zusicherungen , die eine bestimmte Bedeutung haben, die von einem bestimmten Geschäftsdomänenprädikat bereitgestellt wird (das zum Definieren eines Entitätstyps verwendet werden kann), daher werden Objekte nicht "beibehalten". Da ein wesentliches Merkmal eines Objekts sein Verhalten (im Grunde seine Methoden ) ist, wäre es außerdem sehr interessant zu wissen, wie es in einer relationalen Datenbank „persistiert“ wird.
Andererseits scheint das signifikante Fragment „Die Trennung der Anwendungslogik vom Speicher ermöglicht die Unterstützung mehrerer verschiedener DBMS und Datenformate“ die enorme Relevanz der getrennten Behandlung der Daten vom Anwendungsprogramm zu betonen.
Fazit
Mein Fazit ist, dass eine ArcGIS- Geodatabase weder (a) eine objektrelationale Datenbank noch (b) ein objektrelationales Datenbankverwaltungssystem ist. Es kann gut sein, wie bereits erwähnt, ein vollständiges geographisches Informationssystem , das aus (i) einem oder mehreren besteht tatsächlichen Datenbanken (von denen einige könnte mehr oder weniger relational) und (ii) ein oder mehrere Anwendungsprogramme (von denen einige könnte mehr oder weniger objektorientiert sein) auf die Datenbanken zugreifen.
Vielleicht wird es deshalb kontextuell als "objektrelational" bezeichnet.