Obiektowa baza danych
Obiektowa baza danych – zbiór obiektów, których zachowanie się, stan oraz związki są określone zgodnie z obiektowym modelem danych. Obiektowy system zarządzania bazą danych jest systemem wspomagającym definiowanie, zarządzanie, utrzymywanie, zabezpieczanie i udostępnianie obiektowej bazy danych.
Obiektowe systemy zarządzania bazą danych zapewniają tradycyjną funkcjonalność baz danych, lecz bazują na modelu obiektowym. Ich atutem jest udostępnianie danych w postaci obiektowej, czyli takiej samej w jakiej dane są przechowywane w programach napisanych w obiektowych językach programowania. Znika konieczność odwzorowania między modelem obiektowym a modelem relacyjnym jak to ma miejsce w przypadku użycia relacyjnej bazy danych.
Historia
[edytuj | edytuj kod]Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management Group ODMG. Grupa zaczęła działać formalnie jako organizacja. Pierwszy rys standardu został opublikowany w roku 1991.
W roku 1999 rozpoczął swoją prace JSR243, który w roku 2002 opublikował standard Java Data Objects 1.0
Standard ODMG
[edytuj | edytuj kod]Przedstawione poniżej części składają się na zaproponowaną przez standard ODMG architekturę:
- Model obiektowy
Jako podstawa użyty został model obiektu zaproponowany przez OMG. Rdzeń modelu OMG został zaprojektowany jako wspólny mianownik dla ORB (Object Request Broker), systemów bazodanowych, obiektowych języków programowania oraz innych aplikacji. Trzymając się architektury OMG, ODMG zaprojektowało własny profil tego modelu, zawierający dodatkowe cechy (na przykład relacje), aby zagwarantować możliwość realizacji swoich zamierzeń.
- Język specyfikacji obiektu ODL
Język specyfikacji jako podstawę przyjął IDL (Interface Definition Language) z OMG. Wersja 2.0 dodała obsługę innych języków, które umożliwiają na przykład wymianę obiektów pomiędzy rozproszonymi bazami danych
- Obiektowy język zapytań OQL
Język zapytań został pomyślany jako język deklaratywny. Służy on do pobierania oraz uaktualniania obiektów w bazie. Jako podstawa został użyty język SQL, wzbogacony o nowe możliwości.
Standard JDO
[edytuj | edytuj kod]Java Data Objects JDO to standard, który został stworzony przez firmę Sun Microsystems.
- Model obiektowy
Jako podstawa użyty został model obiektu używany przez język Java. Obiekty, które mają stać się trwałe, implementują interfejs PersistenceCapable.
- Język specyfikacji obiektu XML Metadata
Metadane zapisywane są w plikach formatu XML. Każda klasa zdolna do trwałości, posiada swój własny plik o nazwie <nazwa-klasy>.jdo.
- Obiektowy język zapytań JDOQL
- Umieszczanie obiektów w bazie danych – to nic innego niż spowodowanie, aby stał się on obiektem trwałym.
- Pobieranie obiektów z bazy – Język zapytań JDOQL oparty jest na selekcji według wartości atrybutów obiektów. Warunki zawarte w zapytaniach opierają się na wyrażeniach logicznych, które muszą być spełnione, aby dany obiekt został pobrany z bazy. Nowością jest ustalanie parametrów pobranego zestawu obiektów po zadaniu zapytania.
- Modyfikacja obiektów w bazie – Modyfikacja obiektów w bazie danych odbywa się zawsze w dwóch etapach. Pierwszym jest zadanie zapytania do bazy, aby pobrać interesujący nas zestaw instancji klas. Drugim krokiem jest modyfikacja owego zestawu.
- Kasowanie obiektów z bazy – kasowanie danych również przebiega dwuetapowo. Kasowanie obiektów wykonuje się w sposób nietypowy dla Javy, a mianowicie poprzez wywołanie funkcji kasującej. Skasowany obiekt zostaje usunięty z bazy. Usuwanie z pamięci operacyjnej następuje w sposób analogiczny do zwykłych klas w Javie.
Zobacz też
[edytuj | edytuj kod]Linki zewnętrzne
[edytuj | edytuj kod]- Obiektowe bazy danych – przegląd i analiza rozwiązań (Praca magisterska autorstwa P. Józwika i M. Mazura pod kierunkiem prof. dr hab. inż. Antoniego Ligęzy)