ZSBD-2st-1.2-w5.tresc-1.1-Slajd3
Model ODMG
W drugiej połowie lat osiemdziesiątych powstało wiele prototypów i komercyjnych produktów obiektowych systemów baz danych tworzonych na bazie języków obiektowych. Modele obiektowe tych systemów różniły się znacznie między sobą. Uważano wtedy, że jest to podstawową przyczyną braku komercyjnych sukcesów obiektowych baz danych. W ramach wysiłków ujednolicenia obiektowego modelu danych powstała inicjatywa standaryzacyjna ukonstytuowana w grupie o nazwie ODMG (ang. Object Database Management Group). W trakcie swojego działania w latach 1993 do 2001 grupa ta tworzyła kolejne wersje standardu. Ostatnim był standard ODMG w wersji 3.0. Obiektowy model zdefiniowany w standardzie ODMG jest wzorcem dla czysto obiektowych baz danych.
Standard ODMG składa się z czterech podstawowych części. Pierwszą częścią jest słowny opis własności i pojęć modelu obiektowej bazy danych. W stosunku do języków obiektowych model ten zawiera istotne rozszerzenia o własności charakterystyczne dla systemów baz danych. Rozszerzenia te dotyczą pojęć związków między obiektami, tożsamości obiektów, trwałości obiektów, rozszerzeń klas, struktur masowych, przetwarzania transakcyjnego, struktur metadanych, itp.
Druga część standardu zwiera definicję składni i semantyki języka ODL (ang. Object Definition Language) służącego do definiowania klas i interfejsów w schemacie obiektowej bazy danych. Język ODL jest wzorowany na języku IDL wypracowanym w ramach wcześniejszego standardu OMG (ang. Object Management Group) dedykowanego obiektowej integracji systemów informatycznych.
Trzecią częścią standardu jest definicja języka zapytań OQL (ang. Object Query Language). Jest to język wzorowany na języku SQL, ale wzbogacony o wszystkie koncepcje obiektowego modelu danych. W przeciwieństwie do języka SQL język OQL jest ograniczony do instrukcji zapytań. Z założenia nie obejmuje on instrukcji modyfikacji danych, które znajdują się w czwartej części standardu.
Ostatnia, czwarta część standardu obejmuje propozycje rozszerzeń służących do przetwarzania trwałych obiektów w obiektowych bazach danych. Rozszerzenia te są aplikowane do trzech języków obiektowych: C++, SmallTalk i Java.
Prace nad powiązaniem aplikacji baz danych pisanych za pomocą języka Java są kontynuowane w ramach standardu JDO (ang. Java Data Object). W roku 2006 powstała nowa grupa robocza Object Database Technology Working Group (ODBT WG), która zamierza opracować standard modelu danych nowej generacji obiektowych baz danych.