Безопасность в статистических БД

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

- Предотвращение выполнения запросов, работающих с незначительным количеством записей базы данных

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

- Использование для ответов на запросы только случайных наборов исходных данных

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

Проблемы обеспечения управляемой избыточности и целостности данных.

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

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

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

Понятие транзакции, свойства транзакции, способы завершения транзакции.

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

- Это разовый прогон программы

- Это разовая единица работы

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

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

Транзакцией будет вся последовательность операций, включающая следующие операции:

- ввод нового заказа со всеми реквизитами заказчика

- изменения состояния для всех выбранных комплектующих на складе на «занято» с привязкой их к определенному заказу

- подсчет стоимости заказа с формированием платежного документа типа выставляемого счета к оплате

- включение нового заказа в производство

Свойства транзакции (ACID)

- Свойство атомарности выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе

- Свойство согласованности гарантирует, что по мере выполнения транзакций данные переходят из одного согласованного состояния в другое — транзакция не разрушает взаимной согласованности данных

- Свойство изолированности означает, что конкурирующие за доступ к базе данных транзакции физически обрабатываются последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно

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

Способы завершения транзакций

- Фиксация транзакции — это действие, обеспечивающее запись на диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции.

- Откат транзакции — это действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами программы в теле текущей незавершенной транзакции.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: