первинний ключ (primary key) – потенційний ключ, який обраний для унікальної ідентифікації екземплярів усередині сутності;
альтернативні ключі (alternative key) – потенційні ключі, які не обрані в якості первинного ключа.
Для кожного екземпляра (записи) у якості суперключа може бути обраний увесь набір атрибутів.
У якості унікального ідентифікатора можна було б вибрати сукупність атрибутів «Прізвище»+«Ім’я»+«По батькові», якщо ймовірність навчання у вузі двох повні тезок була б дорівнює нулю.
Якщо в сутності немає жодної комбінації атрибутів, що підходить на роль потенційного ключа, то в сутність додають окремий атрибут – сурогатний ключ (штучний ключ, surrogate key). Як правило, тип такого атрибута вибирають символьний або числовий. У деяких СУБД є вбудовані засоби генерації й підтримки значень сурогатних ключів (наприклад, MS Access). Також варто відзначити, що деякі розробники замість пошуку потенційних ключів і вибору з них первинного в кожну сутність додають штучний атрибут, який надалі і використовують у якості первинного ключа.
Якщо потенційних ключів кілька, то для вибору первинного ключа рекомендується дотримуватися наступних правил:
кількість атрибутів, що входять у ключ, повинне бути мінімальним (бажане, щоб ключ був атомарним, тобто складався з одного атрибута);
розмір ключа в байтах повинен бути як можна коротше;
тип домена ключа – числовий. При виборі символьних атрибутів у ключ часто виникають проблеми з уведенням помилкових значень (плутають регістр букв; додають зайві пробіли; використовують букви, що пишуться на різних мовах однаково). У числових атрибутах імовірність помилки при введенні значення менше; – імовірність зміни значень ключа була найменшою; – із ключем найпростіше працювати користувачам.
Якщо якийсь атрибут (набір атрибутів) є присутнім у декількох сутностях, то його наявність звичайна відбиває наявність зв’язку між екземплярами цих сутностей. У кожному зв’язку одна сутність виступає як батьківська, а інша – у ролі дочірньої. Це означає, що один екземпляр батьківської сутності може бути пов’язаний з декількома екземплярами дочірньої. Для підтримки цих зв’язків обидві сутності повинні містити набори атрибутів, по яких вони зв’язані. У батьківській сутності це первинний ключ. У дочірній сутності для моделювання зв’язку повинен бути присутнім набір атрибутів, відповідний до первинного ключа батьківської. Цей набір атрибутів у дочірній сутності прийнято називати зовнішнім ключем (foreign key).