Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИОСУ лекции (мои).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.74 Mб
Скачать

3) По способу реакции на нарушение.

Основными стратегиями поведения при обнаружении нарушения являются стратегии запрета и коррекции. В первом случае при нарушении ограничения выполняющаяся операция отменяется, во втором – производится корректировка данных, приводящая к восстановлению целостности. Примерами корректирующих действий являются каскадное удаление подчиненных записей при удалении главной записи и пересчет вычисляемых данных при изменении исходных данных. При контроле ссылочной целостности часто используются также корректирующие стратегии SET NULL (неверное значение внешнего ключа сбрасывается и запись становится свободной) и SET DEFAULT (неверное значение внешнего ключа заменяется на заранее определенное значение по умолчанию, т.е. дочерняя запись присоединяется к заранее определенной главной записи).

Дополнительные стратегии для связей:

– очистка – подчиненная связь становится свободной

– переключение – запись, утратившая связь подключается к заведомо существующей другой записи (SET DEFAUT)

4) По моменту выполнения проверки.

Различают немедленную и отложенную проверку. Первая выполняется сразу после завершения изменений в контролируемой области данных, вторая – откладывается до наступления определенного события. Например, в стандарте языка SQL за такое событие принято завершение транзакции. Кроме того, разработчиком в приложении может быть реализована программным путем сверхотложенная проверка, которая выполняется по явному указанию пользователя.

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

Кроме того, одно и то же ограничение на разных этапах проектирования может представляться по-разному.

Например, в описании предметной области может быть указано:

«Каждый сотрудник должен относиться к какому-нибудь отделу»

В инфологической модели это может быть отражено в описании в виде:

«Связь ОТДЕЛ-СОТРУДНИК является обязательной со стороны сотрудника»

В описании логической модели рассматриваемое ограничение может быть представлено в форме:

«Атрибут ОТДЕЛ отношения СОТРУДНИК является внешним ключом к отношению ОТДЕЛ. Данный атрибут является обязательным»

Наконец, при физическом проектировании реализация ограничения может предстать, например, в таком виде:

otdel CHAR(30) NOT NULL REFERENCES otdel

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

Более широким понятием по отношению к триггеру является по­нятие хранимая процедура. Хранимые процедуры описывают фраг­менты логики приложения, хранятся и исполняются на сервере, что позволяет улучшать характеристики производительности.

Физическое проектирование

Решаются задачи:

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

  2. физическая реализация объектов базы

  3. определение дополнительных объектов: индекс или, например, домен в IB, генераторы…

  4. определение типа и формата данных

  5. определение реализации хранимых данных

  6. определение прав доступа пользователей

  7. настройка поддержки многопользовательского доступа

  8. определение методов и средств для восстановления данных (параметры копий, зеркало, их размещение)

  9. создание представлений