43
ссылается на А, тогда А должно существовать. Говорят, что отношение, в
котором определен внешний ключ, ссылается на соответствующее отно-
шение, в котором такой же атрибут является первичным ключом. Требова-
ние целостности по ссылкам, или требование внешнего ключа состоит в
том, что для каждого значения внешнего ключа, появляющегося в ссыла-
ющемся отношении, в отношении, на которое ведет ссылка, должен
найтись кортеж с таким же значением первичного ключа, либо значение
внешнего ключа должно быть неопределенным (т.е. ни на что не указы-
вать).
3. Целостность, определяемая пользователем. У пользователя (или у
разработчика) базы данных должна быть возможность определить, какие
операции должны быть запрещены, а какие разрешены, нужны ли для раз-
решенных операций компенсирующие, и если да, то какие (т.е. возмож-
ность каскадного удаления).
В разрабатываемой базе данных учтены основные правила целостно-
сти. Каждая сущность идентифицируется уникальным ключом, и разрабо-
тана система внешних ключей. База данных не содержит несогласованных
значений внешних ключей, то есть при работе с записями происходит кас-
кадное обновление связанных полей и каскадное удаление связанных за-
писей.
Целостность, определяемая пользователем, поддерживается ограни-
чениями в таблицах базы данных на ввод неотрицательных значений, а
также обеспечением выбора значений внешних ключей из списков без раз-
решения варианта ввода недопустимого значения.
Таким образом, разрабатываемая информационная система сама
поддерживает обеспечение целостности данных. В частности, при вставке
или добавлении записей с повторяющимися значениями первичного ключа
программа выдаст предупреждение и не позволит операции вставки осу-
ществиться. Кроме того, программа обеспечивает хорошую работу со свя-
занными полями. Например, если данные удаляются из основной таблицы,