Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Объектная модель данных



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

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

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

В самом деле, между объектно-ориентированными языками программирования и реляционными базами данных имеется несоответствие – эти области оперируют разными терминами и используют разные подходы. Соответственно, для преодоления этого несоответствия необходимо прикладывать усилия. Чаще всего, это выливается в создание некоторой объектно-ориентированной «прослойки», скрывающей за собой детали работы с реляционными данными. Очевидно, что это усложняет систему и снижает производительность. Избавление от нее за счет использования СУБД, работающей в объектно-ориентированной парадигме, выглядит очень привлекательно.

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

Второй проблемой на пути создания и использования объектно-ориентированных баз данных является проблема производительности. ООСУБД отстают от реляционных систем по эффективности, и разрыв этот вряд ли будет преодолен.

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

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

Наконец, имеются и серьезные вопросы с реализацией ограничений целостности данных. Их не всегда можно сформулировать на уровне базы данных, а реализация их на уровне приложения делает данные уязвимыми для возможных ошибок, если доступ осуществляется помимо приложения.

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

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

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





Дата публикования: 2014-11-26; Прочитано: 273 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...