Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.) Жанр: Информационные системы и технологии Просмотров: 1429 |
2.3.1. условия целостности данных
Для сохранения непротиворечивости и правильности хранимой информа- ции в реляционных СУБД устанавливается одно или несколько условий цело- стности данных. Эти условия определяют, какие значения могут быть записаны в базу данных в результате добавления или обновления данных. Как правило, в реляционной базе данных можно использовать следующие условия целостно- сти данных: – Обязательное наличие данных. Некоторые столбцы в базе данных должны содержать значения в каждой строке; строки в таких столбцах не могут включать псевдозначения NULL или не содержать никакого значения. Например, в учебной базе данных для каждого заказа должен обязательно существовать клиент, сде- лавший этот заказ. Поэтому столбец ID_CLN в таблице ZAKAZY является обязатель- ным. Для реализации этого условия необходимо указать СУБД, что запись значе- ния NULL в такие столбцы недопустима; – Условие на значение. У каждого столбца в базе данных есть свой домен, т. е. набор значений, которые допускается хранить в данном столбце. В учебной базе данных заказы нумеруются, начиная с числа 100001, поэтому доменом столб- ца ID_ORD являются положительные целые числа, больше 100000. Аналогично, идентификаторы служащих в столбце ID_SLZH должны находиться в диапазоне от 101 до 999. Для реализации этого условия необходимо указать СУБД, что запись значений, не входящих в заданный диапазон, недопустима; – Целостность таблицы. Первичный ключ таблицы должен в каждой стро- ке иметь уникальное значение, отличное от значений во всех остальных строках. Например, каждая строка таблицы TOVARY имеет уникальную комбинацию значе- ний в столбцах ID_MFR и ID_PRD, которая однозначно идентифицирует товар, пред- ставляемый данной строкой. Повторяющиеся значения в этих строках недопусти- мы, поскольку тогда база данных не сможет отличать один товар от другого. Со- временные СУБД автоматически обеспечивают это условие для столбцов, объяв- ленных первичными ключами; – Ссылочная целостность. В реляционной базе данных каждая строка таб- лицы-потомка с помощью внешнего ключа связана со строкой таблицы-предка, содержащей первичный ключ, значение которого равно значению внешнего клю- ча. Если это условие не соблюдается, то речь идет о нарушении ссылочной цело- стности. Современные СУБД поддерживают ссылочную целостность автоматически. |
|