Важным следствием определений, сделанных выше, является то, что каждое отношение имеет первичный ключ, идентифицирующий это отношение. Поскольку отношение это множество, а множества по определению не содержат совпадающих элементов, никакие два кортежа отношения не могут в произвольный заданный момент времени быть дубликатами друг друга. Пусть R- отношение с атрибутами А1, А2,...,Аn. Говорят, что множество атрибутов отношения R является возможным ключом R тогда и только тогда, когда удовлетворяются два следующих независимых от времени условия:
1) уникальность;
2) минимальность.
Первое условие указывает на то, что в произвольный заданный момент времени никакие два различных кортежа отношения R не имеет одного и того же значения .
Второе условие говорит о том, что ни один из атрибутов не может быть исключен из K без нарушения условий уникальности.
Каждое отношение обладает, по крайней мере, одним возможным ключом, поскольку по меньшей мере комбинация всех его атрибутов удовлетворяет условиям уникальности. Один произвольно выбранный возможный ключ для данного отношения принимается за его первичный ключ, а остальные возможные ключи называются альтернативными.
Помимо первичных и альтернативных ключей, идентифицирующих данное отношение, есть еще понятие внешнего ключа. В общем случае внешний ключ - это атрибут или комбинация атрибутов одного отношения R'', значение которого обязательно должно совпадать со значением первичного ключа некоторого другого отношения R', причем, внешний и первичный ключи должны быть определенны на одних и тех же доменах. Внешние ключи в неявном виде связывают отношения. Примером внешнего ключа является атрибут „номер поставщика“ в отношении R3 на рис. 4.8, поскольку этот атрибут может быть первичным ключом отношения R1.
Целостность реляционной модели данных определяется двумя общими правилами.
1. Целостность по сущностям. Не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе базового отношения, принимал неопределенные значения. Базовым отношением называют независимое именованное отношение (для БД поставщиков и товаров - это отношения R1 и R2). Мотивировка этого правила определяется тем, что базовые отношения соответствуют сущностям в реальном мире, а следовательно отличимы, т.е. имеют уникальную идентификацию. В реальной же модели функцию уникальной идентификации выполняют первичные ключи, и таким образом, ситуация, когда первичный ключ принимает неопределенное значение, является противоречивой, и говорит о том, что некоторая сущность не обладает индивидуальностью, а значит, не существует. Отсюда название „целостность по сущностям“.
2. Целостность по ссылкам. Если базовое отношение R'' включает некоторый внешний ключ FK, соответствующий некоторому первичному ключу PK какого-либо базового отношения R', то каждое значение FK в R'' должно либо быть равным значению PK в некотором кортеже R'', либо быть полностью неопределённым. Неопределенность внешнего ключа может возникнуть в ситуации, когда, например, имеется вакансия на должность в некоторый отдел. Для такой должности атрибут „фамилия служащего“, являющийся внешним ключом, имеет неопределенное значение в кортеже, представляющим эту штатную должность отдела.