Объектно-ориентированные СУБД (ООСУБД)
В настоящем параграфе рассматриваются основные концепции, понятия, черты и характеристики объектно-ориентированных систем управления БД (ООСУБД) в контексте рассмотренных объектно-ориентированных программирования и технологии. В последние годы в результате проникновения идеологии ООП в СУБД интенсивные разработки теоретического и прикладного характера ведутся по созданию различного назначения ООСУБД. Ввиду не совсем устоявшейся в этом направлении терминологии отметим основные черты и характеристики, определяющие СУБД как объектно-ориентированную. При этом по мере необходимости проводятся сопоставления с рассмотренной выше концепцией ООП.
Характеристики ООСУБД подразделяются на три определяющие группы:
— базовые,
определяющие принадлежность СУБД к объектно-ориентированному
классу;
— по выбору,
позволяющие улучшать ООСУБД, но не являющиеся базовыми;
— открытости,
позволяющие пользователю делать осознанный выбор из ряда одинаково приемлемых реализаций ООСУБД.
В первую очередь, ООСУБД должна удовлетворять двум критериям: быть СУБД в ее классическом понимании и быть объектно-ориентированной системой (ООС), т.е. в определенной степени она должна быть совместимой с современными объектно-ориентированными ЯВУ. Первый
критерий включает следующие пять характеристик, присущих классической СУБД: сохранность данных, развитое управление внешней памятью, возможность совмещения обработки и поиска данных, поддержка средств восстановления и возможность быстрого доступа к БД по запросу пользователя. Отмеченные характеристики в той или иной мере обсуждались выше. Второй критерий предполагает наличие следующих характеристик, присущих собственно объектно - ориентированной технологии: понятие сложных объектов, идентичность объектов, инкапсуляция, типы или классы, наследование, настройка (сочетающаяся с отложенным присвоением), расширяемость и вычислительная полнота. Характеристики первого критерия хорошо известны пользователям традиционных СУБД (dBase, R-Base, др.)
Сложные объекты
строятся из более простых путем применения к ним конструкторов.
В качестве простых используются такие объекты. как: целые и действительные числа, символы, символьные строки любой длины, булевы величины и, возможно, другие первичные типы. В качестве конструкторов сложных объектов (объектных конструкторов)
могут выступать: кортежи, множества, списки, массивы, таблицы и др. В качестве минимального набора объектных конструкторов от ОООСУБД определяются: множество, кортеж, список
или массив.
Множество дает естественную возможность представления определенного набора объектов из имеющейся обширной совокупности; тогда как кортеж
позволяет представлять определенные свойства объекта. При этом кортежи и множества имеют особое значение, получив широкое
применение в качестве объектных конструкторов в реляционных
БД (РБД) Список
или массив играют важную роль при установлении порядка
среди элементов множества. Более того, указанные типы объектных конструкторов играют важную роль во многих приложениях (векторно-матричные задачи, задачи анализа временных рядов и др.).
Объектные конструкторы должны удовлетворять принципу ортогональности: любой конструктор может применяться к любому объекту. Например, конструкторы РБД не обладают данным свойством (так конструктор множества
может применяться только к кортежам,
а конструктор кортежей — только к первичным типам).