I.
Wprowadzenie do  języków zapytań (1)
II.
Wprowadzenie do  języków zapytań (2)
III.
Pojęcia obiektowości w bazach danych (1)
  Wstęp
  1. Co to jest obiektowość?
  2. Obiekt
  3. Metody związane z obiektem
  4. Obiekt złożony
  5. Relatywizm obiektów
  6. Zasada wewnętrznej identyfikacji
  7. Powiązania pomiędzy obiektami
  8. Hermetyzacja i ukrywanie informacji
  9. Mechanizm komunikatów
  Podsumowanie
  Zadania
IV.
Pojęcia obiektowości w bazach danych (2)
V.
Podstawy semantyczne języków zapytań
VI.
Modele składu obiektów
VII.
Stos środowisk, rezultaty zapytań, funkcja nested
VIII.
Język SBQL (Stack-Based Query Language) (1)
IX.
X.
Dalsze własności SBQL
XI.
Operatory order by i group by
XII.
Przetwarzanie struktur nieregularnych
XIII.
Rozszerzenie języków zapytań o konstrukcje imperatywne
XIV.
Procedury, procedury funkcyjne, metody, reguły zakresu
XV.
Parametry procedur i metod, procedury rekurencyjne, optymalizacja poprzez modyfikację zapytań

 

5. Relatywizm obiektów

Pojęcie obiektu złożonego sugeruje uogólnienie, które określimy mianem relatywizmu obiektów. Motywem przewodnim relatywizmu jest uproszczenie i formalizacja pojęcia obiektu złożonego oraz zredukowanie złożoności koncepcji, składni i semantyki języków i interfejsów operujących na obiektach.

Zgodnie z zasadą relatywizmu obiektów każdy obiekt złożony jest zestawem podobiektów, które mogą być złożone lub atomowe. Każdy podobiekt może być traktowany jako samodzielny obiekt. Ogólne własności dotyczące obiektów i podobiektów (reprezentacja, typowanie, dostęp, manipulacja itd.) są identyczne.

Od tej zasady nie ma wyjątków, w szczególności atomowy atrybut obiektu (np. atrybut ZAROBEK obiektu PRACOWNIK) jest także obiektem. Przyjmując zasadę relatywizmu obiektów mimo to nadal będziemy posługiwać się terminem atrybut jako pewną szczególną rolą podobiektu w ramach obiektu. Konsekwencją relatywizmu jest istnienie obiektów, które nie posiadają atrybutów (czyli obiektów atomowych), jak również obiektów, dla których nie jest istotne definiowanie klas, ponieważ są one obsługiwane wyłącznie przez metody generyczne. Relatywizm umożliwia również przypisanie atrybutu obiektu do jego własnej klasy, posiadającej własne metody. Konsekwencją relatywizmu obiektów jest również fakt, że każdy podobiekt (atrybut) musi posiadać swój unikalny identyfikator.

Takie potraktowanie atrybutu jest w pełni zgodne z istotą obiektowości. Np. obiekt PRACOWNIK ma pewien zestaw przypisanych mu metod, ale jego atrybut ZDJĘCIE jest innym obiektem posiadającym własne metody, takie jak Wyświetl lub ZmieńRozmiar. Oczywisty jest fakt, że samo istnienie wartości atrybutów, ze względu na specyfikę reprezentacji, może nie mieć sensu bez określenia metod, które na tej reprezentacji działają. Dotyczy to w zasadzie wszystkich atrybutów, chociaż niektóre atrybuty są obsługiwane wyłącznie przez metody generyczne (takie jak +, -, <, =), które są wbudowane w język programowania lub język zapytań. Dla takich atrybutów nie jest istotne definiowanie ich klas.

Relatywizm obiektów znacznie upraszcza model obiektowy. Posiada również istotne konsekwencje dla języków zapytań, interfejsów programistycznych oraz języków programowania, gdyż pociąga za sobą relatywizm środków definiowania danych, określania ich typów oraz środków dostępu do danych, a co za tym idzie ich znaczne uproszczenie.

Dzięki relatywizmowi środki dostarczane do dyspozycji programistów mogą być uproszczone i zredukowane do minimum, gdyż nie zachodzi np. potrzeba różnicowania środków dostępu do obiektów i do atrybutów. Z różnych innych powodów, np. indeksowania, środki te można różnicować, ale jest to drugorzędna kwestia odnosząca się do reprezentacji obiektów, a nie do ich obrazu koncepcyjnego. Relatywizm pozwala także traktować moduły lub całe bazy danych jako pojedyncze obiekty definiowane, dostępne i manipulowalne za pomocą standardowych środków.

Minimalizacja ilości cech, które muszą być rozpatrywane przy definiowaniu i manipulowaniu obiektami, ma doniosłe konsekwencje dla prostoty całości interfejsu programistycznego, szybkości jego nauczania, rozmiaru dokumentacji, rozmiaru i regularności języków, złożoności modeli formalnych oraz łatwości i ogólności metod implementacyjnych.

Jak dotąd, relatywizm obiektów nie jest koncepcją popularną. Brak pełnej świadomości co do znaczenia relatywizmu obiektów można uważać za przejaw niedojrzałości wielu koncepcji w zakresie obiektowości. Przy wyjaśnianiu semantyki języków zapytań będzie on dla nas obowiązujący.

Copyrights © 2006 PJWSTK
Materiały zostały opracowane w PJWSTK w projekcie współfinansowanym ze środków EFS.