Меню
Начало

21. Организация процессов обработки данных в БД. Ограничения целостности.

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

>при вводе и обновлении, когда подаются неверные сведения;

>когда данными пользуются одновременно несколько пользователей;

>при сбоях АПС.

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

>структурные ограничения (задаются функциональными связями и проверяются путем проверки равенства значений БД);

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

Ограничения различаются по уровню сложности:

-ограничения на значение поля, например: запрет ввода нулевого значения, запрет пустого поля, запрет на диапазон, запрет на список;

-ограничения на совокупность атрибутов строки, например должность – разрядные ставки, края – города;

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

Транзакция – законченное с точки зрения пользователя действие над БД.

Транзакция должна обладать четырьмя свойствами:

1. Атомарность (неделимость), т. е. выполнение как одинарной операции доступа к БД, при этом либо должна выполняться полностью или не выполняться совсем.

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

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

4. Долговечность – если транзакция выполнена успешно, то изменения не будут потеряны.

<-- Back

Hosted by uCoz