exam06 1 - stankin/design-part-1 GitHub Wiki


Выполнила: Кузьмина Валерия

Проверил: Мигунов Никита, Шульга Николай

Группа ИДБ-17-06


Объектные, реляционные и объектно-реляционные СУБД. Преобразование моделей и особенности проектирования смешанных информационных систем

СУБД (система управления базами данных) - совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных (ГОСТ Р ИСО МЭК ТО 10032-2007).

СУБД используют следующие лингвистические средства:

  1. DDL (Язык описания данных): DDL или язык определения данных фактически состоит из команд, которые можно использовать для создания и изменения структуры объектов базы данных.
  2. DML (Язык манипулирования данными): используется для обработки данных и позволяет осуществлять операции непосредственно с записями.
  3. DCL (Язык управления привилегиями): команды управления привилегиями позволяют управлять доступом к информации, находящейся внутри БД. Как правило, используется для создания объектов, связанных с доступом к данным, а также служит для контроля над распределением привилегий между пользователями.
  4. TCL (Язык управления транзакциями): операторы, позволяющие контролировать операцию транзакции.

Объектные СУБД

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

В наиболее общей и классической постановке объектно-ориентированный подход базируется на концепциях:

  • объекта и идентификатора объекта;
  • атрибутов и методов;
  • классов;
  • иерархии и наследования классов.

Объектно-ориентированная база данных (ООБД) — база данных, в которой данные моделируются в виде объектов, их атрибутов, методов и классов.

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

Несколько обязательных характеристик ООБД:

  • Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.
  • Поддержка инкапсуляции. Корректная инкапсуляция достигается за счёт того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.
  • Поддержка типов и классов.
  • Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.
  • Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределённых системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.

Результатом совмещения возможностей баз данных и возможностей объектно-ориентированных языков программирования являются Объектно-ориентированные системы управления базами данных (ООСУБД). ООСУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в ООЯП. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.

Реляционные СУБД

Реляционная система управления базами данных (РСУБД) — СУБД, управляющая реляционными базами данных.

Реляционная база данных — база данных, основанная на реляционной модели данных — интуитивно понятном, наглядном табличном способе представления данных.

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

Особенностью реляционной базы данных является использование в ней реляционной модели данных и вытекающие из этого последствия:

  • Модель данных в реляционных БД определена заранее. Является строго типизированной, содержит ограничения и отношения для обеспечения целостности данных.
  • Модель данных основана на естественном представлении содержащихся данных, а не на функциональности приложения.
  • Модель данных подвергается нормализации, чтобы избежать дублирования данных. Нормализация порождает отношения между таблицами. Отношения связывают данные разных таблиц.

РСУБД в качестве лингвистических средств использует следующие языки и их операторы:

  1. DDL (Язык описания данных):
    • CREATE
    • ALTER
    • DROP
  2. DML (Язык манипулирования данными):
    • SELECT
    • INSERT
    • UPDATE
    • DELETE
  3. DCL (Язык управления привилегиями):
    • GRANT
    • REVOKE
  4. TCL (Язык управления транзакциями):
    • START TRANSACTION
    • COMMIT
    • ROLLBACK

Объектно-реляционные СУБД

Объектно-реляционная система управления базой данных (ОРСУБД) - реляционная СУБД, которая поддерживает некоторые технологии, присущие объектно-ориентированным СУБД и реализующие объектно-ориентированный подход: объекты, классы и наследование реализованы в структуре баз данных и языке запросов: объекты, классы и наследование реализованы в структуре баз данных и языке запросов.

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

Цель ОРСУБД - устранить разрыв между реляционными базами данных и методами объектно-ориентированного моделирования, используемыми в языках программирования. Для этого используются стандартные системы реляционных баз данных с некоторой формой программного обеспечения объектно-реляционного отображения (ОРМ). Объектно-реляционная СУБД позволяет разработчикам программного обеспечения интегрировать свои собственные типы и методы, которые применить к ним в СУБД.

Преобразование моделей и особенности проектирования смешанных информационных систем

ORM (Object-Relational Mapping) – технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».

ORM позволяет проектировать работу с данными в терминах классов, а не таблиц данных и преобразовывать классы в данные, пригодные для хранения в базе данных, причем схему преобразования определяет сам разработчик. Кроме того, ORM предоставляет простой API- интерфейс для CRUD-операций над данными. Благодаря технологии ORM нет необходимости писать SQL-код для взаимодействия с базой данных.

К примеру, ORM хранит объектные данные следующим образом:

  • Каждый класс — отдельная таблица.
  • Каждый атрибут — отдельное поле в таблице.

Среди достоинств ORM выделяют:

  • Наличие явного описания схемы БД, представленное в терминах какого-либо языка программирования, которое находится и редактируется в одном месте.
  • Возможность оперировать элементами языка программирования, т.е. классами, объектами, атрибутами, методами, а не элементами реляционной модели данных.
  • ORM избавляет от необходимости работы с SQL и проработки значительного количества программного кода, который зачастую однообразен и подвержен ошибкам.

Среди недостатков ORM выделяются:

  • Дополнительная нагрузка на программиста, которому, в случае использования ORM необходимо изучать этот некий «дополнительный слой» между программной и базой данных, который к тому же создает дополнительный уровень абстракции — объекты ORM.
  • Появление трудно поддающихся отладке ошибок в программе, если присутствуют ошибки в реализации ORM.
  • Недостатки реализаций, которые могут иметь определенные ограничения и выдвигать определенные требования.

Ссылки