Манифест объектно-ориентированных СУБД
1. Поддержка составных объектов
2. Поддержка идентичности объектов за счёт применения уникальных идентификаторов
3. Поддержка инкапсуляции
4. Поддержка типов или классов (Понятие класса относится к времени выполнения, а типа – к времени компиляции)
5. Поддержка наследования типов или классов за счёт использования перегрузки
6. Язык DML (Data Manipulation Language) должен обладать вычислительной полнотой, т.е. это должен быть язык программирования общего назначения (С++, Object Pascal)
7. Набор типов данных должен быть расширенным с использованием системных типов
8. Поддержка перманентности данных (Перманентность – возможность сохранения)
9. Поддержка больших типов данных (изображения, мультимедиа…)
10. Поддержка параллельной работы многих пользователей.
11. Восстановление после сбоев аппаратного и программного обеспечения.
12. Предоставление простых способов создания запросов к данным.
Достоинства Объектно-Ориентированного программирования СУБД (ООСУБД):
1. Улучшены возможности моделирования за счёт более точного отражения реальных объектов
2. Расширяемость за счёт возможности создания новых типов на основе системных
3. Устранение проблем несоответствия (между реляционной моделью и объектно-ориентированными языками)
4. Более выразительный язык запросов за счёт навигационного доступа
5. Поддержка эволюции схем (т.е. модернизации) за счёт хорошей связи между приложениями и данными
6. Поддержка долговременных транзакций
7. Применимость ООСУБД для сложных приложений
8. Повышенная производительность
Недостатки Объектно-Ориентированного программирования СУБД:
1. Отсутствие универсальной модели данных. (В разных реляционных СУБД одни и те же принципы построения структур данных, в ООСУБД принцип построения уникален и зависит от самой СУБД и от программиста)
2. Недостаточность опыта эксплуатации (покупатель стремится приобрести проверенных временем продукт (СУБД). ООСУБД тестируется производителями, а покупателями в меньшей степени)
3. Отсутствие стандартов (На реляционные СУБД есть стандарты, например язык SQL: стандарты 1986, 1989, 1992, 1999, 2003 годов. На ООСУБД есть манифест, стандарт же пока не приняли.)
4. Влияние оптимизационных запросов на инкапсуляцию. (Важный момент при работе СУБД – оптимизатор запросов. Он действует на основе размещения данных в базе. В ООСУБД приходится переходить от объектов к полям.)
5. Влияние блокировки на уровне объектов на производительность (Из-за наследования – блокировка одного объекта приводит к блокировке объектов, связанных с ним.)
6. Сложность
7. Отсутствие поддержки представлений (view)
8. Недостаточность средств обеспечения безопасности