Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
348.doc
Скачиваний:
12
Добавлен:
30.04.2022
Размер:
2.67 Mб
Скачать
    1. Целостность реляционных данных

Важнейшим вопросом при проектировании систем обработки данных (СОД) является обеспечение целостности данных. Проблема целостности состоит в обеспечении правильности данных в базе данных в любой момент времени. Целостность данных обеспечивается набором специальных предложений, называемых ограничениями целостности. Ограничения целостности представляют собой утверждения о допустимых значениях отдельных информационных единиц и связях между ними. Ограничения целостности определяются в большинстве случаев особенностями предметной области, хотя могут отражать и чисто информационные характеристики.

Ограничения целостности могут относиться к разным информационным объектам: атрибутам (полям), кортежам (строкам, записям), отношениям (таблицам, файлам), связям между файлами и т. п.

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

1). тип и формат поля;

2). задание диапазона значений;

3). признак непустого поля;

4). задание домена.

Потенциальным ключом (К) отношения R называется подмножество множества атрибутов R, обладающее свойствами уникальности и неизбыточности.

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

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

Базовое отношение может иметь больше одного потенциального ключа. В таком случае в реляционной модели один из потенциальных ключей должен быть выбран в качестве первичного ключа (PRIMARY KEY), а остальные будут называться альтернативными ключами (CANDIDATE KEY).

Внешним ключом называется атрибут или группа атрибутов одного отношения, которым назначена ссылка на первичный ключ другого отношения, для однозначного его определения.

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

1) требование целостности сущностей, означающее, что любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. любое отношение должно обладать первичным ключом;

2) требование целостности по ссылкам (требование внешнего ключа).

Требование состоит в том, что для каждого значения внешнего ключа появляющегося в ссылающемся отношении (в отношении, на которое ведет ссылка), должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать – null-значение).

Для поддержания целостности по ссылкам существуют три подхода:

1) ОГРАНИЧИТЬ (RESTRICTED). Запрещается производить удаление кортежа, на который существуют ссылки (т.е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа);

2) при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным.;

3) КАСКАДИРОВАТЬ (CASCADES). Каскадное удаление – при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.

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

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