Opcja obiektowa w Oracle
Pierwsza podejście do baz obiektowych, którym zajmiemy się to baza relacyjna z dodanymi opcjami obiektowymi. Jako przykład posłuży baza Oracle w wersji 10g.
Opis opcji obiektowej w SQL i PL/SQL znajduje się już na stronie p. Stencla, więc nie będę go tu przepisywał, streszczę tylko krótko najważniejsze cechy takiego rozwiązania.
Definicje typów obiektowych
Opcja obiektowa pozwala na definiowania swoich własnych typów danych – podobnych do klas w językach obiektowych (polecenie CREATE [OR REPLACE] TYPE). Typy takie mogą zawierać atrybuty i metody. Atrybuty mogą być typów prostych lub wcześniej zdefiniowanych typów obiektowych. Metody mają rozdzieloną część deklaracyjną (razem z atrybutami) i implementacyjną (podobnie jak w pakietach PL/SQL). Typy można rozbudowywać przez dziedziczenie.
Kolekcje
Atrybuty typów obiektowych oraz kolumny w tabelach mogą być typu VARRAY lub TABLE.
Tabele obiektowe i tabele relacyjne z kolumnami obiektowymi
Możliwe jest utworzenie tabeli na podstawie typu obiektowego (tabela obiektowa) lub użycie takiego typu do zdefiniowania kolumny w zwykłej tabeli (tabela relacyjna z kolumną obiektową)
Perspektywy obiektowe
Na podstawie typu obiektowego można również stworzyć perspektywę. Taka perspektywa może posłużyć do zdefiniowania interfejsu obiektowego do zwykłych tabel relacyjnych. Definicja perspektywy obiektowej może objąć – oprócz typu obiektowego i zapytania podającego źródło danych – wyzwalacze INSTEAD OF, definiujące sposób działania na perspektywie operacji modyfikacji danych.
Materiały:
Opis opcji obiektowej w bazie relacyjnej (na stronie p. Stencla).
Dokumentacja Oracle dotycząca opcji obiektowej.
Zadanie zaliczeniowe.