ZSBD-2st-1.2-w5.tresc-1.1-Slajd11
Definiowanie nowych typów danych
Obiektowo-relacyjny model danych umożliwia definiowanie użytkownikom bazy danych nowych typów danych, czyli odpowiednika klas w systemach czysto obiektowych. Definicja typu danych obejmuje definicję interfejsu typu oraz jego implementację. Interfejsem typu danych jest zbiór atrybutów oraz składnia operacji dostępnych dla danego typu. Implementacja typu danych jest implementacją operacji typu danych. Operacje są implementowane za pomocą proceduralnych języków bazy danych. Współczesne relacyjne bazy danych oferują proceduralne rozszerzenia dla języka SQL, stosowane do implementacji operacji typów danych oraz do implementacji niezależnych funkcji i procedur składowanych w bazie danych. W systemie Oracle proceduralnym językiem bazy danych jest język PL/SQL, w systemie DB2 jest to język o nazwie DB2 SQL.
Zdefiniowane przez użytkowników bazy danych nowe typy danych mogą być wykorzystywane do definicji atrybutów innych złożonych typów danych lub do definicji atrybutów schematów relacji. Ten typ danych jest nazywany typem atrybutowym. Wystąpieniami typów atrybutowych nie są pełnoprawne obiekty, gdyż nie posiadają one tożsamości i mogą być przechowywane w bazie danych tylko jako obiekty składowe.
Na slajdzie przedstawiono przykład definicji typu danych „Punkt ” w systemie obiektowo-relacyjnej bazy danych Oracle. Pierwsza konstrukcja przedstawiona na slajdzie definiuje interfejs typu, który obejmuje atrybuty „x ” i „y ” reprezentujące współrzędne punktu oraz składnię operacji „przesuń ” realizującej przesunięcie punktu na płaszczyźnie o dany wektor. Następna konstrukcja zawiera implementację procedury realizującej operację przesuwania punktów. Ostania, trzecia konstrukcja pokazuje zastosowanie zdefiniowanego typu „Punkt ” do definicji innego typu „Koło ”. Typ „Punkt ” został wykorzystany do definicji środka „Koła ”.