Основные функции СУБД
Создание базы данных, ее хранение, обеспечение доступа пользователей к данным осуществляются с помощью специальных программных инструментов – систем управления базами данных.
Система управления базами данных (СУБД) – это комплекс языковых и программных средств, обеспечивающих создание, хранение и совместное использование баз данных.
Основными функциями СУБД являются:
- Ведение словаря данных. Словарем данных называется информация, позволяющая описывать данные, хранящиеся в базах. В словарь данных входят названия, типы и размеры элементов данных, названия связей, ограничения целостности данных.
- Поддержка многопользовательского режима. В случае, когда с базой данных работает несколько пользователей, СУБД должна гарантировать корректность обновления данных разными пользователями.
- Восстановление баз данных после сбоев. СУБД ведет журнал, куда поступает информация обо всех изменениях в базах данных. Восстановление после сбоев происходит на основании данных, зафиксированных в журнале.
- Управление доступом к данным. СУБД позволяет создавать пользователей и давать им различные права доступа к данным. На основании прав доступа производится контроль.
- Поддержка целостности данных.
Целостностью данных называется соответствие данных логике той модели данных, на которой основана СУБД и всем накладываемым на данные ограничениям.
СУБД должна постоянно контролировать выполнение этих ограничений.
- Поддержка транзакций.
Транзакцией называется последовательность операций, которая должна быть либо выполнена целиком, либо отменена.
Допустим, необходимо выполнить следующую последовательность действий:
- Определить сумму на счете №1.
- Вычислить 10% от этой суммы.
- Уменьшить сумму на счете №1 на полученное значение.
- Увеличить сумму на счете №2 на это же значение.
Если на любом из этих шагов произойдет сбой в системе, то в лучшем случае не произойдет перевод денег со счета №1, на счет №2. А в худшем деньги будут сняты со счета №1, но на счет №2 не попадут. Поэтому эти четыре операции должны быть оформлены транзакцией. В случае сбоя, система должна вернуться в то состояние, в котором она была до выполнения шага 1.
Кроме перечисленных функций различные СУБД могут обладать рядом дополнительных.
Классификация СУБД
Самым важным признаком, по которому классифицируются СУБД, является модель данных. Как и модели данных СУБД бывают следующих видов:
- Иерархические. Самыми известными иерархическими СУБД является IMS и Cache . Модель удобна для хранения структур, которые являются иерархическими по своей природе. Иерархической является, например, структура предприятия с подчиненными подразделениями. Однако, большинство предметных областей не соответствуют иерархической структуре. Потому иерерхические СУБД не популярны и используются в основном в устаревших ИС.
- Сетевые. Известными представителями этого класса являются IDMS и CronosPRO. Данная модель является усовершенствованием иерархической. Высокая сложность и жесткость структуры базы данных также снижают популярность этого класса СУБД;
- Реляционные. На сегодняшний день реляционные базы данных и СУБД являются стандартом де-факто. Чаще всего, когда речь идет о базе данных, то подразумевается именно реляционная. На рынке ПО существует много представителей этого класса СУБД: MS SQL SERVER,IBM DB2, MySQL, PostgreSQL и т.д. ;
- Постреляционные. Постреляционная модель основана на тех же принципах, что и реляционная, но без учета требования неделимости данных. Их достоинством является более высокая скорость работы, а недостатком – сложности в обеспечении целостности данных. Типичным представителем являются СУБД uniVerse и UniData;
- No sql (нереляционные). Модель no sql отличается простотой и гибкостью. Она позволяет добавлять элементы данных в таблицы без предварительного объявления об изменении структуры. Наиболее известные представители MongoDB и CouchDB.
- Объектные. Этот класс СУБД хранит данные в виде объектов. Такой подход очень удобен для предметных областей со сложной структурой. Недостатком является необходимость использовать процедурные языки для доступа к данным. К современным объектным СУБД относятся POET, Jasmine, Versant, O2, ODB-Jupiter.
- Объектно-реляционные. Некоторые производители СУБД совмещают в своих продуктах реляционную и объектную модели. К таким «гибридам» относятся Informix Universal Server и Oracle8 Universal Data Server
- Многомерные. Если реляционная модель хранит данные в двумерных таблицах, то многомерная позволяет добавлять дополнительные измерения. В результате данных хранятся не в таблицах, а в гиперкубах. Многомерные СУБД используются в задачах анализа данных. На многомерной технологии основаны СУБД jBASE, EssBase.