16.7. 2 часть реляционной модели: целостность

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

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

Большинство БД подчиняется очень многим специальным правилам целостности, в том смысле, что они применяются к одной конкретной БД. Например, (1) Вес деталей должен быть больше нуля, (2) Значения статуса поставщиков должны быть в диапазоне 1-100, (3) Если город Красноярск, то статус поставщика должен быть 40.

Однако в реляционной модели есть два особых общих правила целостности, которые применяются к любой БД. То есть во 2-й части реляционной модели определяются два ограничения, которые должны выполняться в любой реляционной БД: (1) целостность сущностей (связана с первичным ключом), (2) целостность внешних ключей.