Классическая реляционная модель предполагает неделимость данных, хранящихся в полях записей таблиц. Постреляционная модель представляет собой расширенную реляционную модель, снимающую ограничение неделимости данных. Модель допускает многозначные поля – поля, значения которых состоят из подзначений. Набор значений многозначных полей считается самостоятельной таблицей, встроенной в основную таблицу.
Поскольку постреляционная модель допускает хранение в таблицах ненормализованных данных, возникает проблема обеспечения целостности и непротиворечивости данных. Эта проблема решается включением в СУБД механизмов, подобных хранимым процедурам в клиент-серверных системах. Для описания функций контроля значений в полях имеется возможность создавать процедуры (коды конверсии и коды корреляции), автоматически вызываемые до или после обращения к данным. Коды корреляции выполняются сразу после чтения данных, перед их обработкой. Коды конверсии, наоборот, выполняются после обработки данных.
Помимо обеспечения вложенности полей постреляционная модель поддерживает ассоциированные многозначные поля (множественные группы). Совокупность ассоциированных полей называется ассоциацией. При этом в строке первое значение одного столбца ассоциации соответствует первым значениям всех других столбцов ассоциации. Аналогичным образом связаны все вторые значения столбцов и т. д.
Как видно из приведенного примера в постреляционной базе данные хранятся более компактно и не требуется выполнять операции связи двух таблиц. Такое хранение обеспечивает высокую наглядность представления данных и повышение эффективности их обработки.
Преимущества:
· Возможность предоставления связанных реляционных таблиц одной постреляционной.
· Высокая наглядность информации и повышенная эффективность ее обработки.
Недостатки:
· Недостатком постреляционной модели является сложность решения проблемы обеспечения целостности и непротиворечивости хранимых данных.
Рассмотренная постреляционная модель данных поддерживается СУБД uniVers . К числу других СУБД, основанных на постреляционной модели данных, относятся также системы Bubba и Dasdb .
Вопрос 8. Охарактеризуйте объектно-ориентированную модель данных, опишите базовые понятия модели (объекты, классы, методы, наследование, инкапсулирование, расширяемость, полиморфизм), укажите её достоинства и недостатки
В объектно-ориентированной модели при представлении данных имеется возможность идентифицировать отдельные записи базы. Между записями базы данных и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в объектно-ориентированных языках программирования.
Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом или типом, конструируемым пользователем. Логическая структура объектно-ориентированной БД внешне похожа на структуру иерархической БД. Основное отличие состоит в методах манипулирования данными.
Объектно-ориентированная модель изначально строилась с учетом ее эволюции и расширения. Эта модель базируется на основных понятиях и методах, разработанных в объектно-ориентированном программировании
Компоненты объектно-ориентированной модели данных.
В объектно-ориентированной модели данных любая сущность реального мира является объектом. Атрибуты сущности также являются объектами этой структуры.
Объекты характеризуются свойствами, определяющими их состояние, и методами, определяющими их поведение. Объекты взаимодействуют друг с другом путем передачи сообщений, активизирующих их линии поведения.
Класс - это способ группирования объектов, имеющих одинаковые наборы атрибутов и линии поведения, в шаблон. Объекты определенного класса называются экземплярами этого класса.
Реализация объектно-ориентированного подхода характеризуется следующими ключевыми свойствами объектов:
Наследование означает, что класс объектов может включать в себя поведение другого класса объектов, а также иметь свое собственное дополнительное поведение. Это означает, что можно создавать собственные классы объектов, наследующие поведение стандартных классов.
Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
Расширяемость означает, что существующую систему можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений.
Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Сущность полиморфизма состоит в возможности программного кода работать с объектами разных классов одинаковым образом.
Объектно-ориентированная модель данных имеет ряд преимуществ:
1. Хорошо подходит для моделирования сложных отношений между данными. В этом ее главное преимущество, недоступное другим структурам данных.
2. Позволяет идентифицировать отдельную запись базы данных и определять функции их обработки.
3. Хорошо интегрируется с методами имитационного моделирования.
4. Обеспечивает высокий уровень целостности данных: инкапсуляция сохраняет внутреннее устройство объектов, создание новых данных контролируется правилами поведения и допусками.
У объектно-ориентированной модели данных есть также и некоторые недостатки:
1. Высокая понятийная сложность.
2. Затруднен импорт данных и обмен данными с другими типами баз данных.
3. Низкая скорость выполнения запросов.
4. Анализ объектно-ориентированных баз данных требуют использования объектно-ориентированных языков программирования.
Вопрос 9. Охарактеризуйте объектно-реляционную модель данных. Прокомментируйте её достоинства, недостатки. Выделите её отличие от объектно-ориентированной модели
В связи со значительным усложнением приложений появилась новая модель – расширенная реляционная модель (ExtendedRelationDataModel – ERDM).
Эта модель включила в себя основные достоинства объектно-ориентированной модели и одновременно унаследовала простоту структуры реляционных моделей, и потому стала называться объектно-реляционной моделью данных.
Расширению возможностей реляционных моделей данных способствует применение понятие объекта, аналогичного понятию объекта в объектно-ориентированной модели данных. В объектно-реляционной модели данных объектами признаются агрегаты и таблицы (отношения), которые могут входить в состав другой таблицы.
Реляционная база данных расширяется за счет программного обеспечения, включающего объектно-ориентированные линии поведения, но данные при этом не инкапсулированы.
В отличие от объектно-ориентированной модели (OODM) объектно-реляционная модель (ERDM) основана на стратегии реляционной модели, в то время как OODM модель основана на объектной стратегии. Исходя из этого, модель ERDM наиболее приспособлена для бизнес-приложений, а модель OODM используется в специальных инженерных и научных приложениях. Некоторые специалисты полагают, что в будущем произойдет слияние OODM и ERDM моделей.
Однако у объектно-реляционной и объектно-ориентированной моделей есть и ряд недостатков, основные из которых следующие:
· отсутствие унифицированной теории, которая есть в реляционных моделях;
· отсутствие формальной методологии проектирования баз данных, как нормализация в реляционных базах;
· отсутствие специальных средств создания запросов;
· отсутствие общих правил определения целостности и др.