Объектно-ориентированная база данных
Объектно-ориентированная база данных (ООБД) — база данных, в которой данные моделируются в виде объектов[1], их атрибутов, методов и классов[2].
История
правитьПервые публикации об объектно-ориентированных базах данных появились в середине 80-х годов.[3]
Характеристики
правитьОбъектно-ориентированные базы данных обычно рекомендованы для тех случаев, когда требуется высокопроизводительная обработка данных, имеющих сложную структуру.
В манифесте ООБД[4] предлагаются обязательные характеристики, которым должна отвечать любая ООБД. Их выбор основан на 2 критериях: система должна быть объектно-ориентированной и представлять собой базу данных.
Обязательные характеристики
- Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счёт применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту.
- Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.
- Поддержка инкапсуляции. Корректная инкапсуляция достигается за счёт того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.
- Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием её типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с её типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.)
- Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.
- Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имён методов в системе не должно выполняться до времени выполнения программы.
- Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения.
- Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределённых системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.
Необязательные характеристики:
- Множественное наследование
- Проверка типов
- Распределение
- Проектные транзакции
Открытые характеристики:
- Парадигмы программирования (процедурное, декларативное)
- Система представления
- Система типов
- Однородность. Реализация — язык программирования — интерфейс.
ООБД и её СУБД
правитьРезультатом совмещения возможностей (особенностей) баз данных и возможностей объектно-ориентированных языков программирования являются Объектно-ориентированные системы управления базами данных (ООСУБД). ООСУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в ООЯП. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.
Некоторые объектно-ориентированные базы данных разработаны для плотного взаимодействия с такими объектно-ориентированными языками программирования, как Python, Java, C#, Visual Basic .NET, C++, Objective-C и Smalltalk; другие имеют свои собственные языки программирования. ООСУБД используют точно такую же модель, что и объектно-ориентированные языки программирования.
СУБД должна обеспечивать:
- Долговременное хранение
- Использование внешней памяти
- Параллелизм
- Восстановление
- Нерегламентированные запросы
Примечания
править- ↑ Словарь по естественным наукам. Глоссарий.ру
- ↑ OLAP.RU: Объектно-ориентированные базы данных — основные концепции, организация и управление: краткий обзор . Дата обращения: 13 июня 2011. Архивировано 13 марта 2012 года.
- ↑ IEEE Database Engineering, special issue on Object-Oriented Databases, F. Lochovski, ed., Dec. 1985
- ↑ Atkinson et al., 1989
Литература
править- Дейт К. Дж. Введение в системы баз данных. — М.: Вильямс, 2005. — ISBN 5-8459-0788-8. (Глава 25 «Объектные базы данных» и глава 26 «Объектно-реляционные базы данных».)
- Чертовской В.Д. Базы и банки данных. Учебное пособие . Московский государственный университет печати. Дата обращения: 7 мая 2011. Архивировано из оригинала 26 января 2012 года.
Ссылки
править- С.Д. Кузнецов. Объектно-ориентированные базы данных - основные концепции, организация и управление: краткий обзор . CIT Forum. Дата обращения: 12 июня 2011. Архивировано 25 января 2012 года.
- С.Д. Кузнецов. Три манифеста баз данных: ретроспектива и перспективы . CIT Forum. Дата обращения: 12 июня 2011. Архивировано 8 февраля 2012 года.
Для улучшения этой статьи по информационным технологиям желательно:
|