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



ЗНАЕТЕ ЛИ ВЫ?

Объектно-ориентированные модели данных.

Поиск

 

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

Под объектом понимается нечто, имеющее четко определенные границы. Объекты, обладающие одинаковыми свойствами, составляют классы (например, курица, пингвин и чайка - объекты класса "птицы").

Обычно класс описывается как новый тип данных (Абстрактный тип данных или Abstract Data Types — ADT), а объекты (экземпляры класса) — определенные на его основе переменные.

Объекту в момент его создания присваивается идентификатор объекта (Object IDentifier — OID), который обладает следующими свойствами:

· генерируется системой;

· уникально обозначает этот объект;

· является неизменным;

· не зависит от значений его атрибутов (т.е. от его текущего состояния);

· скрыт от пользователя (в идеальном случае).

Аспекты ОО Модели Данных

· Структурный аспект (определяет структуру данных)

· Целостный аспект (гарантия того, что данные удовлетворяют заданным правилам допустимости и непротиворечивости)

· Манипуляционный (средства для добавления, изменения, удаления и извлечения данных)

Структурный аспект

Структура объектной модели описываются с помощью трех ключевых понятий:

· Инкапсуляция

· Наследование

· Полиморфизм

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

Также со структурным аспектом связано понятие составного объекта.

Составными называются объекты, состоящие из подчиненных объектов.

Виды составных объектов:

· Структурированный — встроенный объект может рассматриваться как независимый от составного объекта. В родительском объекте хранится не сам объект, а лишь его идентификатор OID.

· Неструктурированный — структура встроенного объекта образует часть структуры составного объекта и доступ к ней можно получить только с помощью методов составного объекта.

Наследование — подразумевает возможность создавать из классов объектов новые классы объекты, которых наследуют структуру и методы своих предков, добавляя к ним черты, отражающие их собственную индивидуальность. Наследование может быть простым (один предок) и множественным (несколько предков).

Полиморфизм — различные объекты могут по разному реагировать на одинаковые внешние события в зависимости от того, как реализованы их методы.

Целостный аспект

Для поддержания целостности объектно-ориентированный подход предлагает использовать следующие средства:

· Автоматическое поддержание отношений наследования.

· Возможность объявить некоторые поля данных и методы объекта как "скрытые", не видимые для других объектов; такие поля и методы используются только методами самого объекта.

· Создание процедур контроля целостности внутри объекта.

Манипуляционный аспект

В объектно - ориентированном программировании отсутствуют общие средства манипулирования данными, такие как реляционная алгебра или реляционное исчисление. Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk, C++ или Java.

Достоинства

· Естественное представление данных;

· ОО-модель можно рассматривать послойно, на разных уровнях абстракции;

· Возможность определения новых типов данных и операций с ними.

· Применимость для сложных специализированных приложений.

Недостатки

· Отсутствие универсальной модели данных.

· Недостаточность опыта эксплуатации.

· Повышенная сложность.

· Отсутствие мощных непроцедурных средств извлечения объектов из БД. Большинство запросов приходится писать на процедурных языках, проблема их оптимизации возлагается на программиста.

· Вместо чисто декларативных ограничений целостности (типа явного объявления первичных и внешних ключей) или полудекларативных триггеров для обеспечения внутренней целостности приходится писать процедурный код.

Направления развития

· Расширение ОО-языков в сторону управления данными (стандарт ODMG — Object Data Management Group).

· Добавление объектных свойств в реляционные СУБД (SQL-3, а также так называемые объектно-реляционных СУБД).

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 184; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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