Основные понятия и классификация систем управления базами данных
ТЕМА 3 «БАЗЫ ДАННЫХ И СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ»
Основные понятия и классификация систем управления базами данных
Модели организации данных
Реляционные базы данных и их проектирование
Использование систем управления базами данных
Основные понятия и классификация систем управления базами данных
База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области [49].
Логическую структуру данных, хранимых в базе, называют моделью представления данных.
Система управления базами данных (СУБД) — это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями.
Информационные системы, основанные на использовании БД, обычно функционируют в архитектуре клиент-сервер. В этом случае БД размещается на компьютере-сервере, и к ней осуществляется совместный доступ.
Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом, клиентом — компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, к примеру, базы данных, файлы, службы печати, почтовые службы.
Достоинством организации информационной системы на архитектуре клиент-сервер является удачное сочетание централизованного хранения, обслуживания в коллективного доступа к общей корпоративной информации с индивидуальной работой пользователей.
По характеру использования СУБД делят на многопользовательские (промышленные) и локальные (персональные).
Промышленные СУБД представляют собой программную основу для разработки автоматизированных систем управления крупными экономическими объектами. Промышленные СУБд должны удовлетворять следующим требованиям [14]:
• возможность организации совместной параллельной работы многих пользователей;
• масштабируемость
• переносимость на различные аппаратные и программные платформы;
• устойчивость по отношению к сбоям различного рода, в том числе наличие многоуровневой системы резервирования хранимой информации;
• обеспечение безопасности хранимых данных и развитой структурированной системы доступа к ним.
Персональные СУБд — это программное обеспечение, ориентированное на решение задач локального пользователя или небольшой группы пользователей и предназначенное для использования на персональном компьютере. Это объясняет и их второе название — настольные , Определяющими характеристиками настольных систем являются:
• относительная простота эксплуатации, позволяющая создавать ва их основе работоспособные пользовательские приложения;
• относительно ограниченные требования к аппаратным ресурсам.
По используемой модели данных СУБд разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и др. Некоторые СУБд могут одновременно поддерживать несколько моделей данных.
Для работы с данными, хранящимися в базе, используются следующие типы языков [49]:
• язык описания данных — высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных;
• языкманипулирования данными — совокупность конструкций, обеспечивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.
Названные языки в различных СУБД могут иметь отличия. Наибольшее распространение получили два стандартизованных языка: QВЕ (Query By Example) — язык запросов по образцу и SQL (Structured Query Language) — структурированный язык запросов. QВЕ в основном обладает свойствами языка манипулирования данными, SQL. сочетает в себе свойства языков обоих типов [49].
СУБД реализует следующие основные функции низкого уровня [49]:
• управление данными во внешней памяти;
• управление буферами оперативной памяти;
• управление транзакциями;
• ведение журнала изменений в БД;
• обеспечение целостности и безопасности БД.
Реализация функции управления данными во внешней памяти обеспечивает организацию управления ресурсами в файловой системе ОС.
Необходимость буферизации данных обусловлена тем, что объем оперативной памяти меньше объема внешней памяти. Буферы представляют собой области оперативной памяти, предназначенные для ускорения обмена между внешней и оперативной памятью. В буферах временно хранятся фрагменты БД, данные из которых предполагается использовать при обращении к СУБД или планируется записать в базу после обработки [49].
Механизм транзакций используется в СУБД для поддержания целостности данных в базе. Транзакцией называется некоторая неделимая последовательность операций над данными БД, которая отслеживается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы оборудования, ошибки в программном обеспечении, включая приложение) транзакция остается незавершенной, то она отменяется.
Транзакции присущи три основных свойства [14, 49]:
• атомарность (выполняются все входящие в транзакцию операции или ни одна);
• сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);
• долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции).
Примером транзакции является операция перевода денег с одного счета на другой в банковской системе. Сначала снимают деньги с одного счета, затем начисляют их на другой счет. Если хотя бы одно из действий не выполнится успешно, результат операции окажется неверным и будет нарушен баланс операции.
Ведение журнала изменений выполняется СУБд для обеспечения надежности хранения данных в базе при наличии аппаратных и программных сбоев.
Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно при ее сетевом использовании. Целостность БД — это свойство базы данных, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область информация. Обеспечение безопасности достигается в СУБД шифрованием данных, парольной защитой, поддержкой уровней доступа к базе данных и отдельным ее элементам (таблицам, формам, отчетам и др.).