Целостность
данных
1) Целостность
базы данных - это соответствие имеющейся
в базе данных информации, её внутренней
логике, структуре, отношениям и всем явно
заданным правилам.
Ограничение
целостности - это правила, являющиеся
ограничением на возможное состояние
структуры базы данных(связи между таблиц),
отношений(тип связи) и значения атрибутов(значения
столбцов).
Целостность
данных подразделяется на следующие категории:
- Сущностная целостность
- Доменная целостность
- Ссылочная целостность
- Пользовательская целостность
- Сущностная целостность - определяет строку как уникальную
сущность в конкретной таблице. Она включает
целостность столбцов идентификаторов
или первичного ключа таблицы.
- Пример. Если
служащему присвоен идентификатор 123,
база данных не должна позволять другим
служащим иметь такое же значение идентификатора.
- Доменная целостность - это достоверность
записей в конкретном столбце. Она включает
ограничения типа данных, ограничения
формата, а также ограничения диапазона
возможных значений.
- Пример. В столбец «Оценка» может
быть внесено значение из диапазона от
1 до 5.
- Ссылочная целостность - сохраняет определенные связи между
таблицами при добавлении или удалении
строк. Ссылочная целостность основана
на связи первичных и внешних ключей. Этот
вид целостности требует отсутствия ссылок
на несуществующие значения, а также обеспечивает
согласованное изменение ссылок во всей
базе данных при изменении значения ключа.
- Пример. Есть
дочерняя таблица «Результаты
сессии», она
состоит из ключей: «номер
Студента» и «Учебный план» и одного
неключевого атрибута «Оценка». Ключ «номер
Студента» в дочерней
таблице зависит от такого же ключа в родительской
таблице. Если в родительской таблице
удалить данный ключ, то таблица «Результаты сессии» станет
целостной.
- Отличие Физической от Логической целостности.
- Физическая целостность – проверка
на наличие повреждений непосредственно
в рабочих файлах базы.
- Логическая целостность – корректность
ссылок между объектами в базе данных,
структуры бд и отношений между атрибутами.
- Важность задания целостности данных
- Целостность БД не гарантирует достоверности содержащейся в ней информации, но обеспечивает по крайней мере правдоподобность этой информации, отвергая заведомо невероятные, невозможные значения. Таким образом, не следует путать целостность БД с достоверностью БД.
- Достоверность - это
соответствие фактов, хранящихся в базе
данных, реальному миру.
- Целостновсть - это хранение данных в базе данных по
заданным правилам(ограничениям целостности).
- Обеспечение целостности данных гарантирует качество данных в таблице.
- Достоинства и недостатки целостности данных
- Достоинства:
- Все данные являются логически правильно записаны
- Не существует связей с пустыми таблицами
- Все данные одинакого обновляются
- Все идентификаторы(ключи) различны
- Некоторые ограничения целостности управляются самой СУБД
- Недостатки:
- Сложность контроля целостности данных
- Сложность масштабирования базы данных
- Вопросы:
- 1)В какой
момент происходит проверка соблюдения
ограничения целостности относящаяся
к полю?
- Проверка происходит непосредственно во время ввода значения.
- 2)Повлияет
ли заданное ограничение целостности
на процесс удаления записи из файла бд,
если задано ограничение целостности
связи, но не задано каскадное удаление
связанных записей?
- Да, повлияет, т. к. если задано ограничение целостности связи и не задано каскадное удаление, то это ограничение непозволит удалить запись, т. к. нарушится
ссылочная целостность.