Требования, предъявляемые к современным базам данных
В условиях современной экономики к базам данных и к СУБД предъявляются следующие требования:
- Короткое время отклика на запрос (высокое быстродействие).
Временем отклика называется промежуток времени, проходящий между поступлением команды на проведение манипуляций с данными и завершением этих манипуляций.
- Возможность изменять логическую и физическую модель данных, не изменяя представление данных для пользователя.
- Простота обновления данных.
- Совместное использование данных многими пользователями.
- Защита данных от искажения и разрушения.
- Стандартизация построения базы данных.
- Полнота представления предметной области. Это требование означает, что все процессы, происходящие в предметной области, и все объекты, которые в них участвуют, должны найти отражение в модели данных.
- Сохранение и восстановление данных при технических сбоях.
- Поддержка целостности данных.
Целостность данных
Целостность данных – это устойчивость данных к разрушению в случае системных ошибок или непреднамеренных ошибок пользователей.
Это понятие включает в себя:
- Недопустимость ввода двух совершенно одинаковых записей об одном и том же факте. Для этого в СУБД создаются так называемые первичные ключи записей. Это уникальные коды, которые никогда не повторяются.
- Невозможность удаления записей, которые связаны с другими записями.
Пусть в базе данных приемной комиссии вуза имеется информация об абитуриенте Василии Тапкине, который подал три заявления на три специальности. Это означает, что с записью, содержащей личные данные Василия, связано три отдельные записи о его заявлениях. Внезапно Василий решил вообще не поступать в вуз и сообщил об этом сотрудникам приемной комиссии. Оператор информационной системы пытается удалить запись с личными данными Василия Тапкина из базы данных. Вот в этот момент СУБД должна выдать на экран сообщение о невозможности удаления, так как с этой записью связаны три записи о заявлениях. И если ее удалить, то в базе данных окажется три «ничейных» заявления. А это является нарушением целостности. При правильном алгоритме работы сначала нужно удалить три записи с заявлениями, а потом одну запись с личными данными.
- Обеспечение работы в многопользовательском режиме. Данное требование предполагает наличие механизма блокировки записи, с которой в данный момент времени работает один пользователь. Если другой пользователь попытается изменить эту запись в одновременном режиме, то блокировка не позволит ему это сделать. Другой пользователь получит доступ к изменению записи только тогда, когда первый пользователь закончит работу с записью и блокировка будет снята.
Защита данных от несанкционированного доступа
При инсталляции СУБД в ней создается один пользователь – администратор баз данных. Это пользователь, который имеет неограниченный доступ ко всем базам данных, которыми управляет СУБД. Далее администратор создает роли и назначает им права. Обычно в литературе по базам данных права называют привилегиями.
Набор привелегий в большинстве СУБД включает :
- Изменение таблицы;
- Чтение таблицы;
- Обновление таблицы;
- Индексирование таблицы;
- Создание новой базы данных или таблицы;
- Удаление базы данных или таблицы;
- Создание временной таблицы;
- Блокировка таблицы;
- Завершение работы сервера;
- Передача своих привилегий другому пользователю.
Каждой роли при создании назначается пароль, без которого невозможно подключиться к базе данных. После создания ролей создаются отдельные пользователи.
Например, администратор создает роль «оператор» с правами чтения, и обновления таблиц некоторой базы данных. А исполнять эту роль будут четыре пользователя. Каждый из них будет входить в информационную систему под своим личным паролем.
Личный пароль - это не тот же самый пароль, который назначен роли «оператор»! Личные пароли пользователей тоже хранятся в базе данных и для большей надежности шифруются. Таким образом, даже администратор баз данных не может узнать личный пароль пользователя.