Учебная дисциплина «Базы данных» для студентов специальности Прикладная информатика (бакалавриат) 080800.62 Лекция №7 Объектно – ориентированные базы данных 1 Общие понятия объектно-ориентированного подхода к построению баз данных. 2 Объектно-ориентированные модели данных. Литература 1. Базы данных: учеб. Пособие для студ. высш. учеб. Заведений / А.В. Кузин, С.В. Левонисова. – 2-е изд. стер. – М.: Издательский центр «Академия», 2008. 2. Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник. –М.: Финансы и статистика, 2006. 3. Теория и практика построения баз данных. 8е изд. / Д. Крёнке. –СПб: Питер, 2003. В наиболее общей и классической постановке объектно-ориентированный подход базируется на концепциях: • объекта и идентификатора объекта; • атрибутов и методов; • классов; • иерархии и наследования классов. Любая сущность реального мира в объектноориентированных языках и системах моделируется в виде объекта. Любой объект при своем создании получает генерируемый системой уникальный идентификатор, который связан с объектом во все время его существования и не меняется при изменении состояния объекта. Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу. Допускается наличие примитивных предопределенных классов, объекты-экземляры которых не имеют атрибутов: целые, строки и т.д. Класс, объекты которого могут служить значениями атрибута объектов другого класса, называется доменом этого атрибута. Допускается порождение нового класса на основе уже существующего класса - наследование. В этом случае новый класс, называемый подклассом существующего класса (суперкласса) наследует все атрибуты и методы суперкласса. В подклассе, кроме того, могут быть определены дополнительные атрибуты и методы. Различаются случаи простого и множественного наследования. Специфика применения объектноориентированного подхода для организации и управления БД потребовала уточненного толкования классических концепций и некоторого их расширения. Это определяется потребностями долговременного хранения объектов во внешней памяти, ассоциативного доступа к объектам, обеспечения согласованного состояния ООБД в условиях мультидоступа и тому подобных возможностей, свойственных базам данных. Первый аспект касается потребности в средствах спецификации знаний при определении класса (ограничений целостности, правил дедукции и т.п.) Второй аспект - потребность в механизме определения разного рода семантических связей между объектами вообще говоря разных классов. Третий аспект связан с пересмотром понятия класса. В контексте ООБД оказывается более удобным рассматривать класс как множество объектов данного типа, т.е. одновременно поддерживать понятия и типа и класса объектов. В настоящее время на рынке представлено свыше 25 систем ООБД. Среди них — система GemStone компании Servio, ONTOS компании Ontos, ObjectStore компании Object Design и многие другие. Кроме того, системы управления реляционными базами данных, разработанные компаниями Oracle, Microsoft, Borland, Informix, включали объектно-ориентированные средства. Многие из этих продуктов появились еще во второй половине 80-х годов, и сегодня, по прошествии почти полутора десятилетий разработки они все еще не вступили в пору зрелости; в этом — одна из причин того, что по сей день мировой рынок реальных приложений не торопится принимать системы ООБД. Среди современных ООБД почти нет полностью оперившихся систем, сопоставимых с современными системами реляционных баз данных. Обсудим основные достижения и проблемы, связанные с нынешним состоянием ООБД. В объектно-ориентированной модели данных любая сущность реального мира представляется всего одним понятием — объектом. С объектом ассоциируется состояние и поведение. Состояние объекта определяется значениями его свойств — атрибутов. Значениями свойства могут являться примитивные значения (такие, как строки или целые числа) и непримитивные объекты. У каждого объекта имеется определяемый системой уникальный идентификатор. Объекты, обладающие одними и теми же свойствами и поведением, группируются в классы. Объект может быть экземпляром только одного класса или нескольких классов. Достоинства ОО МД Системы ООБД позволяют пользователям: определять абстракции; 1. облегчают проектирование некоторых связей; 2. устраняют потребность в определяемых пользователями ключах; 3. поддерживают новый набор предикатов сравнения; 4. в некоторых случаях устраняют потребность в соединениях; 5. в некоторых ситуациях обеспечивают более высокую производительность, нежели системы, основанные на реляционной модели; 6. обеспечивают поддержку версий и длительных транзакций. Кроме того, разработана объектная алгебра — хотя, возможно, пока и не столь детально, как реляционная алгебра. Недостатки ОО МД • В объектно-ориентированных базах данных отсутствуют базовые средства, к которым пользователи систем баз данных привыкли и поэтому ожидают видеть; • отсутствие интероперабельности между РБД и ООБД; • минимальную оптимизацию запросов; отсутствие стандартной алгебры запросов; отсутствие средств обеспечения запросов; • отсутствие поддержки представлений; • проблемы с безопасностью; • отсутствие поддержки динамических изменений определений классов; ограниченная поддержка ограничений целостности; • ограниченные возможности настройки производительности; • недостаточная поддержка сложных объектов; • ограниченная интеграция с существующими объектноориентированными системами программирования; • ограниченный выигрыш в производительности.