Будинки Бази даних Яка різниця між складеним ключем, первинним ключем та зовнішнім ключем?

Яка різниця між складеним ключем, первинним ключем та зовнішнім ключем?

Anonim

Q:

Яка різниця між складеним ключем, первинним ключем та зовнішнім ключем?

A:

Первинний ключ визначається як стовпчик ключа або бази даних, який однозначно ідентифікує кожен рядок таблиці бази даних. Складений ключ - це набір більш ніж одного ключа, який разом однозначно ідентифікує кожен запис.

Іноземний ключ, з іншого боку, - це ключ у деякій таблиці, який однозначно ідентифікує рядки в іншій таблиці - або, іншими словами, ключ, який відстежує первинний ключ в іншій таблиці.

Прикладом може бути перелік будинків на ринку нерухомості. У добре упорядкованій базі даних повинен бути первинний ключ, який однозначно ідентифікує кожен запис. Як це може бути пов'язане з вишуканістю бази даних.

У деяких випадках будинки можуть бути однозначно ідентифіковані іпотечним номером - всі інші дані (міста, вулиці, номери будинків) не є унікальними для кожного запису. Номер іпотеки був би первинним ключем. Припустимо, однак, що технологія лістингу ріелторів MLS присвоює власні унікальні номери записів у таблиці. Потім з’являться два ключі, які розробники можуть ідентифікувати як «кандидати-ключі»: номер застави та номер MLS. Один з них кваліфікується як "первинний ключ" у тому, що деякі вважають довільним способом.

Тоді складеним ключем було б поєднання двох клавіш: наприклад, комбінація номера будинку та вулиці може кваліфікуватися як складений ключ, враховуючи, що ринкові списки локальні. Якщо так, то коли хтось шукає, використовуючи і номер будинку, і вулицю, він повинен повернути лише один єдиний запис.

Тим часом, якщо в пов'язаній таблиці є ключ, наприклад, таблиця покупця, який посилається на первинний ключ, це буде зовнішній ключ.

Яка різниця між складеним ключем, первинним ключем та зовнішнім ключем?