ТЕХНОЛОГИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ БАЗ ДАННЫХ

 

Махметова Айгерим, студентка 3 курса специальности «Информационные системы»

 КГУ им. А. Байтурсынова

Бевз И.А., ст. преподаватель кафедры ИС КГУ им. А. Байтурсынова

 

В последнее десятилетие объектно-ориентированная технология нашла свое место в языках программирования, пользовательских интерфейсах, базах данных, операционных системах. Продукты, помеченные как объектно-ориентированные системы баз данных, появились на рынке, а производители реляционных систем баз данных объявляют, что они расширяют свои продукты объектно-ориентированными возможностями. Характеристика объектно-ориентированных возможностей СУБД позволит оценить преимущества нового поколения технологий баз данных.

Сегодняшние объектно-ориентированные технологии включают объектно-ориентированные языки программирования (например, С++ и Smalltalk), объектно-ориентированные системы баз данных, объектно-ориентированные интерфейсы пользователя (например, оконные системы Macintosh и Microsoft, настольные издательские системы Frame и Interleaf) и т.д. Объектно-ориентированная технология делает возможным использование "объектно-ориентированных концепций".

Термин "объектно-ориентированный" означает, в первом приближении, комбинацию инкапсуляции и наследования (наравне с термином "наследование" иногда говорят "переиспользование"). Под наследованием понимают возможность создания нового объекта путем расширения уже существующего.

Сила объектно-ориентированных концепций проистекает из объединения инкапсуляции и наследования.

Поскольку наследование делает возможным совместное использование различными классами одного набора атрибутов и методов, одна и та же программа может работать с объектами, принадлежащими ко всем этим классам. На этом основывается объектно-ориентированный интерфейс пользователя современных оконных систем. Один и тот же набор программ (открыть, закрыть, создать, выбросить, переместить и т.д.) применим к различным типам данных (изображение, текст, аудио-данные, каталог и т.д.).

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

Первый состоит в хранении и управлении объектами, созданными программами, которые написаны на конкретных объектно-ориентированных языках, в частности, на С++ или Smalltalk Конечно, для этого можно использовать и РБД. Однако такие базы данных ничего не знают об объектах, методах и наследовании. Поэтому необходимо написать "менеджер объектов" или "объектно-ориентированный слой" для управления методами и наследованием и для трансляции объектов в кортежи отношений. Но менеджер объектов вместе с РБД и дают ООБД (конечно, с низкой производительностью).

Другой подход предоставляет доступ к объектно-ориентированным средствам пользователям традиционных языков. Этот подход, по сути, превращает такие языки, как С, FORTRAN, COBOL и т.д., в объектно-ориентированные языки. Спроектированные таким образом ООБД могут использоваться для хранения и управления объектами, созданными программами, написанными и на объектно-ориентированных языках.

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

Для модернизации языка запросов ООБД потребуется выполнение следующих операций:

1. Проектирование языка запросов.

2. Реализация процедуры синтаксического разбора запросов.

3. Добавление оптимизатора запросов - очень большого компонента системы баз данных. Большинство современных ООБД поддерживают только простые запросы и не включают изощренных оптимизаторов, которые автоматически определяли бы лучший способ обработки запроса.

4. Реализация различных алгоритмов обработки запросов для вычисления сложных запросов (соединения, операции над множествами, вложенные подзапросы).

5. Реализация нескольких методов доступа (структур для сохранения и извлечения данных), таких как универсальная сортировка, индексное B+-дерево, расширяемая хэш-таблица.

6. Проектирование и реализация каталога статистики, а также компонентов управления этим каталогом, что позволит использовать статистические данные для оптимизации запросов. Каталог должен содержать такую информацию, как число объектов в классе, число различных значений атрибута класса, максимальное и минимальное значения атрибута и так далее. Кроме того, в соответствующих системных каталогах должна поддерживаться такая информация, как число страниц, которые занимают объекты класса, наличие и высота индекса для каждого атрибута и т.д.

7. Разработка методов доступа, которые должны защитить базовые структуры данных от возможных проблем, связанных с одновременным доступом многих пользователей, и от системных сбоев и прерывания транзакций.

8. Интеграция алгоритмов обработки запросов с механизмами контроля одновременного доступа и восстановления после сбоев.

9. Нуждается в модификации компонент управления рабочим пространством, поскольку оно будет задействовано в обработке запросов. Так как рабочее пространство может содержать обновленные версии объектов, отличные от тех, которые находятся в базе, это необходимо учитывать при обработке.

Таким образом, объектно-ориентированные технологии значительно расширяют возможности использования СУБД, но продолжают оставаться актуальным направлением разработки баз данных нового поколения.

 

 

 

 

 

Список используемых источников:

 

1.     http://www.osp.ru