Acasă Baze de date Care este diferența dintre o cheie compusă, cheia primară și cea străină?

Care este diferența dintre o cheie compusă, cheia primară și cea străină?

Anonim

Î:

Care este diferența dintre o cheie compusă, cheia primară și cea străină?

A:

O cheie primară este definită ca o cheie sau o coloană de bază de date care identifică în mod unic fiecare rând dintr-un tabel de bază de date. O cheie compusă este un set de mai mult de o cheie care, împreună, identifică în mod unic fiecare înregistrare.

O cheie străină, pe de altă parte, este o cheie a unui tabel care identifică în mod unic rândurile dintr-o altă tabelă - sau, cu alte cuvinte, o cheie care urmărește o cheie primară dintr-o altă tabelă.

Un exemplu ar fi o listă de locuințe pe o piață imobiliară. Într-o bază de date bine ordonată, ar trebui să existe o cheie primară care identifică în mod unic fiecare înregistrare. Modul în care funcționează acest lucru poate avea legătură cu sofisticarea bazei de date.

În unele cazuri, locuințele pot fi identificate în mod unic numai printr-un număr de credit ipotecar - toate celelalte date (orașe, străzi, numere de case) nu sunt unice pentru fiecare înregistrare. Numărul ipotecar ar fi cheia principală. Să presupunem, totuși, că tehnologia de listare a unui agent imobiliar MLS atribuie numerele sale unice înregistrărilor din tabel. Apoi, vor exista două chei pe care dezvoltatorii ar putea să le identifice drept „chei de candidat”: numărul creditului ipotecar și numărul MLS. Unul dintre ei se va califica drept „cheia primară” în ceea ce unii ar considera un mod arbitrar.

O cheie compusă ar fi, așadar, combinația a două chei: de exemplu, combinația de număr de casă și stradă s-ar putea califica ca o cheie compusă, având în vedere că listările de pe piață sunt locale. Dacă da, atunci când cineva caută folosind numărul casei și strada, acesta ar trebui să obțină o singură înregistrare.

Între timp, dacă există o cheie într-un tabel legat, de exemplu, un tabel al cumpărătorului, care face referire la cheia primară, aceasta va fi o cheie străină.

Care este diferența dintre o cheie compusă, cheia primară și cea străină?