Разлика между първичен и кандидат-ключ

Основен ключ срещу ключ на кандидата
 

Въпреки че първичният ключ е избран от ключовете за кандидат, съществува известна разлика между първичния ключ и другите ключове, която ще бъде разгледана подробно в тази статия. Проектирането на база данни е една от най-важните дейности, които трябва да се извършват при поддържане и съхраняване на данни. По време на този процес на проектиране трябва да се създадат различни таблици с много взаимоотношения. За да получите достъп до тези таблици в база данни, се използват различни видове ключове в съвременните езици за проектиране на базата данни като MYSQL, MSAccess, SQLite и т.н..

Какво е кандидат-ключ?

Ключът кандидат е единична колона или набор от колони в таблица на база данни, за която може да се използва идентифицира уникално всеки запис на база данни, без да се позовава на други данни. Всяка таблица на база данни може да има един или повече от един кандидат ключ. Набор от ключове за кандидат може да бъде създаден чрез използване на функционални зависимости. Има някои важни характеристики в ключа за кандидатстване. Те са;

• ключовете кандидат трябва да бъдат уникални в домейна и не трябва да съдържат NULL стойности.

• ключът кандидат никога не трябва да се променя и трябва да притежава същата стойност за конкретно възникване на образувание.

Основната цел на ключовия ключ е да помогне да се идентифицира един единствен ред от милиони редове в голяма таблица. Всеки кандидат-ключ е квалифициран, за да се превърне в първичен ключ. От всички ключове за кандидатстване обаче, най-важният и специален кандидат ключ ще се превърне в първичен ключ на таблицата и той е най-добрият сред ключовете за кандидат.

Какво е първичен ключ?

Основен ключ е най-добрият кандидат ключ на таблица, който се използва за идентифициране на записи които се съхраняват в таблица. Когато създаваме нова таблица в база данни, от нас се изисква да изберем първичен ключ. Следователно изборът на първичен ключ за таблица е най-критичното решение, което трябва да вземе дизайнерът на база данни. Най-важното ограничение, което трябва да се има предвид при вземането на решение за първичен ключ, е, че избраната колона на таблицата трябва да съдържа само уникални стойности и не трябва да съдържа никакви NULL стойности. Някои от основните ключове, които обикновено се използват при проектирането на таблици, са социалноосигурителен номер (SSN), идентификационен номер и номер на национална лична карта (NIC).

Програмистът трябва да не забравя внимателно да избере първичен ключ, защото е трудно да се промени. Следователно, според програмистите, най-добрата практика за създаване на първичен ключ е използването на вътрешно генериран първичен ключ, като ID на запис, създаден от типа данни на AutoNumber от MS Access. Ако се опитаме да вмъкнем запис в таблица с първичен ключ, който дублира съществуващ запис, вмъкването няма да успее. Стойността на основния ключ не трябва да се променя, така че е по-важно да запазите статичен първичен ключ.

Първичен ключ е най-добрият кандидат ключ.

Каква е разликата между първичен ключ и ключ за кандидат?

• Ключ кандидат е колоната, която се квалифицира като уникална, докато първичен ключ е колоната, която идентифицира уникално запис.

• Таблица без кандидатски ключове не представлява никаква връзка.

• Може да има много кандидат-ключове за таблица в база данни, но трябва да има само един основен ключ за таблица.

• Въпреки че първичният ключ е един от ключовете за кандидат, понякога той е единственият кандидат ключ.

• След като бъде избран първичен ключ, другите ключове кандидати стават уникални ключове.

• Практически кандидат ключът може да съдържа стойности NULL, въпреки че понастоящем не съдържа никаква стойност. Следователно, кандидатът ключ не е квалифициран за първичен ключ, тъй като първичният ключ не трябва да съдържа стойности NULL.

• Възможно е също така, ключовете-кандидати, които са уникални за момента, да съдържат дублирани стойности, които дисквалифицират ключ-кандидат да стане първичен ключ.

Резюме:

Основен ключ срещу ключ на кандидата

Кандидатският ключ и първичният ключ са основни ключове, които се използват при проектирането на бази данни, за да се идентифицират еднозначно данни в даден запис и да се правят връзки между таблиците на база данни. Таблица трябва да съдържа само един първичен ключ и може да съдържа повече от един кандидат ключ. Днес повечето бази данни са в състояние автоматично да генерират свой първичен ключ. Следователно, първичният ключ и ключовете кандидат предоставят многобройна поддръжка на системите за управление на базата данни.

С любезност на изображенията: 

  1. Първичен ключ от SqlPac (CC BY-SA 3.0)