Gegenstand-Datenbank

Eine Gegenstand-Datenbank (auch objektorientiertes Datenbankverwaltungssystem) ist ein Datenbankverwaltungssystem, in dem Information in der Form von Gegenständen, wie verwendet, in der objektorientierten Programmierung vertreten wird. Gegenstand-Datenbanken sind von Verwandtschaftsdatenbanken verschieden, und gehört zum breiteren Datenbankverwaltungssystem zusammen.

Gegenstand-Datenbanken sind betrachtet worden seit dem Anfang der 1980er Jahre und der 1990er Jahre können sie in der einfachen kommerziellen Massendatentransaktion langsamer sein. Gegenstand-Datenbanken Hauptgebrauch ist im Gegenstand, haben Gebiete orientiert.

Übersicht

Wenn Datenbankfähigkeiten mit objektorientierten Programmiersprache-Fähigkeiten verbunden werden, ist das Ergebnis ein objektorientiertes Datenbankverwaltungssystem (OODBMS).

OODBMS erlauben objektorientierten Programmierern, das Produkt zu entwickeln, sie als Gegenstände zu versorgen, und vorhandene Gegenstände zu wiederholen oder zu modifizieren, neue Gegenstände innerhalb des OODBMS zu machen. Weil die Datenbank mit der Programmiersprache integriert wird, kann der Programmierer Konsistenz innerhalb einer Umgebung, in dieser aufrechterhalten sowohl der OODBMS als auch die Programmiersprache werden dasselbe Modell der Darstellung verwenden. Verwandtschafts-DBMS-Projekte, über die Unähnlichkeit, unterstützen eine klarere Abteilung zwischen dem Datenbankmodell und der Anwendung.

Als der Gebrauch von webbasierten Technologiezunahmen mit der Durchführung des Intranets und extranets haben Gesellschaften ein altbegründetes Interesse in OODBMS, um ihre komplizierten Daten zu zeigen. Mit einem DBMS, der spezifisch entworfen worden ist, um Daten zu versorgen, weil geben Gegenstände einen Vorteil für jene Gesellschaften, die zur Multimediapräsentation oder den Organisationen eingestellt werden, die computergestütztes Design (CAD) verwerten.

Einige objektorientierte Datenbanken werden entworfen, um gut mit objektorientierten Programmiersprachen wie Delphi, Rubin, Pythonschlange, Perl, Java, C#, Visueller Grundlegender.NET, C ++, Ziel-C und Plausch zu arbeiten; andere haben ihre eigenen Programmiersprachen. OODBMSs verwenden genau dasselbe Modell wie objektorientierte Programmiersprachen.

Geschichte

Gegenstand-Datenbankverwaltungssysteme sind aus der Forschung während des frühen zur Mitte der 1970er Jahre darin gewachsen, innere Datenbankverwaltungsunterstützung für Graph-strukturierte Gegenstände zu haben. Der Begriff "objektorientiertes Datenbanksystem" ist zuerst 1985 erschienen. Bemerkenswerte Forschungsprojekte haben Encore-Ob/Server (Braune Universität), EXODUS (Universität von Wisconsin-Madison), IRIS (Hewlett Packard), ODE (Glockenlaboratorien), ORION (Microelectronics and Computer Technology Corporation oder MCC), Vodak (GMD-IPSI) und Zeitgeist (Instrumente von Texas) eingeschlossen. Das ORION-Projekt hatte Papiere mehr veröffentlicht als einige der anderen Anstrengungen. Gewonnener Kim von MCC hat das beste von jenen Papieren in einem durch Die MIT-Presse veröffentlichten Buch kompiliert.

Früh haben kommerzielle Produkte Edelstein (Servio Logik, Name eingeschlossen, der ausser Systemen von GemStone geändert ist), Gbase (Graphael) und Vbase (Ontologic). Das frühe zur Mitte der 1990er Jahre hat zusätzliche kommerzielle Produkte gesehen in den Markt eingehen. Diese haben ITASCA (Itasca Systeme), Jasmine (Fujitsu eingeschlossen, der von Computer Associates auf den Markt gebracht ist), Matisse (Software von Matisse), Objektivität/DB (Objectivity, Inc.) ObjectStore (Fortschritt-Software, die von eXcelon erworben ist, der ursprünglich Gegenstand-Design war), ONTOS (Ontos, Inc., Name, der von Ontologic geändert ist), O (O Technologie, die mit mehreren Gesellschaften verschmolzen ist, die von Informix erworben sind, der der Reihe nach von IBM erworben wurde), DICHTER (jetzt FastObjects von Versant, der Dichter-Software erworben hat), Versant Gegenstand-Datenbank (Versant Corporation), VOSS (Logikkünste) und JADE (Jade Software Corporation). Einige dieser Produkte bleiben auf dem Markt und sind von der neuen offenen Quelle und den kommerziellen Produkten wie GEHEIMES LAGER von InterSystems angeschlossen worden (sieh die Produktauflistungen unten).

Gegenstand-Datenbankverwaltungssysteme haben das Konzept der Fortsetzung hinzugefügt, Programmiersprachen einzuwenden. Die frühen kommerziellen Produkte wurden mit verschiedenen Sprachen integriert: GemStone (Plausch), Gbase (LISPELN), Vbase (POLIZIST) und VOSS (Virtuelles Gegenstand-Lagerungssystem für den Plausch). Seit vielen der 1990er Jahre, C ++ hat den kommerziellen Gegenstand-Datenbankverwaltungsmarkt beherrscht. Verkäufer haben Java gegen Ende der 1990er Jahre und mehr kürzlich, C#. hinzugefügt

Wenn sie

2004 anfangen, haben Gegenstand-Datenbanken eine zweite Wachstumsperiode gesehen, als offene Quellgegenstand-Datenbanken erschienen sind, die weit erschwinglich und leicht waren zu verwenden, weil sie auf OOP Sprachen wie Plausch, Java oder C#, wie db4o (db4objects), DTS/S1 von Obsidian Dynamics und Perst (McObject) völlig geschrieben werden, der unter der offenen Doppelquelle und dem kommerziellen Genehmigen verfügbar ist.

Zeitachse

  • 1985 - Begriff-Gegenstand-Datenbank hat zuerst eingeführt
  • 1988
  • Versant Corporation hat (als Object Sciences Corp.) angefangen
  • Objectivity, Inc. hat gegründet
  • Anfang der 1990er Jahre
  • Edelstein (Plausch)
  • GBase (LISPELN)
  • VBase (o2-ONTOS - INFORMIX)
  • Objektivität/DB hat gestartet
  • Mitte der 1990er Jahre
  • Versant Gegenstand-Datenbank
  • ObjectStore
  • ODABA
  • Dichter
  • Jade
  • Matisse
  • Die 2000er Jahre
  • ZODB
  • Caché
  • Db4o-Projekt, das mit Carl Rosenberger angefangen ist
  • ObjectDB
  • 2001
  • IBM erwirbt Informix (Illustra) integriert mit DB2
  • db4o hat sich dem ersten Versuchskunden eingeschifft
  • 2004 - db4o's kommerzieller Start als db4objects, Inc.
  • 2008 - db4o, der von Versant Corporation erworben ist
  • 2011 - Publikum-Entwickler-Vorschau von Wakanda & Beta verions
  • 2012 - VelocityDB

Adoption von Gegenstand-Datenbanken

Auf der beharrlichen Programmierung gestützte Gegenstand-Datenbanken haben eine Nische in Anwendungsgebieten wie erworben

Technik- und Raumdatenbanken, Fernmeldewesen und wissenschaftliche Gebiete wie hohe Energiephysik und molekulare Biologie.

Eine andere Gruppe von Gegenstand-Datenbanken konzentriert sich auf eingebetteten Gebrauch in Geräten, paketierter Software und Echtzeitsystemen.

Technische Eigenschaften

Die meisten Gegenstand-Datenbanken bieten auch eine Art Anfragensprache an, Gegenständen erlaubend, durch eine mehr Aussageprogrammierannäherung gefunden zu werden. Es ist im Gebiet von Gegenstand-Anfragensprachen und der Integration der Abfrage und Navigationsschnittstellen, dass die größten Unterschiede zwischen Produkten gefunden werden. Ein Versuch der Standardisierung wurde durch den ODMG mit der Gegenstand-Anfragensprache, OQL gemacht.

Der Zugang zu Daten kann schneller sein, weil Verbindungslinien häufig (als in einer tabellarischen Durchführung einer Verwandtschaftsdatenbank) nicht erforderlich sind. Das ist, weil ein Gegenstand direkt ohne eine Suche durch folgende Zeigestöcke wiederbekommen werden kann. (Es konnte jedoch behauptet werden, dass "das Verbinden" eine Abstraktion des höheren Niveaus des Zeigestocks im Anschluss an ist.)

Ein anderes Gebiet der Schwankung zwischen Produkten ist auf dem besten Wege, dass das Diagramm einer Datenbank definiert wird. Eine allgemeine Eigenschaft ist jedoch, dass die Programmiersprache und das Datenbankdiagramm dieselben Typ-Definitionen verwenden.

Multimediaanwendungen werden erleichtert, weil die mit den Daten vereinigten Klassenmethoden für seine richtige Interpretation verantwortlich sind.

Viele Gegenstand-Datenbanken, zum Beispiel VOSS, bieten Unterstützung für versioning an. Ein Gegenstand kann als der Satz aller seiner Versionen angesehen werden. Außerdem können Gegenstand-Versionen als Gegenstände in ihrem eigenen Recht behandelt werden. Einige Gegenstand-Datenbanken stellen auch systematische Unterstützung für Abzüge und Einschränkungen zur Verfügung, die die Basis von aktiven Datenbanken sind.

Die Leistungsfähigkeit solch einer Datenbank wird auch in Gebieten außerordentlich verbessert, die massive Datenmengen über einen Artikel fordern. Zum Beispiel konnte eine Bankverkehrseinrichtung die Kontoinformation des Benutzers bekommen und ihnen effizient mit der umfassenden Information wie Transaktionen, Kontoinformationseinträge usw. zur Verfügung stellen Die Große O Notation für solch ein Datenbankparadigma fällt von O (n) zu O (1), außerordentlich Leistungsfähigkeit in diesen spezifischen Fällen vergrößernd.

ODBMS Eigenschaften

Die Eigenschaften von ODBMS werden in drei Gruppen wie folgt getrennt:

Obligatorisch

Das sind die Eigenschaften, die System befriedigt, um eine Gegenstand-Datenbank zu sein. Das schließt die Eigenschaften ein wie:

  • Encapsulation: Encapsulation hat zwei Ansichten: Programmiersprache-Ansicht und die Datenbankanpassung dieser Ansicht. Encapsulation ist die Darstellung des Datengegenstands durch seine Attribute und die verschiedenen Methoden, die angegeben sind, um jene Datengegenstände zu manipulieren. Darin sind die auf den Datengegenständen durchgeführten Operationen sichtbar, aber die Daten und die Durchführung werden in jenen Gegenständen verborgen.
  • Typen und Klassen: Typ bezieht sich auf den besonderen Satz von Gegenständen im System, das zwei Teile, Schnittstelle und die Durchführungen hat. Allgemein sind Schnittstellen dem Benutzer sichtbar, und die Durchführungen werden verborgen. Klasse ist eine Schablone, für die Gegenstände einer Einzelheit Typen zu schaffen, die ihre eigenen Durchführungen haben. Die neuen Gegenstände können durch das Durchführen neuer Operation auf der Klasse geschaffen werden.
  • Erbe: Erbe ist die wichtigste Eigenschaft der Gegenstand-Datenbank, weil es die hierarchischen Beziehungen zwischen verschiedenen Gegenständen an verschiedenen Niveaus gibt und Codewiederverwendbarkeit gibt. Es hilft im Factoring und hat die Durchführungen und Spezifizierungen im System geteilt. Es gibt verschiedene Typen des Erbes wie Ersatz-Erbe, Einschränkungserbe, Einschließungserbe und Spezialisierungserbe.
  • Komplizierte Gegenstände: Komplizierte Gegenstände werden durch das Verwenden der grundlegenden Datengegenstände wie ganze Zahlen, Schnuren, reals, und booleans gebaut. Es gibt verschiedene komplizierte Datengegenstände wie Reihe, Liste, Indizes, Tupel usw. Wir können Methoden definieren, diese neuen komplizierten Typen zu manipulieren.
  • Gegenstand-Identität: Es ist ein sehr wichtiges Problem in der Datenbank, jeder Gegenstand wird von der ganzen Datenbank oder den ähnlichen Arten von Gegenständen einzigartig identifiziert. Jeder Gegenstand hat eine einzigartige Identität, und wir können zugreifen und den Gegenstand editieren, indem wir dasselbe verwenden. Es kann Variablenname oder von einem physischen Adressraum im Gedächtnis sein.
  • Dehnbarkeit: Datenbanksystem hat seinen eigenen vorherbestimmten Satz von Datentypen, die wir verwenden können, um neue Typen zu schreiben, und es keinen Gebrauch-Unterschied zwischen demjenigen gibt, den System hat und dasjenige wir schriftlich, aber es kann starken Unterschied im Weg zwei geben, werden unterstützt.
  • Fortsetzung: Es ist die Fähigkeit der Systemdaten, zu bewahren oder während der Ausführung zu überleben, so dass es weiter durch einen anderen Prozess verwendet werden kann. Beharrlichkeit stellt die Wiederverwendbarkeit zur Verfügung.
  • Das Überlaufen und die Überbelastung: Der Gebrauch derselbe Name für die Durchführung der Gegenstand-Methoden oder Operationen, um dieselben Daten unterschiedlich zu vertreten.
  • Rechenbetonte Vollständigkeit: Dieses Eigentum sagt, dass wir definieren oder jede Art der berechenbaren Funktion für den ODB mit DML des Datenbanksystems durchführen können. Rechenbetontes ganzes System gibt fast die ganze Operationsdurchführung.
  • Sekundäres Lagerungsmanagement: Die Daten im System werden geführt, um den schnellen und leichteren Zugang zu bekommen. Es wird mit verschiedenen Techniken, einschließlich des Datensammelns, des Indexierens, der Anfragenoptimierung, der Datenpufferung und der Zugriffspfad-Auswahl unterstützt. Diese alle sind für den Benutzer unsichtbar. Es hat zwei Niveaus des Managements: logisch und physisch.
  • Parallelität: Ein gutes System muss Parallelitätstechniken haben. Wenn Zahl von Benutzern, die mit dem Benutzer aufeinander wirken, das Datenbanksystem dasselbe Niveau des Dienstes allen Benutzern zur Verfügung stellen muss. Es sollte den Systemausfall, unvollständige Transaktionen vermeiden.
  • Wiederherstellung: Diese Eigenschaft stellt auch dasselbe Niveau des Dienstes zur Verfügung und sollte sich zum ursprünglichen Staat besinnen, wenn System unter der Hardware oder den Softwaremisserfolgen leidet.

Fakultativ

Diese Kategorie schließt Eigenschaften ein, die nicht obligatorisch sind, aber hinzugefügt werden können, um die Gegenstand-Datenbank effizienter zu machen, um mehr Funktionalitäten zu erreichen. Das schließt ein:

  • Mehrfachvererbung
  • Datentypprüfung und inferencing
  • Vertrieb
  • Designtransaktionen
  • Versionen

Offen

Diese Kategorie Geschäfte mit Programmierung von Problemen und Systemdarstellung. Zusammen mit den obligatorischen und nichtobligatorischen Eigenschaften des ODMBS, solche Systeme entwerfend, haben wir noch viele Designwahlen, unser Modellieren zu verbessern, um ein gutes System zu bauen. Diese Kategorie schließt ein:

  • System
  • Programmierung des Paradigmas
  • System von Representaion
  • Gleichförmigkeit.

Standards

Object Data Management Group war ein Konsortium von Gegenstand-Datenbank und kartografisch darstellenden mit dem Gegenstandverwandtschaftsverkäufern, Mitgliedern der akademischen Gemeinschaft und Interessenten. Seine Absicht war, eine Reihe von Spezifizierungen zu schaffen, die tragbare Anwendungen berücksichtigen würden, die Gegenstände in Datenbankverwaltungssystemen versorgen. Es hat mehrere Versionen seiner Spezifizierung veröffentlicht. Die letzte Ausgabe war ODMG 3.0. Vor 2001 hat der grösste Teil der Hauptgegenstand-Datenbank und kartografisch darstellenden mit dem Gegenstandverwandtschaftsverkäufer Übereinstimmung zur ODMG javanischen Sprachschwergängigkeit gefordert. Der Gehorsam zu den anderen Bestandteilen der Spezifizierung wurde gemischt. 2001 wurde die ODMG javanische Sprachschwergängigkeit dem javanischen Gemeinschaftsprozess als eine Basis für die javanische Datengegenstand-Spezifizierung vorgelegt. Die ODMG Mitglied-Gesellschaften haben sich dann dafür entschieden, ihre Bemühungen auf die javanische Datengegenstand-Spezifizierung zu richten. Infolgedessen hat sich der ODMG 2001 aufgelöst.

Viele Gegenstand-Datenbankideen wurden auch darin absorbiert und sind in unterschiedlichen Graden in mit dem Gegenstandverwandtschaftsdatenbankprodukten durchgeführt worden.

2005 haben Koch, Rai, und Rosenberger vorgehabt, alle Standardisierungsanstrengungen fallen zu lassen, zusätzliche objektorientierte Abfrage APIs einzuführen, aber eher die OO Programmiersprache selbst, d. h., Java und.NET zu verwenden, Abfragen auszudrücken. Infolgedessen sind heimische Abfragen erschienen. Ähnlich hat Microsoft Language Integrated Query (LINQ) und DLINQ, eine Durchführung von LINQ bekannt gegeben, um im September 2005 nahe, spracheinheitliche Datenbankanfragenfähigkeiten mit seinen Programmiersprachen C# und VB.NET 9 zu versorgen.

Im Februar 2006 hat Object Management Group (OMG) bekannt gegeben, dass ihnen das Recht gewährt worden war, neue Spezifizierungen zu entwickeln, die auf dem ODMG 3.0 Spezifizierung und die Bildung der Gegenstand-Datenbanktechnologiearbeitsgruppe (ODBT WG) gestützt sind. Der ODBT WG hat geplant, eine Reihe von Standards zu schaffen, die Fortschritte in der Gegenstand-Datenbanktechnologie (z.B, Erwiderung), Datenverwaltung (z.B, das Raumindexieren), und Datenformate (z.B, XML) vereinigen würden und neue Eigenschaften in diese Standards einzuschließen, die Gebiete unterstützen, wo Gegenstand-Datenbanken (z.B, Echtzeitsysteme) angenommen werden. Die Arbeit des ODBTS WG wurde im März 2009 aufgehoben, als, nachfolgend auf den Wirtschaftsaufruhr gegen Ende 2008, sich die ODB an dieser Anstrengung beteiligten Verkäufer dafür entschieden haben, ihre Mittel anderswohin einzustellen.

Im Januar 2007 hat das Konsortium des World Wide Web Endempfehlungsstatus der XQuery Sprache gegeben. XQuery verwendet XML als sein Datenmodell. Einige der Ideen entwickelt ursprünglich für Gegenstand-Datenbanken haben ihren Weg in XQuery gefunden, aber XQuery ist nicht wirklich objektorientiert. Wegen der Beliebtheit von XML bewerben sich XQuery Motoren mit Gegenstand-Datenbanken als ein Fahrzeug für die Lagerung von Daten, die zu kompliziert oder variabel ist, um günstig in einer Verwandtschaftsdatenbank zu halten. XQuery erlaubt auch Modulen, geschrieben zu werden, um Eigenschaften von Encapsulation zur Verfügung zu stellen, die durch Objektorientierte Systeme zur Verfügung gestellt worden sind.

Vergleich mit RDBMSs

Eine Gegenstand-Datenbank versorgt komplizierte Daten und Beziehungen zwischen Daten direkt, ohne zu Verwandtschaftsreihen und Säulen kartografisch darzustellen, und das macht sie passend für Anwendungen, die sich mit sehr komplizierten Daten befassen. Gegenstände haben viele zu vielen Beziehung und werden durch den Gebrauch von Zeigestöcken zugegriffen. Zeigestöcke werden mit Gegenständen verbunden, Beziehungen herzustellen. Ein anderer Vorteil eines OODBMS ist, dass er mit kleinen Verfahrensunterschieden programmiert werden kann, ohne das komplette System zu betreffen. Das ist für jene Organisationen am nützlichsten, die Datenbeziehungen haben, die nicht völlig klar sind oder diese Beziehungen ändern müssen, um die neuen Geschäftsvoraussetzungen zu befriedigen.

Potenzielle Vorteile:

  • Gegenstände verlangen nicht, dass Zusammenbau und Zerlegung sparende Codierzeit und Ausführungszeit sammelt oder Gegenstände auseinander nimmt.
  • Reduzierte Paginierung.
  • Leichtere Navigation.
  • Bessere Parallelitätskontrolle - eine Hierarchie von Gegenständen kann geschlossen werden.
  • Datenmodell basiert auf der echten Welt.
  • Arbeiten gut für verteilte Architekturen.
  • Weniger Code hat verlangt, wenn Anwendungen orientierter Gegenstand sind.

Potenzielle Nachteile:

  • Niedrigere Leistungsfähigkeit, wenn Daten einfach ist und Beziehungen, ist einfach.
  • Verwandtschaftstische sind einfacher.
  • Späte Schwergängigkeit kann Zugriffsgeschwindigkeit verlangsamen.
  • Mehr Benutzerwerkzeuge bestehen für RDBMS.
  • Standards für RDBMS sind stabiler.
  • Die Unterstützung für RDBMS ist mehr sicher, und Änderung wird mit geringerer Wahrscheinlichkeit erforderlich sein.

Objektorientierte Datenbankabfrage

Wenden Sie ein, dass orientierte Datenbanken SQL-Anfragensprache wie Notationen verwenden, um die Abfragen auszudrücken, der als Object Query Language (OQL) genannt wird. OQL unterstützt alle obligatorischen Eigenschaften oder Eigenschaften von ODBMS, um effiziente Gegenstand-Datenbanksysteme zu machen. Es unterstützt komplizierte Datengegenstände, Pfad-Ausdrücke, Operationsbeschwörung, Erbe, Gegenstand-Erweiterungen für die Gegenstand-Identität. OQL ist eine sehr effiziente Weise, Gegenstand-Abfragen auszudrücken, es behält die Integrität des Gegenstands durch das Verwenden von durchgeführten Methoden von Gegenständen, aber nicht seinen eigenen Operationen. OQL kann auch auf anderen Sprachen wie C ++, Java eingebettet werden...

"OQL ist eine funktionelle (Ausdruck-orientierte) Sprache, auf der jede Abfrage ein getippter Ausdruck ist (Typ kann Atomgegenstand, Sammlungsgegenstand, oder wörtlich sein)". OQL hat ausführliche Aktualisierungsoperationen wie Einsatz nicht, löscht, um Datenbank zu aktualisieren. Aber als eine Alternative kann es zustandverändernde Methoden anrufen, schaffen, beizutragen, und zu löschen, usw. ähnliche Funktionen zu bekommen.

Zum Beispiel,

Angestellter (Name: ''Ram Sharma", Geburtsdatum: Am 11/26/1985, Gehalt: 10000);

schafft einen neuen Mitarbeitergegenstand mit notwendigen Attribut-Daten.

Wie SQL können wir getrennte Funktion schreiben, bestimmte Aufgabe durchzuführen.

  • Polymorphism: OQL unterstützt die polymorphism Eigenschaft der objektorientierten Programmierung. Die verschiedenen Klassen können dieselben Attribute und Methode-Durchführungen haben, die in derselben Hierarchie sind.

Zum Beispiel hat die Mitarbeiterklasse ein Attribut genannt als eine Reihe von Schnuren durchgeführte Tätigkeiten. Sein Unterklasse-Betriebsleiter hat auch eine Methode genannt Tätigkeiten, der Erbe des Mitarbeiterattributes überreitet.

Siehe auch

Links


Odobenidae / Ovo-lacto Vegetarismus
Impressum & Datenschutz