Лучшие вопросы
Таймлайн
Чат
Перспективы
Целостность базы данных
Из Википедии, свободной энциклопедии
Remove ads
Це́лостность ба́зы да́нных (англ. database integrity) — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам. Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности.
Примеры правил: вес детали должен быть положительным; количество знаков в телефонном номере не должно превышать 15; возраст родителей не может быть меньше возраста их биологического ребёнка и так далее.
Понятие согласованности, или целостности данных является ключевым понятием баз данных.
Кузнецов С. Д.[1]:30
Очевидно, что ограничения должны быть формально объявлены для СУБД, после чего СУБД должна предписывать их выполнение. Объявление ограничений сводится просто к использованию соответствующих средств языка базы данных, а соблюдение ограничений осуществляется с помощью контроля со стороны СУБД над операциями обновления, которые могут нарушить эти ограничения, и запрещения тех операций, которые их действительно нарушают. При первоначальном объявлении ограничения система должна проверить, удовлетворяет ли ему в настоящий момент база данных. Если это условие не соблюдается, ограничение должно быть отвергнуто; в противном случае оно принимается (то есть записывается в каталог системы) и начиная с этого момента соблюдается[2]:338.
Механизмы обеспечения целостности являются одной из составляющих концепции модели данных[3][4].
Remove ads
Классификация ограничений целостности
В теории реляционных баз данных принято выделять четыре типа ограничений целостности[2]:353:
- Ограничением базы данных называется ограничение на значения, которые разрешено принимать указанной базе данных.
- Ограничением переменной отношения называется ограничение на значения, которые разрешено принимать указанной переменной отношения.
- Ограничением атрибута называется ограничение на значения, которые разрешено принимать указанному атрибуту.
- Ограничение типа представляет собой ни что иное, как определение множества значений, из которых состоит данный тип.
Примером распространённого ограничения уровня переменной отношения является потенциальный ключ; примером распространённого ограничения уровня базы данных является внешний ключ.
Remove ads
Целостность и истинность данных в БД
Суммиров вкратце
Перспектива
Целостность БД не гарантирует достоверности (истинности) содержащейся в ней информации, но обеспечивает по крайней мере правдоподобность этой информации, отвергая заведомо невероятные, невозможные значения. Таким образом, не следует путать целостность (непротиворечивость) БД с истинностью БД. Истинность и непротиворечивость — не одно и то же[2]:351.
Достоверность (или истинность) есть соответствие фактов, хранящихся в базе данных, реальному миру. Очевидно, что для определения достоверности БД требуется обладание полными знаниями как о содержимом БД, так и о реальном мире. Для определения целостности БД требуется лишь обладание знаниями о содержимом БД и о заданных для неё правилах. Поэтому СУБД не может гарантировать наличие в базе данных только истинных высказываний; все, что она может сделать, — это гарантировать отсутствие каких-либо данных, вызывающих нарушение ограничений целостности (то есть гарантировать то, что она не содержит каких-либо данных, не совместимых с этими ограничениями)[2]:351.
Из того, что данные являются правильными, следует, что они непротиворечивы (но не обратное), а из того, что данные противоречивы, следует, что они неправильны (но не обратное). Здесь под словом «правильные» подразумевается, что в базе данных содержатся правильные данные тогда и только тогда, когда она полностью отражает истинное состояние дел в реальном мире[2]:351.
Remove ads
См. также
Примечания
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads