logo search
Уч_пособие ИТ управления

4.4 Системы управления базами данных

Логический (модельный) уровень процесса накопления связан с физическим через программы, осуществляющие создание канонической структуры БД, схемы ее хранения и работу с данными. Таким образом, переход к физической модели базы данных, реализуемой и используемой на компьютере, производится с помощью системы программ, позволяющих создать в памяти ЭВМ (на магнитных и оптических дисках) базу хранимых данных и работать с этими данными, т.е. извлекать, изменять, дополнять, уничтожать их. Выше уже упоминались эти программы - это СУБД. Они предназначены для управления БД и обеспечения интерфейса пользователя. СУБД содержит в своем составе программные средства создания баз данных [21], средства работы с данными и дополнительные сервисные средства (рис. 10).

Рис. 10. Состав СУБД

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

- описание данных на концептуальном и логическом уровнях;

- загрузку данных;

- хранение данных;

- поиск и ответ на запрос (транзакцию);

- внесение изменений;

- обеспечение безопасности и целостности.

Она обеспечивает пользователя следующими языковыми средствами:

- языком описания данных (ЯОД);

- языком манипулирования данными (ЯМД);

- прикладным (встроенным) языком данных (ПЯД, ВЯД).

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

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

Дополнительные (сервисные) средства позволяют при проектировании и использовании БД привлечь к работе с БД другие системы, например, текст из текстового процессора Word или таблицу из электронного процессора Excel или обратиться к сетевому серверу.

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

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

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

СУБД должны удовлетворять основным требованиям [17]:

1. Непротиворечивость данных. Например, не должны возникать ситуации с заказом отсутствующего на складе товара или несоответствие информации о покупателе в заказе с данными картотеки покупателей в результате ошибки в процессе ввода (требование целостности).

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

Транзакция – это последовательность операций над БД, рассматриваемых как единое целое. Например, при оформлении заказа на определенный товар в системе нужно выполнить определенные операции: регистрацию заказа, резервирование определенного количества товара, а также уменьшение этого количества товара на складе. При сбое на любом этапе изменения данных целостность БД будет нарушена. Для предотвращения подобных нарушений необходимо ввести транзакцию «Оформление заказа», согласно которой над БД должны произвести все необходимые операции (товар продан, уменьшен его запас на складе), иначе должен произойти возврат в исходное состояние (товар не продан, количество на складе не изменилось).

2. Актуальность хранимых данных. В любой момент времени информация, содержащаяся в БД, должна быть современной.

3. Многоаспектное использование данных - поступление информации из различных источников в единую БД и возможность ее использования любым отделом предприятия в соответствии с правами доступа и функциями.

4. Возможность модификации системы - предоставление возможности ее расширения и модификации данных, а также дополнение новыми функциями без ущерба для системы в целом.

5. Надежность - целостность БД не должна нарушаться при технических сбоях.

6. Скорость доступа - обеспечение быстрого доступа к требуемой информации.

СУБД обеспечивают надежное хранение больших объемов данных сложной структуры во внешней памяти компьютера и эффективный доступ к ним. К основным функциям СУБД относятся: непосредственное управление данными во внешней и оперативной памяти и обеспечение эффективного доступа к ним в процессе решения задач; поддержание целостности данных и управление транзакциями; ведение системного журнала изменений в БД для обеспечения восстановления БД после технического или программного сбоя; реализация поддержки языка описания данных и языка запросов; обеспечение безопасности данных; обеспечение параллельного доступа к данным нескольких пользователей.