Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Объекты в ORACLE.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
143.87 Кб
Скачать

РАБОТА С ОБЪЕКТАМИ В СУБД ORACLE 9.2

Введение 2

1. Достоинства и недостатки реляционной и объектной моделей 2

Задачи, недоступные для реляционного подхода 2

Задачи, недоступные для объектного подхода 2

Задачи, недоступные обеим моделям 2

2. Реализация объектного подхода в ORACLE 3

2.1. Хранение объектов в столбцах реляционных таблиц 3

2.2. Создание таблицы объектов 4

2.3. Ссылки на объект 4

2.4. Методы объектов 5

2.5. Конструкторы 6

2.6. Статические методы 7

2.7. Методы сравнения 8

2.8. Объектные представления 9

3. Реализация механизма наследования объектов в ORACLE 10

3.1. Особенности наследования объектов в ORACLE 10

3.2. Абстрактные объекты 10

4. Реализация полиморфизма в СУБД ORACLE 12

4.1. Полиморфизм типов 12

4.2. Расширение и сужение объектных типов 13

4.3. Оператор IS OF 13

4.4. Виртуальные методы 14

Введение

Начиная с версии 8 в СУБД ORACLE, появилась возможность хранения в таблицах неатомарных значений, а именно объектов в смысле объектного подхода. Существует два способа хранения объектов: в одном или нескольких полях реляционной таблицы или в специальной объектной таблице.

Сразу надо предостеречь от преувеличений достоинств объектного подхода в базах данных вообще. Действительно, неискушенный читатель некоторых руководств или рекламных материалов быстро впадет в недоумение: зачем же такие маститые разработчики СУБД, как фирмы IBM, Informix или Oracle так долго занимались табличной организацией данных, когда все это время рядом существовала более совершенная, удобная и т. д. объектная модель, первая реализация которой фирмой Xerox известна еще с 1980 года? Непредвзятый ответ состоит в том, что ни табличная организация, ни объектная не являются универсально «хорошими», и что имеются свои достоинства и недостатки у одной и у другой. Популярность объектно-ориентированных баз данных в настоящий момент обусловлена популярностью объектного подхода вообще, или, иными словами, модой на все объектно-ориентированное.

1. Достоинства и недостатки реляционной и объектной моделей Задачи, недоступные для реляционного подхода

Реляционной моделью трудно описать предметную область, подразумевающую наличие разветвленной иерархии множества объектов или большого числа сложных типов данных. Задача еще более осложняется, если в ходе эксплуатации ИС постоянно требуется вводить новые типы данных.

Если кратко, то реляционные базы данных не позволяют использовать всю полноту и функциональность объектно-ориентированного подхода, который стал очень популярным в последнее время.

Задачи, недоступные для объектного подхода

Внутри объектные базы данных построены не на реляционной алгебре, хотя и имеют SQL-интерфейс. Реляционные же базы данных позволяют быстрее выполнять SQL-запросы, поскольку используют реляционную алгебру на уровне ядра.

Задачи, недоступные обеим моделям

Пример реальных потребностей моделирования, с которыми не справляется ни реляционный подход, ни нынешний объектный. Пусть мы собираем информацию о лицах в течение длительного периода времени. База проектировалась 10 лет назад, и в ней имелся атрибут личности «партийность». Для него был определен вполне достаточный логический тип. Через несколько лет вдруг выяснилось, что логического типа уже недостаточно, и для «партийности» требуется указывать значение из списка. Еще через несколько лет графа «партийность» в организации, ведущей базу данных, оказалась упразднена. Таким образом, для данных об одном и том же лице, относящихся к одному периоду времени, должен использоваться булев атрибут «партийности», для данных, относящихся к другому периоду, – символьный атрибут (внешний ключ?), а для данных, относящихся к третьему периоду, атрибут должен отсутствовать. Другими примерами структурных изменений во времени могут служить упразднение атрибута «национальность» или добавление атрибута «государственный пенсионный страховой номер».

Сегодняшние подходы к моделированию данных (что реляционный, что объектный) сориентированы в первую очередь на статическое моделирование прикладной области и мало рассчитаны на динамику (историю). В лучшем случае можно долго и тщательно разрабатывать схему данных, а уж потом фиксировать ее и реализовывать в ИС, но никогда не эксплуатируется тезис о том, что «структура данных может изменяться (а не только пополняться)».