Восстанавливаемость, согласованность и эффективность баз данных

Свойство безопасности и секретности баз данных

 

Под безопасностью данных понимается защита от непреднамеренногодоступа к данным, идентификации и разрушении. Под секретностью данных понимается защита от преднамеренного доступа, модификации и разрушения.

При решении вопросов защиты данных необходимо:

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

1) Неограниченный доступ ко всем отношениям для всех типов операций.

2) Запрет на доступ к любым частям отношения для всех типов операций.

3) Доступ к любой части отношения, но без права изменения ее содержимого (только просмотр).

4) Доступ к любой части отношения, но с правом изменения значений заданного перечня атрибутов: A1…An.

5) Неограниченный доступ только к одному кортежу отношения для всех типов операций.

6) Доступ только к одному кортежу отношения без права изменения содержимого этого кортежа.

7) Неограниченный доступ к атрибутам A1A2…Ar отношения для всех типов операций и запрет доступа к остальным атрибутам отношения.

8) Доступ к атрибутам A1A2…Ar отношения без права изменения их значений и запрет доступа к остальным атрибутам отношения.

9) Разрешить доступ к атрибутам A1A2…Ar применяя вычислительные операторы без права изменения их самих.

10) Доступ к данным, но в ограниченном времени (от t1 до t2) или дате.

2.Организовать систему контроля доступа к данным.

3.Тестирование всех вновь создаваемых средств защиты данных.

4.Периодическое проведение проверок правильности функционирования данных и т.п.

Основные методы и приемы защиты данных:

1.Идентификация пользователя, по которой определяется уровень доступа пользователя к данным (пароли, ответы на вопросы или реализация некоторых алгоритмов).

2.Контроль и фиксация попыток нарушения допустимого уровня доступа с последующими штрафными функциями.

3.Использование специальных методов кодирования данных (один из простейших методов – перекомпоновка символов в кортеже, записи, сообщении, другой метод – замена символа или символов другим символом или группой символов этого же или другого алфавита и др.).

4.Защита данных от сбоев в аппаратных или программных средствах: хранение поколений данных (.bak), формирование контрольных точек (промежуточная перезапись).

 

Восстанавливаемость – это возможность восстановления целостности данных после любого сбоя системы.

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

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

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

3) Фактическая корректировка данных откладывается до завершения транзакции (вместо этого заносятся в отдельный файл образов).

4) Защита от системных сбоев (отказов) – это периодическое копирование информации на дублирующие носители. Информация, записанная на такой носитель, называется дампом.

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

Эффективность – возможность использования вычислительных ресурсов в приемлемое для пользователя время на время выполнения приложений базы данных, используя при этом минимальное количество внешней памяти для хранения данных.