-
Notifications
You must be signed in to change notification settings - Fork 17
exam06 1
Объектные, реляционные и объектно-реляционные СУБД. Преобразование моделей и особенности проектирования смешанных информационных систем
Объектно-ориентированная (объектная) СУБД — система управления базами данных, основанная на объектной модели данных.
В наиболее общей и классической постановке объектно-ориентированный подход базируется на концепциях:
- объекта и идентификатора объекта;
- атрибутов и методов;
- классов;
- иерархии и наследования классов.
Объектно-ориентированная база данных (ООБД) — база данных, в которой данные моделируются в виде объектов, их атрибутов, методов и классов.
Объектно-ориентированные базы данных обычно рекомендованы для тех случаев, когда требуется высокопроизводительная обработка данных, имеющих сложную структуру.
Несколько обязательных характеристик ООБД:
- Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.
- Поддержка инкапсуляции. Корректная инкапсуляция достигается за счёт того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.
- Поддержка типов и классов.
- Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.
- Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределённых системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.
Результатом совмещения возможностей баз данных и возможностей объектно-ориентированных языков программирования являются Объектно-ориентированные системы управления базами данных (ООСУБД). ООСУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в ООЯП. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.
Реляционная система управления базами данных (РСУБД) — СУБД, управляющая реляционными базами данных.
Реляционная база данных — база данных, основанная на реляционной модели данных — интуитивно понятном, наглядном табличном способе представления данных.
Данные в реляционных структурах организованы в виде набора таблиц, называемых отношениями, состоящих из столбцов и строк. В таблицах хранится информация об объектах, представленных в базе данных. Каждая строка таблицы представляет собой набор связанных значений, относящихся к одному объекту, или сущности. Каждая строка в таблице может быть помечена уникальным идентификатором, называемым первичным ключом, а строки из нескольких таблиц могут быть связаны с помощью внешних ключей.
Особенностью реляционной базы данных является использование в ней реляционной модели данных и вытекающие из этого последствия:
- Модель данных в реляционных БД определена заранее. Является строго типизированной, содержит ограничения и отношения для обеспечения целостности данных.
- Модель данных основана на естественном представлении содержащихся данных, а не на функциональности приложения.
- Модель данных подвергается нормализации, чтобы избежать дублирования данных. Нормализация порождает отношения между таблицами. Отношения связывают данные разных таблиц.
Объектно-реляционная система управления базой данных (ОРСУБД) - реляционная СУБД, которая поддерживает некоторые технологии, присущие объектно-ориентированным СУБД и реализующие объектно-ориентированный подход: объекты, классы и наследование реализованы в структуре баз данных и языке запросов: объекты, классы и наследование реализованы в структуре баз данных и языке запросов.
Объектно-реляционная база данных (ОРБД) – это база данных, основанная на промежуточной, объектно-реляционной модели, основной идеей которой является допущение использовать в качестве атрибутов не только простые, атомарные типы данных, но и составные, абстрактные типы данных, что противоречит классической концепции реляционных СУБД.
Цель ОРСУБД - устранить разрыв между реляционными базами данных и методами объектно-ориентированного моделирования, используемыми в языках программирования. Для этого используются стандартные системы реляционных баз данных с некоторой формой программного обеспечения объектно-реляционного отображения (ОРМ). Объектно-реляционная СУБД позволяет разработчикам программного обеспечения интегрировать свои собственные типы и методы, которые применить к ним в СУБД.
ORM (Object-Relational Mapping) – технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».
ORM позволяет проектировать работу с данными в терминах классов, а не таблиц данных и преобразовывать классы в данные, пригодные для хранения в базе данных, причем схему преобразования определяет сам разработчик. Кроме того, ORM предоставляет простой API- интерфейс для CRUD-операций над данными. Благодаря технологии ORM нет необходимости писать SQL-код для взаимодействия с базой данных.
К примеру, ORM хранит объектные данные следующим образом:
- Каждый класс — отдельная таблица.
- Каждый атрибут — отдельное поле в таблице.
Среди достоинств ORM выделяют:
- Наличие явного описания схемы БД, представленное в терминах какого-либо языка программирования, которое находится и редактируется в одном месте.
- Возможность оперировать элементами языка программирования, т.е. классами, объектами, атрибутами, методами, а не элементами реляционной модели данных.
- ORM избавляет от необходимости работы с SQL и проработки значительного количества программного кода, который зачастую однообразен и подвержен ошибкам.
Среди недостатков ORM выделяются:
- Дополнительная нагрузка на программиста, которому, в случае использования ORM необходимо изучать этот некий «дополнительный слой» между программной и базой данных, который к тому же создает дополнительный уровень абстракции — объекты ORM.
- Появление трудно поддающихся отладке ошибок в программе, если присутствуют ошибки в реализации ORM.
- Недостатки реализаций, которые могут иметь определенные ограничения и выдвигать определенные требования. Также может отсутствовать возможность написать в явном виде SQL-запрос.