Model obiektowy bazy danych

advertisement
Model obiektowy bazy danych
Zasady modelu obiektowego bazy
danych
•
•
•
•
Podstawowym składnikiem modelu jest obiekt odpowiadający obiektowi
rzeczywistości, który ma określoną strukturę danych i zachowanie,
opisywane zbiorem metod przyporządkowanych obiektowi.
Zbiór obiektów o takiej samej strukturze typów danych i takim samym
zbiorze metod stanowi klasę obiektów (typ). Do typu zdefiniowanego przez
użytkownika należy zbiór obiektów, zwany też kolekcją obiektów, albo
odchodząc od języka obiektowego – zbiór instancji typów.
Klasy czy też typy mogą mieć złożoną strukturę. Do ich definicji używa się
rozbudowanego zbioru konstruktorów: krotka, zbiór, wielozbiór, lista i tabela.
Elementami tej struktury mogą być wartości i odsyłacze do innych obiektów.
Każdy obiekt ma swój unikalny identyfikator, który jest niezmienny w całym
cyklu życia obiektu. Jest on niezależny od wartości danych opisujących
obiekt. Rozwiązanie to nawiązuje do identyfikatorów zapisów
wykorzystywanych w hierarchicznych i sieciowych bazach danych.
Zasady modelu obiektowego bazy
danych
•
•
•
•
Między klasami obiektów mogą być definiowane zależności strukturalne
dwóch typów: agregacji-dekompozycji i generalizacji-specjalizacji. Za
pomocą agregacji-dekompozycji można definiować obiekty złożone z innych
obiektów, tzw. agregaty. Za pomocą generalizacji-specjalizacji w ramach
klasy można wyodrębnić podklasy różniące się między sobą atrybutami lub
metodami albo zastosować działania odwrotne. Przykład takich zależności
przedstawia rysunek.
Między klasami powiązanymi zależnością generalizacji-specjalizacji
występuje zjawisko dziedziczenia. Podklasy dziedziczą atrybuty i metody od
klasy nadrzędnej. Praktycznie oznacza to, że dany element opisu klasy jest
definiowany tylko raz w klasie najwyższej. Jest on następnie
wykorzystywany we wszystkich klasach podrzędnych.
Klasy mogą być powiązane zależnościami asocjacyjnymi. Wiążą one
wystąpienia klas, niepowiązanych zależnościami strukturalnymi.
Struktura wewnętrzna obiektu jest niedostępna dla innych obiektów. Obiekty
mogą oddziaływać na siebie tylko za pomocą dopuszczalnych
komunikatów. Komunikaty te stanowią wywołania metod zdefiniowanych dla
danej klasy obiektów. Jest to zjawisko hermetyzacji obiektów.
Propozycje standaryzacyjne
ODMG-93
• Zawierają definicje modelu obiektów, języka definiowania obiektów
ODL, języka zapytań OQL oraz definicje powiązań z obiektowymi
językami programowania. ODMG-93 zawiera kilka specyficznych
definicji i założeń:
– Do obiektu mogą być dołączone typy, przy czym wszystkie obiekty
jednego typu mają taką samą strukturę i zachowanie.
– W modelu zdefiniowano wiele typów predefiniowanych.
– Operacje są zdefiniowane poprzez sygnatury; sygnatura określa nazwę
operacji, nazwy i typy argumentów oraz zwracanej wartości.
– Stan obiektu jest definiowany przez wartości zbioru atrybutów
przyporządkowanych obiektowi; atrybuty te mogą być albo wartościami
realnymi (literałami), albo łącznikami do innych obiektów; łączniki te
mają charakter binarny i mogą definiować tylko trzy typy związków: 1:1,
1:n, n:m.
– Zakłada się możliwość definiowania kluczy jako wyznaczonych
atrybutów typu.
Perspektywy i wersje obiektów
•
W obiektowych bazach danych dużego znaczenia nabierają perspektywy i
tzw. wersje obiektów. Perspektywy, inaczej mówiąc modele zewnętrzne
bazy danych, mogą przybierać w relacyjnych bazach danych
skomplikowane formy. Mogą one być definiowane jako:
– Klasy wirtualne, czyli podzbiory obiektów klas rzeczywistych.
– Klasy wirtualne mające obiekty wirtualne.
– Schematy wirtualne, stanowiące podzbiory klas rzeczywistych i powiązań między
nimi.
– Schematy wirtualne, będące zbiorem klas rzeczywistych i wirtualnych.
•
•
Użytkownicy obiektowej bazy danych mogą więc dysponować całkowicie
przekształconymi obrazami obiektów w stosunku do rzeczywistej bazy
danych.
Zarządzanie wersjami obiektów polega na udostępnianiu użytkownikowi
bazy danych możliwości tworzenia i utrzymywania nowych wersji obiektu
dzięki obiektom źródłowym. Rozwiązanie to jest szczególnie przydatne we
wszystkich zastosowaniach związanych z modelowaniem i projektowaniem.
Wiele obiektowych SZBD wspiera w sposób jawny tworzenie i
utrzymywanie kolejnych wersji obiektów.
Download