В объектно-ориентированной модели при представлении данных имеется возможность идентифицировать отдельные записи базы данных. Между записями и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в объектно-ориентированных языках программирования.
Стандартизированная объектно-ориентированная модель описана в рекомендациях стандарта ODMG -93 ( Object Database Management Group – группа управления объектно-ориентированными базами данных).
тема 3 вопрос 23.docx
тема 3 вопрос 23
достоитсва и недостатки объектноориентированной модели представления данны. примеры
объектноориентированная модель
В объектноориентированной модели при представлении данных имеется возможность
идентифицировать отдельные записи базы данных. Между записями и функциями их обработки
устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в
объектноориентированных языках программирования.
Стандартизированная объектноориентированная модель описана в рекомендациях стандарта
ODMG 93 ( Object Database Management Group – группа управления объектноориентированными
базами данных).
Рассмотрим упрощенную модель объектноориентированной БД. Структура объектно
ориентированной БД графически представима в виде дерева, узлами которого являются объекты.
Свойства объектов описываются некоторым стандартным типом или типом, конструируемым
пользователем (определяется как class ). Значение свойства типа class есть объект, являющийся
экземпляром соответствующего класса. Каждый объектэкземпляр класса считается потомком
объекта, в котором он определен как свойство. Объектэкземпляр класса принадлежит своему
классу и имеет одного родителя. Родовые отношения в БД образуют связн ую ие рархию объектов.
Пример логической структуры объектноориентированной БД библиотечного дела приведен на рис.
2.9. Здесь объект типа Библиотека является родительским для объектовэкземпляров классов
Абонент , Каталог и Выдача . Различные объекты типа Книг а могут иметь одного или разных
родителей. Объекты типа Книга , имеющие одного и того же родителя, должны различаться, по
крайней мере, инвентарным номером (уникален для каждого экземпляра книги), но имеют
одинаковые значения свойств isb n , удк , названи е и автор .
Логическая структура объектноориентированной БД внешне похожа на структуру иерархической
БД. Основное различие между ними состоит в методах манипулирования данными.
Для выполнения действий над данными в рассматриваемой модели БД применяются логические
операции, усиленные объектноориентированными механизмами инкапсуляции, наследования и
полиморфизма.
Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в
котором оно определено. Так, если в объект типа Каталог добавить свойство, задающее телефон
автора книги и имеющее название телефон , то мы получим одноименные свойства у объектов
Абонент и Каталог . Смысл такого свойства будет определяться тем объектом, в который оно
инкапсулировано.
Наследование , наоборот, распространяет область видимости свойства на всех потомков объекта.
Так, всем объектам типа Книга , являющимся потомками объекта типа Каталог , можно приписать
свойства объектародителя: isbn , удк , название и автор . Если необходимо расширить действие
механизма наследования на объекты, не являющиеся непосредственными родственниками
(например, между двумя потомками одного родителя), то в их общем предке определяется
абстрактное свойство типа abs . Так, определение абстрактных свойств билет и номер в объекте
Библиотека приводит к наследованию этих свой ств вс еми дочерними объектами Абонент , Книга
и Выдач а. Не случайно, поэтому значения свойства билет классов Абонент и Выдача ,
показанных на рис. 2.9, являются одинаковыми – 00015.
Полиморфизм в объектноориентированных языках программирования означает способность
одного и того же программного кода работать с разнотипными данными. Другими словами, он
означает допустимость в объектах разных типов иметь методы (процедуры или функции) с
одинаковыми именами. Во время выполнения объектной программы одни и те же методы
оперируют с разными объектами в зависимости от типа аргумента. Применительно к
рассматриваемому примеру полиморфизм означает, что объекты класса Книга , имеющие разных
родителей из класса Каталог , могут иметь разный набор свойств. Следовательно, программы
работы с объектами класса Книга могут содержать полиморфный код.
Поиск в объектноориентированной БД состоит в выяснении сходства между объектом,
задаваемым пользователем, и объектами, хранящимися в БД. Рис. 2.9. Логическая структура БД библиотечного дела
Основным достоинством объектноориентированной модели данных в сравнении с реляционной
является возможность отображения информации о сложных взаимосвязях объектов. Объектно
ориентированная модель данных позволяет идентифицировать отдельную запись базы данных и
определять функции их обработки.
Недостатками объектноориентированной модели являются высокая понятийная сложность,
неудобство обработки данных и низкая скорость выполнения запросов.
К объектноориентированным СУБД относятся POET , Jasmine , Versant , O 2, ODB Jupiter , Iris ,
Orion , Postgres .
2.3 Объектноориентированная модель данных
В объектноориентированной модели при представлении данных имеется возможность
идентифицировать отдельные записи базы. Между записями базы данных и функциями их
обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим
средствам в объектноориентированных языках программирования.
Стандартизованная объектноориентированной модель описана в рекомендациях стандарта ODMG
93 (Object Database Management Group группа управления объектноориентированными базами
данных). Реализовать в полном объеме рекомендации ODMG93 пока не удается. Для иллюстрации
ключевых идей рассмотрим несколько упрощенную модель объектноориентированной БД.
Структура объектноориентированной БД графически представима в виде дерева, узлами которого
являются объекты. Свойства объектов описываются некоторым стандартным типом (например,
строковым string) или типом, конструируемым пользователем (определяется как class).
Значением свойства типа string является строка символов. Значение свойства типа class есть
объект, являющийся экземпляром соответствующего класса. Каждый объектэкземпляр класса
считается потомком объекта, в котором он определен как свойство. Объектэкземпляр класса
принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную
иерархию объектов.
Пример логический структуры объектноориентированной БД библиотечного цепа приведен на
рис.10.(см. Приложение рис.10.)
Здесь объект типа БИБЛИОТЕКА является родительским для объектовэкземпляров классов
АБОНЕНТ, КАТАЛОГ и ВЫДАЧА. Различные объекты типа КНИГА могут иметь одного или
разных родителей. Объекты типа КНИГА, имеющие одного и того же родителя, должны
различаться по крайней мере инвентарным номером (уникален для каждого экземпляра книги), но
имеют одинаковые значения свойств isbn, удк, название и автор. Логическая структура объектноориентированной БД внешне похожа на структуру иерархической
БД. Основное отличие между ними состоит в методах манипулирования данными.
Для выполнения действий над данными в рассматриваемой модели БД применяются логические
операции, усиленные объектноориентированными механизмами инкапсуляции, наследования и
полиморфизма Ограниченно могут применяться операции, подобные командам SQL (например, для
создания БД).
Создание и модификация БД сопровождается автоматическим формированием и последующей
корректировкой индексов (индексных таблиц), содержащих информацию для быстрого поиска
данных.
Рассмотрим кратко понятия инкапсуляции, наследования и полиморфизма применительно к
объектноориентированной модели БД.
Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в
котором оно определено. 'Гак, если в объект типа КАТАЛОГ добавить свойство, задающее телефон
автора книги и имеющее название телефон, то мы получим одноименные свойства у объектов
АБОНЕНТ и КАТАЛОГ Смысл такого свойства будет определяться тем объектом, в который оно
инкапсулировано.
Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта.
Так, всем объектам типа КНИГА, являющимся потомками объекта типа КАТАЛОГ, можно
приписать свойства объектародителя: isbn, удк, название и автор. Если необходимо расширить
действие механизма наследования на объекты, не являющиеся непосредственными родственниками
(например, между двумя потомками одного родителя), то в их общем предке определяется
абстрактное свойство типа abs. Так, определение абстрактных свойств 6wcem и номер в объекте
БИБЛИОТЕКА приводит к наследованию этик свойств всеми дочерними объектами АБОНЕНТ,
КНИГА и ВЫДАЧА. Неслучайно по этой причине значения свойства билет классов АБОНЕНТ и
ВЫДАЧА, показанных на рисунке, будут одинаковыми 00015.
Полиморфизм в объектноориентированных языках программирования означает способность
одного и того же программного кода работать с разнотипными данными. Другими словами, он
означает допустимость в объектах разных типов иметь методы (процедуры или функции) с
одинаковыми именами. Во время выполнения объектной программы одни и те же методы
оперируют с разными объектами в зависимости от типа аргумента. Применительно к нашей
объектноориентированной БД полиморфизм означает, что объекты класса КНИГА, имеющие
разных родителей из класса КАТАЛОГ, могут иметь разный набор свойств. Следовательно,
программы работы с объектами класса КНИГА могут содержать полиморфный код.
Поиск в объектноориентированной БД состоит в выяснении сходства между объектом,
задаваемым пользователем, и объектами, хранящимися в БД. Определяемый пользователем объект,
называемый объектомцёлью (свойство объекта имеет тип goal), в общем случае способен
представлять собой подмножество всей хранимой в БД иерархии объектов. Объектцель, а также
результат вьполнения запроса могут храниться в самой базе. Пример запроса о номерах
читательских билетов и именах абонентов, получавших в библиотеке хотя бы одну книгу, показан
на рис.11. (см. Приложение рис.11.)
Основным достоинством объектноориентированной модели данных в сравнении с реляционной
является возможность отображения информации о сложных взаимосвязях объектов. Объектно
ориентированная модель данных позволяет идентифицировать отдельную запись базы данных и
определять функции их обработки.
Недостатками объектноориентированной модели являются высокая понятийная сложность,
неудобство обработки данных и низкая скорость выполнения запросов.
B 90e годы существовали экспериментальные прототипы объектноориентированных систем
управления базами данных. B настоящее время такие системы получили широкое распространение,
в частности, К ним относятся следующие СУБД: POET (POET Software), Jasmine (Computer
Associates), Versant (Versant Technologies), 02 (Ardent Software), ODBJupiter (научно
производственный центр «Интелтек Плюс»), а также Iris, Orion и Postgres.
Лекция "Объектно-ориентированная модель"
Лекция "Объектно-ориентированная модель"
Лекция "Объектно-ориентированная модель"
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.