Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vidpovidi_BD_2009.doc
Скачиваний:
11
Добавлен:
18.09.2019
Размер:
690.69 Кб
Скачать

23.Визначити цілісність бази даних; пояснити яким чином підтримується цілісність бази даних; які шляхи збереження цілісності при різних операціях по зміні даних у базі даних.

Целостность понимается как правильность данных в любой момент времени. Но эта цель может быть достигнута лишь в определенных пределах: СУБД не может контролировать правильность каждого отдельного значения, вводимого в БД (хотя каждое значение можно проверить на правдоподобность).

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

Выделяют 3 группы правил целостности:

1)Целостность по объектам. Ни один элемент первичного ключа базового отношения не может иметь значение NULL.Также не позволяется определение ключа по умолчанию.

2)Целостность по ссылкам – БД не должна иметь несогласованность значений внешних ключей.

3)Целостность по атрибутам – значение каждого атрибута берется из соответствующего домена.

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

При удалении кортежа из отношения, на которое ведет ссылка существуют 3 подхода:

подход – запрещается производить удаление кортежа, на который существуют ссылки.

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

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

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

Различаются 2 вида ограничений целостности: немедленно проверяемые и откладываемые.

К немедленно проверяемым ограничениям целостнсти относятся такие ограничеия, проверку к-рых бессмысленно или даже невозможно откладывать. Примером являются ограничения домена. Немедленно проверяемые ограничения целостности соответствуют уровню отдельных операторов языкового уровня СУБД. При их нарушениях не произво дится откат транзакции, лишь отвергается соответствующий оператор.

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

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