Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая по БД.doc
Скачиваний:
6
Добавлен:
27.08.2019
Размер:
457.73 Кб
Скачать

7. Обеспечение целостности

В Microsoft Access имеется возможность обеспечить целостность данных в операциях вставки, обновления и удаления многих записей путем создания присоединенной формы, которая использует пакетные транзакции.

Пакетные транзакции гарантируют, что информация в базе данных всегда останется согласованной, даже в том случае, когда единственная логическая операция включает в себя множество операций базы данных. Microsoft Access и SQL Server рассматривают все базы данных в пределах транзакции как одну единицу обработки. По определению, транзакция либо безопасно выполняется полностью с отражением всех результирующих изменений в базе данных, либо откатывается с отменой всех изменений в базе данных. Согласованность и возможность восстановления транзакций базы данных гарантируется даже в случае сбоя системы и при сложных обновлениях, выполняемых несколькими пользователями.

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

Одной из возможностей поддержания целостности базы данных является создание триггеров. Триггер – специальный тип хранимой процедуры, вызывается СУБД при выполнении заданного условия.

Триггер запрещающий вставить новые строки в таблицу Операция:

CREATE TRIGGER zapret

ON Договор

FOR INSERT

AS

PRINT ‘Вставка строк запрещена’

Можно создать, вставить или удалить триггер для того, чтобы проконтролировать добавление, удаление соответствующей строки в реляционной таблице, для которой определен этот триггер.

Защита БД

Защита безопасности базы данных заключается в том, что право выполнять некоторые действия дается только определенным пользователям и в определенное время. Эта цель труднодостижима, и чтобы хоть в какой-то степени к ней приблизится, команда разработчиков должна на стадии определения требований к проекту установить для всех пользователей права и обязанности по обработке (processing rights and responsibilities). Реализация этих требований безопасности может обеспечиваться соответствующими возможностями СУБД, а при их недостаточности – логикой прикладных программ.

Существуют различные приемы управления доступом к базе данных Microsoft Access и ее объектам. Эти приемы кратко описаны ниже в порядке усиления безопасности.

Отображение и скрытие объектов в окне базы данных

Другим способом защиты объектов в базе данных от посторонних пользователей является скрытие объектов в окне базы данных. Этот способ защиты является наименее надежным, поскольку относительно просто можно отобразить любые скрытые объекты.

Использование параметров запуска

Параметры запуска позволяют задать такие настройки, как стартовая форма, которая автоматически открывается при открытии базы данных, а также заголовок и значок приложения базы данных. Кроме того, можно скрыть окно базы данных и установить собственную кнопочную форму. В новой базе данных параметры запуска отсутствуют до тех пор, пока не внесены изменения в диалоговом окне Параметры запуска.

Рис. 18. «Параметры запуска».

Использование пароля

Другим простейшим способом защиты является установка пароля для открытия базы данных (.mdb). После установки пароля при каждом открытии базы данных будет появляться диалоговое окно, в которое требуется ввести пароль. Только те пользователи, которые введут правильный пароль, смогут открыть базу данных. Этот способ достаточно надежен (Microsoft Access шифрует пароль, поэтому к нему нет доступа при непосредственном чтении файла базы данных), но он действует только при открытии базы данных. После открытия базы данных все объекты становятся доступными для пользователя (пока не определены другие типы защиты, описанные ниже в этом разделе). Для базы данных, которая совместно используется небольшой группой пользователей или на автономном компьютере, обычно оказывается достаточно установки пароля.

Чтобы установить пароль, необходимо открыть базу данных с монопольным доступом и выбрать пункт меню Сервис - Защита - Задать пароль базы данных.

Рис. 19. «Использование пароля».

Использование защиты на уровне пользователя

Наиболее гибкий и распространенный способ защиты базы данных называют защитой на уровне пользователя.

Двумя основными причинами использования данного способа являются:

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

  2. защита конфиденциальных сведений в базе данных.

При использовании этого типа защиты пользователь должен ввести пароль при запуске Microsoft Access. Затем Access читает файл рабочей группы, в котором каждый пользователь идентифицируется уникальным кодом. В файле рабочей группы пользователи по их личным кодам и паролям идентифицируются как авторизованные индивидуальные пользователи и как члены конкретных групп. В Microsoft Access определены две стандартные группы: администраторы (группа «Admins») и пользователи (группа «Users»), но допускается определение дополнительных групп.

Рис. 20. «Пользователи и группы».

Хотя установка защиты на уровне пользователей для большинства баз данных является сложной задачей, мастер защиты позволит быстро и легко защитить базу данных. Более того, благодаря использованию общих схем защиты, мастер позволяет уменьшить или даже вообще исключить необходимость использования команды Защита в меню Сервис.

Рис. 21. «Мастер защиты».

После запуска мастера защиты можно создать собственные группы пользователей и определить разрешения на работу с базой данных и ее таблицами, запросами, формами, отчетами и макросами для различных пользователей или групп пользователей. Также могут быть установлены разрешения на доступ, по умолчанию присваиваемые вновь создаваемым объектам базы данных. Группам и пользователям предоставляются разрешения, определяющие возможность их доступа к каждому объекту базы данных.