Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Общие понятия объектно-ориентированного подхода и их внедрение в ООБД

Поиск

В общей классической постановке объектно-ориентированный подход базируется на концепциях:

· объекта и идентификатора объекта;

· атрибутов и методов;

· классов;

· иерархии и наследования классов.

Любая сущность реального мира в объектно-ориентированных языках и системах моделируется в виде объекта. Любой объект при своем создании получает генерируемый системой уникальный идентификатор, который связан с объектом во все время его существования и не меняется при изменении состояния объекта. Каждый объект имеет состояние и поведение. Состояние объекта - набор значений его атрибутов. Поведение объекта - набор методов (программный код), оперирующих над состоянием объекта. Значение атрибута объекта - это тоже некоторый объект или множество объектов. Состояние и поведение объекта инкапсулированы в объекте; взаимодействие между объектами производится на основе передачи сообщений и выполнении соответствующих методов. Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу если не учитывать возможности наследования. Допускается наличие примитивных предопределенных классов, объекты-экземляры которых не имеют атрибутов: целые, строки и т.д. Класс, объекты которого могут служить значениями атрибута объектов другого класса, называется доменом этого атрибута. Допускается порождение нового класса на основе уже существующего класса - наследование. В этом случае новый класс, называемый подклассом существующего класса (суперкласса) наследует все атрибуты и методы суперкласса. В подклассе, кроме того, могут быть определены дополнительные атрибуты и методы. Различаются случаи простого и множественного наследования. В первом случае подкласс может определяться только на основе одного суперкласса, во втором случае суперклассов может быть несколько. Если в языке или системе поддерживается единичное наследование классов, набор классов образует древовидную иерархию. При поддержании множественного наследования классы связаны в ориентированный граф с корнем, называемый решеткой классов. Объект подкласса считается принадлежащим любому суперклассу этого класса.

Одной из более поздних идей объектно-ориентированного подхода является идея возможного переопределения атрибутов и методов суперкласса в подклассе (перегрузки методов). Эта возможность увеличивает гибкость, но порождает дополнительную проблему: при компиляции объектно-ориентированной программы могут быть неизвестны структура и программный код методов объекта, хотя его класс (в общем случае - суперкласс) известен. Для разрешения этой проблемы применяется метод позднего связывания, означающий интерпретационный режим выполнения программы с распознаванием деталей реализации объекта во время выполнения посылки сообщения к нему. Введение некоторых ограничений на способ определения подклассов позволяет добиться эффективной реализации без потребностей в интерпретации. При таком наборе базовых понятий, если не принимать во внимание возможности наследования классов и соответствующие проблемы, объектно-ориентированный подход очень близок к подходу языков программирования с абстрактными (или произвольными) типами данных. С другой стороны, если абстрагироваться от поведенческого аспекта объектов, объектно-ориентированный подход весьма близок к подходу семантического моделирования данных. Фундаментальные абстракции, лежащие в основе семантических моделей, неявно используются и в объектно-ориентированном подходе. На абстракции основывается построение сложных объектов, значениями атрибутов которых могут быть другие объекты. Абстракция группирования - основа формирования классов объектов. На абстракциях специализации/обобщения основано построение иерархии или решетки классов. Наиболее важным новым качеством ООБД, которое позволяет достичь объектно-ориентированный подход, является поведенческий аспект объектов. В прикладных информационных системах, основывавшихся на БД с традиционной организацией (вплоть до тех, которые базировались на семантических моделях данных), существовал принципиальный разрыв между структурной и поведенческой частями. Структурная часть системы поддерживалась всем аппаратом БД, ее можно было моделировать, а поведенческая часть создавалась изолированно. В частности, отсутствовали формальный аппарат и системная поддержка совместного моделирования и гарантирования согласованности этих структурной (статической) и поведенческой (динамической) частей. В среде ООБД проектирование, разработка и сопровождение прикладной системы становится процессом, в котором интегрируются структурный и поведенческий аспекты. Для этого нужны специальные языки, позволяющие определять объекты и создавать на их основе прикладную систему. Специфика применения объектно-ориентированного подхода для организации и управления БД потребовала уточненного толкования классических концепций и некоторого их расширения. Это определяется потребностями долговременного хранения объектов во внешней памяти, ассоциативного доступа к объектам, обеспечения согласованного состояния ООБД в условиях мультидоступа и подобных возможностей, свойственных базам данных. Выделяются три аспекта, отсутствующие в традиционной парадигме, но требующиеся в ООБД. Первый аспект касается потребности в средствах спецификации знаний при определении класса (ограничений целостности, правил дедукции и т.п.) Второй аспект - потребность в механизме определения разного рода семантических связей между объектами разных классов. Фактически это означает требование полного распространения на ООБД средств семантического моделирования данных. Потребность в использовании абстракции ассоциирования отмечается и в связи с использовании ООБД в сфере автоматизированного проектирования и инженерии. Третий аспект связан с пересмотром понятия класса. В контексте ООБД более удобно рассматривать класс как множество объектов данного типа, т.е. одновременно поддерживать понятия и типа и класса объектов. В сообществе исследователей ООБД и разработчиков систем отсутствует полное согласие, но в большинстве практических работ используется некоторое расширение объектно-ориентированного подхода.

 

_____________________


Литература

Основная

1. Дейт К. Дж.Введение в системы баз данных. — 8-е изд. — М.: Вильямс, 2006. — с. 1328.

2. Ульман Дж., Уидом Д. Основы систем баз данных. - М.: ЛОРИ, 2000. - 374 с.

3. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1989. - 351 с.

4. Кузнецов С.Д. Основы баз данных: учебное пособие. – 2-е изд. – М.: БИНОМ.лаборатория знаний, 2007. – 484с.

5. Гарсиа-Молина Г., Ульман Дж, Уидом Дж. Системы баз данных. Полный курс. – М.: Издательский дом «Вильямс», 2003. - 1088 с.

6. Документация по MySQL. http://dev.mysql.com/doc/

7. Артеменко Ю.Н. MySQL. Справочник по языку. – М.: Вильямс, 2005. – 432 с.

8. Клайн К., Клайн Д., Хант Б. SQL.Справочник.2-е издание/Пер. с англ. – М.:КУДИЦ-ОБРАЗ, 2006. – 832 с.

 

Дополнительная

9. Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и статистика, 1985. – 344 с.

10. Мейер М. Теория реляционных баз данных. – М.: Мир, 1987. – 608 с.

11. Дейт К. Руководство по реляционной СУБД DB2. – М.: Финансы и статистика, 1988. – 320 с.

12. Швецов В.И. Базы данных. 2009. // http://www.intuit.ru/department/database/databases/

13. Грошев А.С. Основы работы с базами данных // http://www.intuit.ru/studies/courses/93/93/info

14. Карпова Т.С. Базы данных: модели, разработка, реализация. // http://www.intuit.ru/studies/courses/1001/297/info

15. Кузнецов С.Д. Базы данных. Вводный курс // http://citforum.ru/database/advanced_intro/

16. Кириллов В.В. Основы проектирования реляционных БД. Учебное пособие // http://citforum.ru/database/dbguide/index.shtml

17. Анализ предметной области// http://www.forekc.ru/nr2/index-analiz_predmetnoi_oblasti.htm

18. Зеленков Ю.А. Введение в базы данных. Ограничения целостности // http://www.mstu.edu.ru/study/materials/zelenkov/ch_4_3.html

19. Базы данных. Материалы к лекциям. // http://vgam2004.narod.ru/_db/db-mat.htm.

 


ДОПОЛНЕНИЯ

 

 



Поделиться:


Последнее изменение этой страницы: 2016-12-27; просмотров: 156; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.76.135 (0.01 с.)