www.eprace.edu.pl » obiektowe-bazy » Standardy » Porównanie standardów

Porównanie standardów

Po przedstawieniu trzech głównych standardów proponowanych dla zorientowanych obiektowo systemów baz danych: SQL:1999, ODL/OQL oraz JDO, omówione zostaną główne podobieństwa oraz różnice pomiędzy nimi. Pomimo tego, iż standardy te pochodzą z bardzo różnych modeli: języków relacyjnych baz danych oraz języków programowania zorientowanych obiektowo, podobieństwa przeważają nad różnicami. Jest to efektem między innymi tego, iż każdy ze standardów w efektywny sposób adaptuje pojęcia z obcego mu modelu.

Główne różnice pomiędzy opisanymi standardami, są to przede wszystkim różnice dotyczące następujących obszarów:

Standard SQL:1999 powstał w wyniku naturalnej ewolucji standardu SQL-92.

Standard ODMG czerpie z różnych źródeł. Model obiektu został zapożyczony z modelu zaproponowanego przez grupę OMG. Podobnie język definicji schematu obiektowego, bierze dużo z języka definicji interfejsu IDL, który jest dziełem OMG. Operacje na obiektach spoczywają na językach programowania, czyli według standardu na C++, Smalltalk’u i Javie.

Standard JDO został stworzony tylko dla języka Java. Powoduje to, iż Java jest językiem z którego owa specyfikacja czerpie najwięcej. Wszystkie operacje włączając w to zapytania do bazy, które co prawda są specyficzne i zostały nazwane JDOQL, są pisane w języku Java. Wyjątkiem od tej reguły jest definicja schematu bazy, która jest zapisana w języku XML.

SQL:1999 jest niezależnym językiem zapytań od środowiska programistycznego. Podobnie jak w pozostałych implementacjach SQL’a, także tutaj istnieje wąski interfejs, umożliwiający przekazywanie wartości między strukturami danych SQL’a a zmiennymi środowiskowymi. Dodatkowo do zwykłego interfejsu między językiem SQL a językiem podstawowym, w standardzie SQL:1999 powstała koncepcja funkcji zewnętrznych.

W systemie OQL istnieje założenie, iż jego instrukcje są osadzone w języku programowania, mającym z nim wspólne środowisko programowania i model danych. Zakłada się również, że jest to język programowania zorientowany obiektowo, na przykład Java, C++ lub Smalltalk.

Język zapytań JDOQL to wręcz język Java, plus osadzone jako parametry funkcji, filtry. W języku tym, w przeciwieństwie do poprzednich, składnia jest bardzo prosta i nie ma potrzeby tworzenia złożonych zapytań.

W standardzie SQL:1999 wszystkie operacje czyli również definiowanie danych odbywa się za pomocą języka SQL.

W specyfikacji ODMG wyróżnia się specjalny język ODL, który ma służyć, do definiowania schematu bazy. Język ten rozszerza możliwości języka IDL opracowanego przez grupę OMG.

Zgodnie ze specyfikacją JDO, dane są definiowane w programie w języku Java. Serwer natomiast korzysta z definicji danych zapisanych w formacie XML.

W systemach zgodnych z SQL:1999 do modyfikacji danych używa się języka SQL, który może być osadzony w innym języku.

Modyfikacje danych zgodnie z ODMG odbywają się w językach programowania. Aktualnie mogą to być języki C++, Java lub Smalltalk.

Zgodnie z JDO wszystkie modyfikacje zawartości bazy są wykonywane w języku Java.

W modelu danych języka SQL:1999 pojęcie relacji odgrywa główną rolę.

Typy wiersza w rzeczywistości są opisem relacji.

W języku OQL dominującą rolę odgrywają zbiory i wielozbiory obiektów lub struktur. Podobną rolę w JDO odgrywają znane z Javy kolekcje obiektów. Zbiory obiektów w systemie ODL/OQL oraz JDO są bardzo zbliżone do pojęcia relacji języka SQL:1999, ze względu na pełnione funkcje w różnych instrukcjach.

W języku SQL:1999 można by stosować podobną kontrolę nad zasięgiem typu wiersza, czyli relacją, która zawiera wszystkie istniejące w bazie krotki tego typu. Jednakże działanie takie nie jest konieczne.

W języku OQL zakłada się, że każda klasa posiada określony zasięg. Referencje wskazują elementy z zasięgu.

Zasięg klasy w JDO odpowiada zasięgowi klasy w języku Java.

Zarówno w języku ODL, jak i w SQL:1999 stosuje się konwencjonalną interpretację identyfikatora obiektu. Jest to tworzona przez system jednostka, do której użytkownik nie posiada dostępu. Zasada ta nie stosuje się do typu wiersza w SQL:1999.

Obiekty w bazach zgodnych z JDO są rozróżniane ze względu na posiadanie lub nieposiadanie identyfikatora zwanego JDO Identity. Jeśli obiekt posiada identyfikator to jest on dostępny dla użytkownika.



komentarze

Dziekuję za wyczerpujący artykuł. Bardzo mi sie przydał. Pozdrawiam

skomentowano: 2012-10-13 13:45:26 przez: Przemo

Copyright © 2008-2010 EPrace oraz autorzy prac.