Dom baze podataka Koja je razlika između složene tipke, primarnog i stranog ključa?

Koja je razlika između složene tipke, primarnog i stranog ključa?

Anonim

P:

Koja je razlika između složene tipke, primarnog i stranog ključa?

A:

Primarni ključ definira se kao stupac ključa ili baze podataka koji jedinstveno identificira svaki red u tablici baze podataka. Sastavljeni ključ skup je više od jednog ključa koji zajedno jedinstveno identificira svaki zapis.

Strani ključ je, s druge strane, ključ u nekoj tablici koji jedinstveno identificira retke u drugoj tablici - ili drugim riječima, ključ koji slijedi do primarnog ključa u drugoj tablici.

Primjer bi bio popis kuća na tržištu nekretnina. U dobro uređenoj bazi podataka trebao bi postojati primarni ključ koji jedinstveno identificira svaki zapis. Kako ovo može imati veze sa sofisticiranošću baze podataka.

U nekim slučajevima kuće se mogu jedinstveno identificirati samo hipotekom - svi ostali podaci (gradovi, ulice, kućni brojevi) nisu jedinstveni za svaki zapis. Broj hipoteke bio bi primarni ključ. Pretpostavimo, međutim, da MLS-ova tehnologija za popis nekretnina dodjeljuje svoje jedinstvene brojeve zapisima u tablici. Zatim će postojati dva ključa koja bi programeri mogli identificirati kao "kandidatske ključeve": broj hipoteke i MLS broj. Jedan od njih kvalificirat će se kao "primarni ključ" na ono što bi neki smatrali proizvoljnim načinom.

Kompozitni bi ključ tada bio kombinacija dva ključa: na primjer, kombinacija kućnog broja i ulice može se smatrati složenim ključem, s obzirom na to da su tržišni unosi lokalni. Ako je tako, onda kad netko pretražuje i kućni broj i ulicu, mora vratiti samo jedan jedini zapis.

U međuvremenu, ako postoji ključ u povezanoj tablici, na primjer, kupac stol, koji upućuje na primarni ključ, to će biti strani ključ.

Koja je razlika između složene tipke, primarnog i stranog ključa?