Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Объектная модель данных. ООСУБДСодержание книги
Поиск на нашем сайте
В связи с объектной парадигмой был предложен новый подход, при котором модель данных рассматривается как система типов. Такой подход обеспечивает естественные возможности интеграции баз данных и языков программирования. Ориентируясь на современное понимание типа данных как носителя свойств, определяющих и состояние экземпляров типа, и их поведение, можно дать следующее определение понятия модели данных (ср. с определением этого понятия, приведенным в п. 2.4.): Модель данных – это система типов данных, типов связей между ними и допустимых видов ограничений целостности, которые могут быть для них определены. Стандарт на ООСУБД выработан консорциумом Object Database Management Group (ODMG), состоящим в основном их производителей таких СУБД. В соответствии со стандартом ODMG, объектная модель данных характеризуется следующими свойствами.
Каждый тип имеет внешнюю спецификацию и одну или несколько реализаций. Спецификация определяет внешние характеристики типа: пользователю для работы с объектом предоставляется набор операций и набор атрибутов объекта, при помощи которых можно работать с реальными экземплярами. Реализация определяет внутреннее содержание объектов, например операции. Тип также является объектом. ООСУБД обслуживает множество баз данных, каждая из которых содержит определенное множество типов. В базах данных могут содержаться объекты соответствующего типа из этого множества. Тип имеет набор свойств, а объект характеризуется состоянием в зависимости от значения каждого свойства. Операции, определяющие поведение типа, едины для всех объектов одного типа. Свойство едино для всего типа, а все объекты типа также имеют одинаковый набор свойств. Значение свойства относится к конкретному объекту. Таким образом, одним из принципиальных отличий объектных баз данных от реляционных является возможность создания и использования новых типов данных. Основные элементы ООСУБД представлены на рис.36., а применение базовых понятий объектной модели в ООСУБД на рис.37. Замечание 1. Очевидно родство понятия класса объектно-ориентированной парадигмы программирования и понятия типа объектно-ориентированной технологии баз данных. Замечание 2. Напомним, что термин объект в РСУБД обозначает либо тип объектов, либо экземпляр типа объектов. В ООСУБД и тип, и экземпляр типа являются объектами. Стандартный механизм объектно-ориентированного программирования — наследование, реализуется в ООСУБД путем поддержки иерархии супертипов (родительских типов) и подтипов (типов-потомков). Как правило, в ООСУБД для объектов, которые предполагается хранить в базе (постоянные объекты), требуется, чтобы их предком был конкретный базовый тип, определяющий все основные операции взаимодействия с сервером баз данных. Поэтому для создания своего типа необходимо унаследовать свойства любого имеющегося типа, наиболее подходящего по своему поведению и состоянию к типу, который требуется получить, расширить недостающие операции и атрибуты и переопределить, по необходимости, уже имеющиеся. Пример нарис.38. иллюстрирует возможность наследования типа «Человек», который может быть «Мужчиной», «Женщиной», «Взрослым» или «Ребенком». Соответственно, возможны попарные пересечения этих типов. Каждый из этих типов может иметь свой набор свойств и операций. Любой объект типа Мужчина, Женщина, Взрослый или Ребенок является объектом типа Человек. Аналогично объект подтипа МужчинаВзрослый, полученного наследованием типов Мужчина и Взрослый, является человеком, мужского пола, взрослым и, соответственно, может пользоваться свойствами и операциями всех своих супертипов. Идея, положенная в основу ООСУБД, состоит в том, что лучший способ обеспечить возможность долговременного хранения объектов — это реализовать долговременное хранение объектов, используемых в объектно-ориентированных языках программирования, таких как Си++. Поэтому ООСУБД часто называют системами долговременного хранения на базе языков программирования. Однако ООСУБД — это нечто больше, чем язык программирования с добавленными возможностями долговременного хранения. Исторически сложилось так, что объектно-ориентированные СУБД создавались в расчете на рынок приложений, где крайне важны такие функции, как быстрый доступ с возможностями навигации, поддержка версий и обработка транзакций, предполагающих выполнение последовательности операций в базе данных. Таким образом, объектно-ориентированные СУБД поддерживают приложения, обладающие такими возможностями, как поддержка долговременного хранения объектов, созданных в разных языках программирования, распределение данных, улучшенные модели обработки транзакций, поддержка версий, динамическая генерация новых типов.
Рис.36. Основные элементы ООСУБД
Рис.37. Применение базовых понятий объектной модели в ООСУБД Рис.38. Пример наследования типов Объектно-реляционные СУБД В определенный момент возникло ощущение, что объектно-ориентированные СУБД вытеснят реляционные и в силу согласованности с объектно-ориентированной парадигмой программирования, и в силу возможности навигации по указателям (ссылкам), что позволяет на новом уровне реализовать лучшие изобразительные средства иерархических и сетевых моделей. Однако, несмотря на определенные достоинства, из-за ряда причин ООСУБД так и не смогли оказать значительного влияния на положение дел в области технологии баз данных: 1. Отсутствие в ООСУБД базовых средства, к которым пользователи систем баз данных привыкли. Чтобы ООСУБД смогли оказать значительное влияние на рынок баз данных, требовалось учесть привычку разработчиков к использованию средств РСУБД и огромный объем прикладного программного обеспечения, использующего реляционные базы данных. Для этого необходимо было: · превратить ООСУБД в системы баз данных, обладающих достаточной совместимостью с РСУБД, чтобы обеспечить сосуществование имеющихся и создающихся новых продуктов, · унифицировать модели данных РСУБД и ООСУБД, · унифицировать архитектуры РСУБД и ООСУБД. 2. Чтобы стать полноценными СУБД, ООСУБД должны поддерживать весь спектр соответствующих средств: · стандартная алгебра, средства обеспечения и оптимизации запросов, · управление транзакциями, · поддержка ограничений целостности, · организация безопасности, · и т.д. 3. Наличие в ООСУБД основных базовых средства, которые пользователи хотели бы видеть; · широкие возможности настройки производительности, присущие РСУБД, · поддержка сложных объектов, · поддержка динамических изменений определений классов, · полная интеграция с объектно-ориентированными системами программирования. Значительные сложности учета перечисленных факторов привел к тому, что рынок ООСУБД в настоящее время, по существу, исчез. Основные трудности объектно-ориентированного моделирования данных проистекают из того, что не существует развитого математического аппарата, на который могла бы опираться общая объектно-ориентированная модель данных. Замечание. Некоторые авторы утверждают, что общая объектно-ориентированная модель данных в классическом смысле и не может быть определена по причине непригодности классического понятия модели данных к парадигме объектной ориентированности. В начале 90-х годов была предложена идея объектно-реляционных систем (ОРСУБД), поддерживающих объектно-реляционную модель данных -гибридную модель данных, сочетающая возможности реляционных моделей с объектными свойствами данных (например, продукты типа Oracle включили в себя расширения и возможности для реализации определенных средств объектно-ориентированных СУБД). Такие модели стали использоваться как паллиатив ( полумера), обеспечивающий преодоление ограниченных возможностей реляционной модели. Суть объектно-реляционных СУБД (ОРСУБД) в предположении, что наилучший способ удовлетворить требования объектно-ориентированных приложений — это расширить реляционную модель. Реляционная модель убедительно доказала свою состоятельность, а SQL, по существу, стал мировым стандартом. Поэтому, объектно-реляционные СУБД добавляют поддержку объектно-ориентированных моделей данных за счет расширения реляционной модели данных и языка запросов, сохраняя в относительной неприкосновенности технологии реляционной СУБД. Объектно-реляционная модель включает в себя принцип вложения классов, уникальные идентификаторы объектов, методы, приписываемые к классу, наследование атрибутов и методов в соответствии с иерархией классов, а также связи обобщения/специализации между классами, расположенными на разных уровнях иерархии классов. Модифицируется и язык SQL путем добавления объектных расширений. В настоящее время производители ОРСУБД поддерживают стабильное хранение объектов для объектно-ориентированных языков программирования, включая C++ и Java. В сущности, они обеспечивают обертку (wrapper) между объектно-ориентированной программой и ОРСУБД, сглаживающую различия между моделью объектно-ориентированного языка и моделью ОРСУБД. Подход ОРСУБД — это «восходящий» подход, ориентированный на данные (или базу данных). Он лучше других позволяет расширить область практического применения существующих, унаследованных данных, хранящихся в реляционных базах данных. ОРСУБД дают возможность устранить расхождение моделей и компенсировать снижение производительности, возникающие при обращении к реляционным данным из объектно-ориентированного языка программирования. Однако модель данных, которая используется приложением, может оказаться близкой, но не идентичной модели данных, применяемой в СУБД для хранения данных приложения. ОРСУБД решают эту задачу за счет обеспечения возможности организации сложных запросов и разносторонней поддержки исполняемых компонентов приложения на сервере базы данных. Кроме того, они обладают самой высокой надежностью, лучшими характеристиками при поддержке параллельности и восстановления после сбоя среди систем всех трех классов. Приложения, которым требуется хорошая поддержка обработки запросов, хороший уровень защиты, целостности, поддержки параллельности и надежности, а также высокая скорость обработки транзакций — лучшие кандидаты на использование ОРСУБД. Подход ООСУБД — это «нисходящий» подход, ориентированный на приложение (или язык программирования). Это самое приемлемое решение для хранения объектов приложений. Данный подход обеспечивает бесконфликтное долговременное хранение с точки зрения языка программирования. ООСУБД позволяет устранить расхождение моделей, предлагая обширную поддержку возможностей моделирования данных одного или нескольких объектно-ориентированных языков программирования. Таким образом, в ООСУБД модель данных, которая используется приложением, идентична модели, применяемой в СУБД для хранения данных приложения. Подход ООСУБД в первую очередь рассчитан на приложения, которым необходима высокая скорость при навигации, которые не поддерживают сложные запросы. Другими словами, почти все современные ООСУБД — не столько системы баз данных, сколько системы стабильного хранения данных для некоторого объектно-ориентированного языка программирования. Таким образом, в принципах построения современных ООСУБД можно выделить два подхода: 1. Революционный - полный отказ от использования идей реляционных моделей данных. 2. Эволюционный – совмещение реляционной платформы с объектно-ориентированной парадигмой.
|
||||||||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 1176; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.32.53 (0.009 с.) |