Суперключ
В реляційній моделі баз даних суперключ — підмножина атрибутів змінної відношення для якої виконується, що для будь-яких значень цієї змінної не існує двох кортежів (рядків, записів), які містять однакові значення для атрибутів з цієї підмножини. Тотожним визначенням суперключа буде наступне, — множина атрибутів змінної відношення від яких функціонально залежні всі атрибути змінної відношення.
Зауважимо, що якщо підмножина атрибутів K є суперключем змінної відношення R, тоді завжди вірно, що проєкція R по атрибутам з K має однакову потужність з R.
Неформально, суперключ це підмножина атрибутів в таблиці чиї значення можуть бути використані для унікальної ідентифікації кортежу. Потенційний ключ — найменша підмножина атрибутів необхідних для ідентифікації кортежу, його також називають найменшим (мінімальним) суперключем. Наприклад, дана схема відношення Працівникі з атрибутами працівникІд, ім'я, посада і відділІд, ми можемо використати працівникІд в сполученні з будь-яким або всіма іншими атрибутами цієї таблиці для унікальної ідентифікації кортежу в таблиці. Прикладами суперключів в цій таблиці будуть {працівникІд, ім'я}, {працівникІд, ім'я, посада}, і {працівникІд, ім'я, посада, відділІд}.
В дійсності, ми не потребуємо всі ці значення для ідентифікування конкретного кортежу. Ми потребуємо лише, в нашому прикладі, підмножину {працівникІд}. Це найменший суперключ – тобто, найменша підмножина атрибутів, які можна використати для ідентифікації конкретного кортежу. Тож, працівникІд це потенційний ключ.
Приклад
Ім'я | Номер | Династія |
---|---|---|
Едвард | II | Плантагенет |
Едвард | III | Плантагенет |
Річард | III | Плантагенет |
Генрі | IV | Ланкастер |
В цьому прикладі, можливими суперключами є:
- {Ім'я, Номер} (потенційний ключ)
- {Ім'я, Номер, Династія}
Посилання
- Relation Database terms of reference, Keys: An overview of the different types of keys in an RDBMS