|
Целостность данных
Целостность
данных(data integrity) представляет
собой корректность и
самодостаточность данных на
сервере. Если не принять
необходимых мер защиты, данные
могут разрушиться. Примерами
нарушения целостности данных может
быть добавление в заказ
несуществующих или проданных
товаров, изменение количества
товаров в заказе без выполнения
операции пересчета общей стоимости
или удаление заказчика с
несогласованным балансом.
Как же обеспечить
целостность данных? Один из
способов - ограничение действий,
которые могут выполняться над
данными с помощью хранимых
процедур. Другой способ -
размещение большей части
бизнес-логики на сервере или на
среднем уровне. Например, в системе
учета существует клиентное
приложение, которое содержит
большую часть бизнес-логики. В
клиентном приложении процедура
удаления заказчика достаточно
интеллектуальна, чтобы обратиться
к данным сервера с запросом, не
имеется ли у заказчика
отрицательного баланса. Это
прекрасное свойство клиентного
приложения. Однако, поскольку эта
логика присуща только клиенту, а не
серверу, не существует преград для
запуска приложения или
использования какого-либо другого
клиентного средства и удаления
заказчика непосредственно из
таблицы. Чтобы предотвратить такую
ситуацию, следует запретить всем
пользователям доступ к таблице
заказчиков, а затем создать
хранимую процедуру на сервере. Она
обеспечивает операцию удаления, но
только после проведения
необходимых проверок. При этом,
поскольку прямой
доступ к таблицам запрещен, все
пользователи вынуждены обратиться
к хранимой процедуре.
Это только один из
множества способов защиты
целостности данных с помощью
бизнес-правила на сервере. Подобные
действия по защите целостности
данных могут выполняться путем
размещения операций проверки в
триггерах или с помощью
представления только необходимых
пользователю данных. Важно не
забывать, что данные должны
располагаться на сервере так, чтобы
несколько подразделений с помощью
различных приложений могли
получать к ним доступ. Чем больше
бизнес-правил существует на
сервере, тем более управляемы ваши
защищенные данные.
|
|