Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_BD.doc
Скачиваний:
49
Добавлен:
17.09.2019
Размер:
1.74 Mб
Скачать

16.Возможности задания ограничений целостности в современных субд

Обеспечение целостности данных является важнейшей задачей при проектировании и эксплуатации систем обработки данных (СОД).

«Проблема целостности состоит в обеспечении ... правильности данных в базе данных в любой момент времени». Целостность — актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения.

При построении ER-модели в ERWin можно задавать ограничения целостности.

Обязательный атрибут

Для атрибута можно задавать свойство «Required» (обязательный). Для тех атрибутов, которые выбраны в качестве первичного ключа, это свойство является неактивным, поскольку свойство обязательности и так (по определению ключа) присуще элементам ключа. Задание этого свойства будет означать, что при вводе данных в БД недопустимо пустое значение соответствующего поля.

Ограничения целостности связи

При описании связи можно задать ограничения целостности связи. Для каждой связи можно задать действия, которые будут выполняться при удалении (Delete), вставке (Insert) и обновлении (Update) как порожденной (Child), так и родительской (Parent) сущности.

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

NONE - действие не оказывает влияния на связанные записи;

RESTRICT - действие запрещено (при определенных условиях);

CASCADE - действие вызывает изменения в связанных записях;

SET DEFAULT - устанавливается значение по умолчанию для поля связи;

SET Null - устанавливается по умолчанию значение Null для поля связи.

Так как связь «многие ко многим» в реляционной модели не поддерживается, то на уровне логической модели нет смысла (и, как следствие, нет возможности) задавать действия при корректировке сущностей, связанных таким типом связи. При необходимости можно перейти к уровню физической модели и скорректировать ограничения связи для связей, появляющихся в физической модели взамен связи «многие ко многим».

Триггер ссылочной целостности

Для обеспечения ссылочной целостности может быть создан особый вид триггера - триггер ссылочной целостности. По умолчанию ERWin генерирует триггеры, обеспечивающие контроль ссылочной целостности для каждой связи, определенной в ER-модели.

В Access многие ограничения целостности могут задаваться при создании таблицы.

Ограничения, относящиеся к полю

Тип поля. Он определяет допустимые символы, которые могут быть использованы при его заполнении (в частности, не допускается ввод текста в числовые поля).

Размер поля.В поле нельзя ввести больше символов, чем это зафиксировано в свойстве «размер поля» или предопределено типом поля.

Условия на значения. Это одна из самых гибких возможностей определения ограничений целостности. Условия вводятся как выражения. Выражения могут быть простыми или сложными. Используя их, можно задавать и диапазоны. В Access нет специального способа задания домена перечислением. Как было показано выше, этого можно достичь, используя «Мастер подстановки». Кроме того, это можно сделать и путем задания соответствующего выражения для свойства «Условие на значение». Например, для поля «Должность» в БД сотрудников вузов можно задать условие:

«ассистент» OR «старший преподаватель» OR «доцент» OR «профессор».

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

Индексированное поле. Его можно использовать для контроля на уникальность. Для этих целей следует задать свойство «Уникальный индекс».

Ограничения, относящиеся к записи

Если ограничения целостности затрагивают несколько полей одной записи, то они должны задаваться не как свойство записи, а как свойство таблицы.

Целостность связи

При задании связи между таблицами в Access можно установить флажок Поддержание целостности данных, и в этом случае система будет автоматически поддерживать ограничения целостности связи.

При удалении основной записи, связанной с несколькими подчиненными, могут быть выбраны разные стратегии обновления:

1. запретить удалять основную запись, если имеются подчиненные;

2. удалить вместе с основной записью и все подчиненные (каскадное удаление).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]