64
требование ее логической независимости от приложений, которые с ней работают.
Все ограничения целостности должны задаваться не логикой работы приложения,
а определяться на уровне базы данных. Ранее отмечалось, что по способам
реализации ограничения целостности подразделяются на декларативные и
процедурные, позволяющие задавать логически более сложные ограничения, в
частности обеспечивать целостность по ссылкам. В этой связи важная цель
механизма триггеров – обеспечение целостности базы данных и обеспечение
логической независимости базы данных.
Последовательность выполнения лабораторной работы
1. Ознакомиться со средствами разработки триггеров и хранимых процедур.
2. Разработать набор триггеров и хранимых процедур, обеспечивающих це-
лостность разработанной базы данных по ссылкам.
3. Проверить правильность работы триггеров и процедур, разработанных в
п. 2.
4. Разработать набор триггеров и хранимых процедур, обеспечивающих це-
лостность разработанной базы данных исходя из требований предметной области.
5. Проверить правильность работы триггеров и процедур, разработанных в
п. 4.
6. Разработать набор хранимых процедур, которые целесообразно размес-
тить в базе данных исходя из логики работы с базой данных.
7. Проверить правильность работы процедур, разработанных в п. 6.
8. Оформить раздел отчета “Хранимые процедуры и триггеры”, включив в
него описание разработанных триггеров и хранимых процедур.
Контрольные вопросы
1. Что вкладывается в понятие физической и логической независимости дан-
ных?
2. Что вкладывается в понятие целостности данных?
3. Как разделяются ограничения целостности по способам реализации?
4. Как разделяются ограничения целостности по времени проверки?
5. Как разделяются ограничения целостности по области действия?
6. Что такое утверждение?
7. Как создается хранимая процедура?
8. Каковы основные конструкции языка SPL?
9. Как создается триггер?
10. Какие оператора языка SQL допустимы внутри триггера?
11. Как реализуется механизм событий?
12. Как указать действия, которые следует предпринять в случае ошибки?
13. Как удалить хранимую процедуру, триггер из базы данных?