SQL99 предлагает два основных расширения
Язык SQL3/ SQL99 предлагает два основных расширения SQL2/SQL92, принятой на сегодняшний день черновой версией SQL.
1.
АТД. АТД может быть описан при помощи оператора
CREATE TYPE. Как и
классы в объектно-ориентированной технологии, АТД состоит из атрибутов и функций-членов, предназначенных для доступа к значениям атрибутов. Функции-члены могут изменять значения атрибутов типа данных, а значит, могут изменять и состояние базы данных. АТД можно использовать как тип столбца реляционной схемы. Для доступа к значению, которое содержится в АТД, нужно вызвать функцию-член, описанную в операторе
CREATE TYPE. Например, следующий код порождает тип
Point и описывает одну функцию-член
Distance: CREATE TYPE Point ( x NUMBER, y NUMBER, FUNCTION Distance(:u Point,:v Point) RETURNS NUMBER );
Двоеточия перед
u и
v указывают, что это – локальные переменные.
2.
Тип строки. Тип строки (row type) – это тип отношения. Тип строки задает схему отношения. Например, следующий оператор объявляет тип строки с именем
Point: CREATE ROW TYPE Point ( x NUMBER, y NUMBER );
Теперь можно создавать таблицу, которая содержит экземпляры типа строки. Например: CREATE TABLE Pointtable of TYPE Point;
В этой книге особое значение мы будем придавать использованию АТД, а не типов строк. Это связано с тем, что АТД в роли типа столбца естественным образом согласуется с описанием ОР-СУБД как расширенной реляционной базы данных.
Содержание раздела