Зміст:
Визначення - Що означає ключ кандидата?
Ключ-кандидат - це стовпець або набір стовпців у таблиці, яка дозволяє однозначно ідентифікувати будь-яку запис бази даних, не посилаючись на будь-які інші дані. Кожна таблиця може мати один або кілька кандидатських ключів, але один кандидатський ключ є унікальним, і він називається первинним ключем. Зазвичай це найкраще серед ключових кандидатів, які можна використовувати для ідентифікації.
Коли ключ складається з декількох стовпців, він відомий як складений ключ.
Техопедія пояснює кандидат-ключ
Найкращий спосіб визначення ключів-кандидата - це приклад: розробляється база даних банку. Для унікального визначення облікового запису кожного клієнта може бути використана комбінація дати народження клієнта та послідовного номера для кожного з його облікових записів. Отже, чековий рахунок містера Ендрю Сміта може бути пронумерований 120344-1, а його ощадний рахунок 120344-2. Щойно створений кандидатський ключ.
Це може викликати проблеми. Що робити, якщо більш ніж одна людина з тією ж датою народження хоче відкрити рахунок у банку?
Через такі потенційні підводні камені часто застосовується варіант створення унікального ключа-кандидата. У цьому випадку база даних банку може видавати унікальні номери рахунків, які гарантовано запобігають лише виділеній проблемі. На жаль, ці номери рахунків можуть мати певну логіку. Наприклад, перевірка облікових записів може починатися з "C", а потім року та місяця створення, а протягом цього місяця - порядкового номера. Таким чином, чековий рахунок Ендрю Сміта тепер може бути C-200805-22. Навіть не звертаючись до іншої частини, теллер може визначити, що це був 22-й чековий рахунок, створений у травні 2008 року. Ощадні рахунки відповідають тій же логіці, але з "S" замість "C.
Зауважте, що можна однозначно ідентифікувати кожен обліковий запис, використовуючи вищезазначені дати народження та послідовний номер, тому це ключ-кандидат, який потенційно може бути використаний для ідентифікації записів. Однак щойно продемонстрований набагато кращий спосіб зробити те саме: створення ключа-кандидата. Насправді, якщо обраний кандидат-ключ настільки хороший, що він, безумовно, може однозначно ідентифікувати кожен запис, то його слід використовувати як основний ключ. Усі бази даних дозволяють визначити один, і лише один, первинний ключ на кожну таблицю.
