- •Ю. В. Любицкий
- •Базы данных
- •Содержание
- •Предисловие
- •Введение
- •1. Основные понятия баз данных
- •1.1. Банк данных и его компоненты
- •1.2. Модели данных
- •Пользователи
- •Прикладные
- •СУБД
- •Филиал
- •Магазин
- •Склад
- •Товар
- •Дирекция
- •Подразделение
- •Сотрудники
- •Филиал
- •Дирекция
- •Подразделение
- •Магазин
- •Сотрудники
- •Склад
- •Товар
- •2. Целостность баз данных
- •3. Внутренняя организация СУБД
- •3.1. Общие положения
- •3.2. Линейный список
- •3.3. Инвертированный список
- •3.4. Индексы
- •3.5. Хеширование
- •Область переполнения
- •3.6. Кластеризация
- •4. Распределенная обработка данных
- •4.1. Режимы работы с базой данных
- •4.2. Архитектура «клиент-сервер»
- •4.3. Модели «клиент-сервер»
- •4.4. Управление распределенными данными
- •Параллельный
- •СУБД
- •Приложения
- •СУБД
- •СУБД
- •СУБД
- •5. Восстановление баз данных
- •5.1. Транзакции
- •5.2. Журнал транзакций
- •5.3. Выполнение транзакций в многопользовательских системах
- •6. Защита баз данных
- •7. Основы проектирования реляционных баз данных
- •7.1. Этапы проектирования
- •7.2. Построение концептуальной модели предметной области
- •7.3. Логическое проектирование базы данных
- •7.4. Нормализация отношений
- •7.5. Автоматизированные технологии проектирования баз данных
- •Директор
- •Магазин
- •Название
- •Адрес
- •Работник
- •Продавец
- •Адрес
- •Руководит
- •Товар
- •Артикул
- •Название
- •Цена
- •Фасует
- •Магазин
- •Продавец
- •Товар
- •Заключение
- •Библиографический список
57
нечного ожидания, так как они будут безрезультатно ждать прекращения выполнения другой транзакции и снятия блокировки с нужных им объектов.
Во время работы с базой данных может сложиться ситуация, когда при одновременном выполнении большого количества транзакций возникает множество тупиков. Эта ситуация разрешается непосредственно средствами СУБД. Из общей совокупности выполняемых транзакций выбираются и отменяются полностью или частично транзакции, которыми можно и нужно пожертвовать для устранения тупиков и продолжения работы других транзакций. Выбор транзакции для отката определяется многофакторным критерием, включающим приоритет и время выполнения транзакции, количество блокированных ею объектов.
6. Защита баз данных
Для успешной работы с базами данных, в особенности в многопользовательском режиме, любая СУБД должна включать средства защиты данных от несанкционированного доступа. При этом традиционно используются два подхода обеспечения безопасности данных – избирательный и обязательный [ 2 ].
Врамках избирательного подхода конкретный пользователь имеет разные права (полномочия) для работы с различными объектами базы данных (под объектами базы данных могут подразумеваться база данных полностью, отдельные таблицы, записи или значения данных). Полномочия отдельных пользователей при работе с одним и тем же объектом также могут быть различными. Поэтому избирательный подход достаточно гибок.
При обязательном подходе некоторый классификационный уровень присваивается самому объекту, а каждый пользователь имеет свой фиксированный уровень доступа. При обращении пользователя к объекту контролируется, соответствует ли уровень доступа пользователя классификационному уровню объекта. Обязательный подход применяется к базам данных, которые имеют жесткую или статичную структуру [ 2 ].
Вконкретных СУБД могут поддерживаться или один из рассмотренных подходов обеспечения безопасности данных, или оба подхода.
Решения о полномочиях пользователей при доступе к объектам базы данных принимаются при разработке стратегии эксплуатации базы данных и не зависят от СУБД. СУБД только реализует принятые решения на практике. Для этого она должна иметь следующие средства:
58
1.Правила безопасности, сформулированные в процессе принятия решений
ополномочиях пользователей. Эти правила обычно хранятся в словаре базы данных.
2.Механизмы контроля выполняемых действий, использующие имеющиеся правила безопасности.
3.Методы опознания и проверки подлинности пользователя.
Для опознания пользователя при его входе в систему СУБД обычно просит ввести идентификатор (например, фамилию, должность и т. д.) и пароль, известный только системе или сотрудникам с особыми полномочиями (например, администратору банка данных).
Несколько пользователей могут использовать одни и те же идентификатор и пароль. В результате создаются группы пользователей, обладающих одинаковыми правами доступа к данным. Состав группы может изменяться независимо от установленных для этой группы правил безопасности. Один пользователь может одновременно входить в несколько групп.
Рассмотренные проблемы предполагают, что нелегальный пользователь пытается войти в базу данных, используя средства СУБД. Тем не менее возможна ситуация, когда несанкционированные действия реализуются в обход СУБД с помощью копирования фрагмента базы данных или подключения к коммуникационному каналу.
Наиболее надежным способом защиты от таких действий является шифрование данных. Исходные данные шифруются с помощью специального алгоритма шифрования с применением некоторого ключа шифрования. Процедура дешифрирования информации при известном ключе шифрования выполняется достаточно просто. Алгоритм шифрования может быть широко доступен, ключ шифрования обязательно хранится в секрете.
Рассмотренные методы защиты базы данных не решают проблем использования в неправомерных целях похищенных пользовательских паролей и идентификаторов, злоумышленных действий администраторов банков данных или других пользователей, обладающих большими полномочиями. Проблема обеспечения безопасности баз данных является комплексной и должна включать не только программные, но и физические, аппаратные, организационные методы защиты.
В MS Access пароль доступа к базе данных можно создать (только в монопольном режиме работы) с помощью команд Сервис/Защита/Задать пароль