Потенційний ключ
Потенційний ключ для K для відношення R — це підмножина множини атрибутів R, що характеризується такими двома властивостями:
- Властивість унікальності.
- Немає двох різних кортежів в R з однаковим значенням K.
- Властивість мінімальності (ненадмірності).
- Ніяка з підмножин K не володіє властивістю унікальності.
Правильно, що кожне відношення має, щонайменше, один потенційний ключ через те, що не містить двох однакових кортежів; тобто комбінація всіх атрибутів володіє властивістю унікальності і тому можливі два варіанти.
- Або ця комбінація володіє властивістю мінімальності, тобто є потенційним ключем (єдиним).
- Або існує як мінімум одна підмножина цієї комбінації, що явно володіє властивістю унікальності, а також мінімальності.
У відношенні може бути декілька потенційних ключів. Один з них може бути вибраний в якості первинного ключа відношення, тоді інші називають альтернативними ключами.
Зазвичай на практиці первинний ключ обирають виходячи з міркувань ефективності.
Потенційні ключі забезбечують основний механізм адресації на рівні кортежів. Тобто, єдиний гарантований спосіб точно вказати який-небудь кортеж - це вказати значення якогось потенційного ключа. В інструкції SQL це, зазвичай, робиться в частині WHERE.
Таким чином потенційні ключі мають таке саме фундаментальне значення для успішної роботи реляційної системи, як адресація основної пам'яті для успішної роботи машини, на якій ця система встановлена.
