Mit dem Gegenstandverwandtschaftsdatenbank

Eine mit dem Gegenstandverwandtschaftsdatenbank (ORD) oder mit dem Gegenstandverwandtschaftsdatenbankverwaltungssystem (ORDBMS), ist ein Datenbankverwaltungssystem (DBMS), der einer Verwandtschaftsdatenbank, aber mit einem objektorientierten Datenbankmodell ähnlich ist: Gegenstände, Klassen und Erbe werden in Datenbankdiagrammen und auf der Anfragensprache direkt unterstützt. Außerdem, ebenso mit richtigen Verwandtschaftssystemen, unterstützt es Erweiterung des Datenmodells mit kundenspezifischen Datentypen und Methoden.

Wie man

sagen kann, stellt eine mit dem Gegenstandverwandtschaftsdatenbank einen Mittelgrund zwischen Verwandtschaftsdatenbanken und objektorientierten Datenbanken (OODBMS) zur Verfügung. In mit dem Gegenstandverwandtschaftsdatenbanken ist die Annäherung im Wesentlichen die von Verwandtschaftsdatenbanken: Die Daten wohnen in der Datenbank und werden insgesamt mit Abfragen auf einer Anfragensprache manipuliert; am anderen Extrem sind OODBMSes, in dem die Datenbank im Wesentlichen ein beharrlicher Gegenstand-Laden für die Software ist, die auf einer objektorientierten Programmiersprache mit einer Programmier-API geschrieben ist, um Gegenstände und wenig oder keine spezifische Unterstützung für das Fragen zu versorgen und wiederzubekommen.

Übersicht

Die grundlegende Absicht für die mit dem Gegenstandverwandtschaftsdatenbank ist, die Lücke zwischen Verwandtschaftsdatenbanken und den objektorientierten modellierenden Techniken zu überbrücken, die auf Programmiersprachen wie Java, C ++, Visueller Grundlegender.NET oder C# verwendet sind. Jedoch soll eine populärere Alternative, um solch eine Brücke zu erreichen, eine Standardverwandtschaftsdatenbank Systeme mit einer Form der Software der mit dem Gegenstand Verwandtschafts-Kartografisch darzustellen (ORM) verwenden. Wohingegen sich traditioneller RDBMS oder SQL-DBMS Produkte auf das effiziente Management von von einem beschränkten Satz von Datentypen gezogenen Daten konzentriert haben (definiert durch die relevanten Sprachstandards), erlaubt ein mit dem Gegenstandverwandtschafts-DBMS Softwareentwicklern, ihre eigenen Typen und die Methoden zu integrieren, die für sie in den DBMS gelten.

Der ORDBMS (wie ODBMS oder OODBMS) wird mit einer objektorientierten Programmiersprache integriert. Die charakteristischen Eigenschaften von ORDBMS sind 1) komplizierte Daten, 2) Typ-Erbe, und 3) Gegenstand-Verhalten. Die komplizierte Datenentwicklung im grössten Teil von SQL ORDBMSs basiert auf der einleitenden Diagramm-Definition über den benutzerbestimmten Typ (UDT). Die Hierarchie innerhalb von strukturierten komplizierten Daten bietet ein zusätzliches Eigentum, Typ-Erbe an. D. h. ein strukturierter Typ kann Subtypen haben, dass Wiedergebrauch alle seine Attribute und zusätzliche zum Subtyp spezifische Attribute enthält. Ein anderer Vorteil, das Gegenstand-Verhalten, ist mit dem Zugang zu den Programm-Gegenständen verbunden. Solche Programm-Gegenstände müssen lagerfähig und für die Datenbankverarbeitung transportfähig sein, deshalb werden sie gewöhnlich als beharrliche Gegenstände genannt. Innerhalb einer Datenbank sind alle Beziehungen mit einem beharrlichen Programm-Gegenstand Beziehungen mit seinem Gegenstand-Bezeichner (OID). Alle diese Punkte können in einem richtigen Verwandtschaftssystem gerichtet werden, obwohl der SQL Standard und seine Durchführungen willkürliche Beschränkungen und zusätzliche Kompliziertheit auferlegen

In der objektorientierten Programmierung (OOP) wird Gegenstand-Verhalten durch die Methoden (Gegenstand-Funktionen) beschrieben. Die durch einen Namen angezeigten Methoden sind durch den Typ ihrer Rahmen und Typ von Gegenständen bemerkenswert, für die sie (Methode-Unterschrift) angehaftet haben. Die OOP Sprachen nennen das den polymorphism Grundsatz, der kurz als "eine Schnittstelle, viele Durchführungen" definiert wird. Andere OOP Grundsätze, Erbe und encapsulation sind beide, mit Methoden und Attributen verbunden. Methode-Erbe wird ins Typ-Erbe eingeschlossen. Encapsulation in OOP ist ein Sichtbarkeitsgrad erklärt zum Beispiel durch die ÖFFENTLICHEN, PRIVATEN und GESCHÜTZTEN Modifikatoren.

Geschichte

Mit dem Gegenstandverwandtschaftsdatenbankverwaltungssysteme sind aus der Forschung gewachsen, die am Anfang der 1990er Jahre vorgekommen ist. Diese Forschung hat vorhandene Verwandtschaftsdatenbankkonzepte durch das Hinzufügen von Gegenstand-Konzepten erweitert. Die Forscher haben zum Ziel gehabt, eine Prozedurvereinbarung anfragensprachig gestützt auf der Prädikat-Rechnung als ein Hauptbestandteil der Architektur zu behalten. Wahrscheinlich hat das bemerkenswerteste Forschungsprojekt, Postgres (UC Berkeley), zwei Produkte erzeugt, die ihre Abstammung zu dieser Forschung verfolgen: Illustra und PostgreSQL.

Mitte der 1990er Jahre früh sind kommerzielle Produkte erschienen. Diese haben Illustra eingeschlossen (Illustra Informationssysteme, die erworben sind, durch den der Reihe nach von IBM erworben wurde), Allwissenheit (Omniscience Corporation, die von Oracle Corporation erworben ist, und das ursprüngliche Orakel Lite geworden ist), und UniSQL (UniSQL, Inc., die durch KCOMS erworben ist). Ukrainischer Entwickler Ruslan Zasukhin, Gründer von Paradigma Software, Inc., hat entwickelt und hat die erste Version der Datenbank von Valentina Mitte der 1990er Jahre als ein C ++ SDK verladen. Vor dem nächsten Jahrzehnt war PostgreSQL eine gewerblich lebensfähige Datenbank geworden und ist die Basis für mehrere Produkte heute, die seine ORDBMS-Eigenschaften aufrechterhalten.

Computerwissenschaftler sind gekommen, um diese Produkte als "mit dem Gegenstandverwandtschaftsdatenbankverwaltungssysteme" oder ORDBMSs zu kennzeichnen.

Viele der Ideen von frühen mit dem Gegenstandverwandtschaftsdatenbankanstrengungen sind eingetragen in SQL:1999 größtenteils geworden. Tatsächlich konnte jedes Produkt, das an den objektorientierten Aspekten von SQL:1999 klebt, als ein mit dem Gegenstandverwandtschaftsdatenbankverwaltungsprodukt beschrieben werden. Zum Beispiel erheben die DB2 von IBM, Orakel-Datenbank, und Microsoft SQL Server, Ansprüche, diese Technologie zu unterstützen und so mit unterschiedlichen Graden des Erfolgs zu tun.

Vergleich zu RDBMS

Ein RDBMS könnte SQL Behauptungen wie diese allgemein einschließen:

SCHAFFEN SIE TABELLEN-Kunden (

Id ROTFORELLE (12) NICHT UNGÜLTIGER PRIMÄRER SCHLÜSSEL,

Nachname VARCHAR (32) NICHT UNGÜLTIG,

FirstName VARCHAR (32) NICHT UNGÜLTIG,

DATUM VON DOB NICHT UNGÜLTIGER

);

WÄHLEN SIE InitCap (Nachname) ||', '|| InitCap (Vorname) AUS

VON Kunden

WO Monat (DOB) = Monat (getdate )

UND Tag (DOB) = Tag (getdate )

</Quelle>

Die meisten SQL Datenbanken erlauben das Fertigen von kundenspezifischen Funktionen, die der Abfrage erlauben würden, als zu erscheinen:

WÄHLEN SIE formell (Idaho) AUS

VON Kunden

WO Geburtstag (Idaho) = heute

</Quelle>

In einer mit dem Gegenstandverwandtschaftsdatenbank könnte man etwas wie das, mit benutzerbestimmten Datentypen und Ausdrücken sehen wie:

SCHAFFEN SIE TABELLEN-Kunden (

Id Cust_Id NICHT UNGÜLTIGER PRIMÄRER SCHLÜSSEL,

Nennen Sie PersonName NICHT UNGÜLTIG,

DATUM VON DOB NICHT UNGÜLTIGER

);

WÄHLEN SIE formell (C.Id) AUS

VON Kunden C

WO BirthDay (C.DOB) = HEUTE;

</Quelle>

Das mit dem Gegenstandverwandtschaftsmodell kann einen anderen Vorteil anbieten, in dem die Datenbank von den Beziehungen zwischen Daten Gebrauch machen kann, um verwandte Aufzeichnungen leicht zu sammeln. In einer Adressbuchanwendung würde ein zusätzlicher Tisch zu denjenigen oben hinzugefügt, um Null oder mehr Adressen für jeden Benutzer zu halten. Das Verwenden eines traditionellen RDBMS, das Sammeln der Information sowohl für den Benutzer als auch für ihre Adresse verlangen eine "Verbindungslinie":

WÄHLEN SIE InitCap (C.Surname) ||', '|| InitCap (C.FirstName), A.city AUS

VON Kunden C schließen sich Adressen AUF Cust_Id=C.Id - die Verbindungslinie an

WO A.city = "New York"

</Quelle>

Dieselbe Abfrage in einer mit dem Gegenstandverwandtschaftsdatenbank erscheint einfacher:

WÄHLEN SIE formell (C.Name) AUS

VON Kunden C

WO C.address.city = "New York" - die Verbindung durch den ORDB 'verstanden' wird

</Quelle>

Siehe auch

Außenverbindungen

  • .
  • — der Vergleich Javas JPA ORM Produkte (Überwintern EclipseLink, OpenJPA, DataNucleus).
  • — zeigt die Leistungsumtausche für Lösungen im mit dem Gegenstandverwandtschaftsscheinwiderstand-Fehlanpassungszusammenhang.

Stamm von Ephraim / Erdkunde von Belize
Impressum & Datenschutz