Меню
Главная
УСЛУГИ
Авторизация/Регистрация
Реклама на сайте
 
Главная arrow Информатика arrow Базы данных
< Предыдущая   СОДЕРЖАНИЕ   Следующая >

Сущность ООБД

Суть объектно-ориентированной БД определяется объектно-ориентированным подходом (рис. 7.1), который подразумевает объектно-ориентированное проектирование и объектно-ориентированное программирование.

Объектно-ориентированный подход

Рис. 7.1. Объектно-ориентированный подход

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

Объектно-ориентированное программирование – методология программирования, основанная на представлении программ в виде связанной совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию по наследованию.

Объектно-ориентированное проектирование предполагает не только деление (декомпозицию) базы знаний или базы данных на составные части (рис. 7.2), но и рассмотрение общей этапности реализации БД, выбор инструмента реализации с учетом оговоренных в техническом задании вариантов реализации.

Объектно-ориентированное проектирование

Рис. 7.2. Объектно-ориентированное проектирование

Объектно-ориентированное программирование берет за основу модель атомарного элемента (рис. 7.1).

Дело в том, что, несмотря на мощные средства отладки программ, ДЛЯ повышения производительности процедуры программирования целесообразно отлаживать программы последовательно, по блокам. Программа в целом отлаживается быстрее, если блоки были отлажены заранее. Эти предпосылки и положены в основу объектно-ориентированного программирования.

Любая математическая модель имеет вид, представленный на рис. 7.1, а сложная – на рис. 7.3.

Выделяется несколько специфических понятий. Класс – это фактически некоторый блок со структурой (рис. 7.1), Однако здесь используется несколько другая терминология. Данные называют свойствами, а алгоритмы – методами. Доступ к классу осуществляется через свойства – в статическом режиме написания и отладки программы или через методы – в процессе выполнения (работы) программы.

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

Программную реализацию класса называют компонентой. Реализация компоненты в некоторой прикладной программе получила название объекта.

В объектно-ориентированном программировании используются три основных принципа: инкапсуляция, наследование, полиморфизм.

Инкапсуляция – выделение класса с доступом к нему через свойства или методы.

Объектно-ориентированное программирование

Рис. 7.3. Объектно-ориентированное программирование

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

Все классы (компоненты) строятся по иерархическому принципу с происхождением от некоторого исходного класса.

Полиморфизм позволяет использовать метод с одним именем как в базовом, так и в производных классах. Дело в том, что количество классов значительно: уже сейчас оно приближается к ста и продолжает расти. Если для производных классов применять для однотипных, "похожих" методов (например, начертание квадрата и окружности) разные имена, пользователю, особенно начинающему, будет сложно освоиться с таким разнообразием имен.

Приведем основные положения ООБД, базирующиеся на объектно-ориентированном подходе.

1. В качестве значения столбца может быть использован произвольный кортеж. Иными словами, столбец может являться как бы некоторой другой таблицей. Таким образом, создается возможность реализации таблиц с нелинейной структурой.

2. Процедура манипуляции данными позволяет присоединять процедуры, определенные значениями столбцов.

3. Данные столбцов могут наследоваться.

4. Элементами отношений могут служить нс только отдельные элементы, как в реляционных БД, но и множества.

5. Формируются классы данных, которые организуют столбцы в иерархию.

Базовым языком ООБД чаще всего является С++. Для работы с такими ООБД разрабатывается новый вариант языка программирования SQL, получивший название SQL3 и содержащий внутри себя в качестве частного случая реляционную модель (SQL2). Если SQL2 определяет семь способов связывания со стандартными языками программирования, в SQL3 это количество предполагается увеличить.

В технологии разработки ООБД конкурирует два направления.

• Distributed Object Linking and Embedding (OLE) фирмы Microsoft.

• Common Object Request Broker Architecture (CORBA) группы OBDMG, поддерживаемая фирмами IBM, Novell, DEC, с ориентацией на все платформы. В рамках этого направления выделены и сформированы указанные ранее язык определения объектов Object Definition Language (ODL); объектный язык запроса Object Query Language (OQL); язык определения интерфейсов Interface Definition Language (IDL).

Во втором направлении обычно выделяют [4] два стандарта управления БД:

• ODL/OQL, в котором объекты и методы формируются обычно с помощью языка программирования С;

• язык программирования SQL3, некоторые особенности которого описаны в гл. 9.

Необходимо отметить, что к объектно-ориентированным возможно отнести только те базы данных, у которых все структурные элементы реализации (см. рис. 7.2) построены с использованием объектно-ориентированного подхода. Если хотя бы один структурный элемент реализации не использует объектно-ориентированный подход, говорят об объектно-реляционной базе данных (ОРБД), которые будут представлены подробнее в гл. 8.

Таким образом, чтобы воспользоваться объектно-ориентированным подходом в построении собственно БД, необходимо:

1) провести инкапсуляцию данных, т. е. выделить классы и объекты;

2) определить возможные виды структуры реализуемых таблиц;

3) создать наследование классов данных;

4) обеспечить полиморфизм.

Реализация даже первой позиции неоднозначна и различна, например в ООСУБД и ОРСУБД. Имеется некоторое отличие даже в рамках различных ООСУБД.

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

В ней выделяют классы типов данных и классы самих данных (классы объектов, таблицы).

Если провести аналогию с терминами реляционной БД, то понятию "класс (объект)" ООБД соответствует примерно понятие "таблица", а понятию "свойство" – "поле (столбец) таблицы".

В качестве свойств [38, 40] приняты константы, ссылки на объекты, встроенные объекты, потоки данных (BLOB и CLOB), коллекции в виде массивов (Array) и списков (List), многомерные свойства. К свойствам относят и связи между объектами.

Для свойств имеются типы, основными из которых являются Currency (денежный), Date, Float, Integer, List (список), Name (имя), Numeric, Status (ошибки), String.

В качестве типов свойств могут выступать связи, которые [40| можно разделить на простые, реализуемые ссылками, и отношения, иногда называемые ассоциациями. При ссылке в качестве типа свойств выступает класс (объект), с которым связывается данное свойство. Возможно встраивание одного объекта в другой. В ассоциациях выделяют отношения ONE-TO-MANY (1:М) и PARENT- CHILDREN (родитель – дети).

Различают три основные группы методов: кол (на языке Cache ObjectScript), выражение (фрагмент кода, вызываемый по значению), вызов. Нетрудно видеть, что данные ячеек неатомарны.

Структура ООБД может быть построена различными способами: с помощью визуального языка, языков программирования Cache ObjectScript, SQL.

В других ООСУБД для этих целей часто используют язык С++.

ООБД в рамках системы OLTP и OLAP взаимодействует с многомерной моделью данных (ММД). Обсудим специфику ММД.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 
Предметы
Агропромышленность
Банковское дело
БЖД
Бухучет и аудит
География
Документоведение
Журналистика
Инвестирование
Информатика
История
Культурология
Литература
Логика
Логистика
Маркетинг
Медицина
Менеджмент
Недвижимость
Педагогика
Политология
Политэкономия
Право
Психология
Религиоведение
Риторика
Социология
Статистика
Страховое дело
Техника
Товароведение
Туризм
Философия
Финансы
Экология
Экономика
Этика и эстетика