Первинні і альтернативні ключі

Цілісність реляційних даних

У кожен момент часу будь-яка БД містить конкретну конфігурацію значень, яка представляє певний стан об'єкта реального світу. Отже, БД потребує визначення правил цілісності, щоб інформувати СУБД про обмеження реального світу. Наприклад, для атрибутів «зростання», «вага» необхідно обмеження невід'ємності. Такого роду правила, характерні для конкретної БД, називаються специфічними. Крім специфічних правил існують загальні правила цілісності для всіх БД. Такі правила пов'язані з потенційними, первинними і зовнішніми ключами і будуть розглянуті далі в цій лекції.

Нехай R - деяке відношення. Тоді потенційний ключ K для R - це підмножина атрибутів R. володіють наступними властивостями:

1) унікальність, тобто немає двох різних кортежів в поточному значенні змінної відносини R з однаковим значенням K;

2) ненадмірність, тобто жодне з підмножин K не володіє властивістю унікальності.

Це властивість можна застосувати тільки для випадку, якщо потенційний ключ складається більш ніж з одного атрибута. Наприклад, не можна призначити потенційним ключем сукупність полів StudentID і Name. інакше цей ключ буде надлишковим.

Можуть існувати відносини, в яких єдиним природним потенційним ключем буде комбінація всіх атрибутів, але це може бути незручно. Тоді вводять штучний потенційний ключ. Наприклад, в таблиці Students сукупність атрибутів Name. GroupID. Birthdate> представляє собою ключ, але зручніше ввести штучний ключ - StudentID.