background image

Obiektowe bazy danych - wprowadzenie  (konspekt wykładu)

Pomimo wzrastającego zainteresowania programowaniem obiektowym i obiektowymi bazami 

danych, nie opracowano jak dotąd jednego standardu pojęć obiektowych do wykorzystania w językach 

programowania i bazach danych. Obecnie systemy relacyjnych baz danych silnie zdominowały rynek 

baz danych, a  systemy baz obiektowych muszą sobie dopiero wyrobić własne miejsce na tym rynku. 

Powszechnie uważa się, że wkrótce zostanie opracowany i uzgodniony standard obiektowego modelu 

danych,   który   umożliwi   systemom   obiektowych   baz   danych   następnej   generacji   zajęcie 

niekwestionowanego miejsca na rynku baz danych.

Obiektowa baza danych jest zbiorem obiektów, których zachowanie się i stan oraz związki są 

określone   zgodnie   z   obiektowym   modelem   danych.   Model   danych   przedstawia   logiczną   strukturę 

obiektów   (encji)   z   prawdziwego   świata,   nałożonych   na   nie   więzów   i   związków   między   tymi 

obiektami. Z obiektowym podstawowym modelem danych są ściśle związane  następujące pojęcia:

Abstrakcja 

Każdy obiekt w systemie można rozpatrywać jako model abstrakcyjnego elementu, który może:

– opisywać i zmieniać swój stan,

– komunikować się z innymi obiektami w systemie,

– wykonywać pewne czynności na rzecz innych obiektów,

bez ujawniania, w jaki sposób zaimplementowano dane cechy (Tomasz Marks)

Obiekt i identyfikator obiektu

 

 :

Każda   encja   pochodząca   z   rzeczywistego   świata   jest   obiektem   bazy   danych,   z   którym   jest 

skojarzony jednoznaczny, systemowy identyfikator.

-

Obiektem jest rzecz lub pojęcie obserwowane w świecie rzeczywistym, którego dotyczy 
system informacyjny. Obiekt jest odróżnialny od innych obiektów, ma dobrze określoną 
granicę i nazwę

-

Obiektem może też być pewien zamknięty fragment oprogramowania (dana, procedura, 
moduł,   dokument,   okienko   dialogu)   którym   można   operować   jak   zwartą   bryłą 
(wyszukiwać, kopiować, usuwać, indeksować)

-

Obiekt   posiada   swoją  tożsamość   ,  która   wyróżnia   go   spośród   innych   obiektów. 
Tożsamość   obiektu   jest   niezależna   od   wartości   jego   atrybutów   (tożsamość=   trwały 
wewnętrzny identyfikator)

-

Obiekt posiada stan, który może zmieniać się w czasie (bez zmiany tożsamości)

-

Obiekt może być złożony

-

Obiekt może być powiązany z innymi obiektami

-

Obiekt   ma   przypisane   zachowanie   tj.   zestaw   operacji   które   wolno   do   niego   stosować 
( implementacja operacji jest nazywana metodą)

-

Obiekt ma przypisany typ tj. wyrażenie językowe, które ogranicza dopuszczalną budowę 
obiektu oraz ustala operacje, które wolno wykonywać na obiekcie

background image

Klasa

 

 :

Wszystkie obiekty, które mają ten sam podzbiór atrybutów i metod mogą być zgrupowane w jednej 

klasie.

Hierarchia klas i dziedziczenie

 

 :

Klasy w systemie tworzą hierarchię. Klasa może mieć dowolną liczbę podklas może mieć też nadklasę 

(czasami  kilka nadklas). Obiekty  należące  do danej  klasy mogą  dziedziczyć  atrybuty i  metody  od 

nadklasy (czasami kilku nadklas -  dziedziczenie wielokrotne).

Atrybuty i metody

 

 :

Obiekt charakteryzuje się jednym lub więcej atrybutami i jedną lub więcej metodami, które operują 

na wartościach atrybutów.

Hermetyzacja (enkapsulacja)  i przekazywanie komunikatów

 

 :

W celu uzyskania dostępu do wartości atrybutów i metod obiektu muszą zostać wysłane odpowiednie 

komunikaty. Nie ma innej drogi dostępu do obiektu oprócz ogólnie dostępnego interfejsu, który jest 

dla niego określony. Inaczej mówiąc hermetyzacja polega na ukrywaniu szczegółów implementacji

Polimorfizm

 

 

Polimorfizm   to wykazywanie rożna form działania podczas wywołania metody w zależności od 

tego jakiego typu obiekt jest wskazywany (wywoływany)

Ten sam komunikat wysłany po "dotarciu" do różnych obiektu może wywołać różne działanie.

Największa zaletą obiektowych baz danych  jest to, że przy ich wykorzystaniu można  wiernie i  w 

sposób bardziej naturalny przedstawić sytuacje zachodzące w świecie rzeczywistym. Najprostszym 

przykładem   jest   możliwość   przechowywanie   obiektów   złożonych.   W   relacyjnej   bazie   danych   w 

kolumnie wiersza można przechowywać tylko pojedyncza atomową wartość. Obiekt złożony składa 

się natomiast z innych obiektów, które z kolei same mogą zawierać inne obiekty. Większość obiektów 

ś

wiata rzeczywistego ma właśnie taki charakter.