Primarni ključ vs tuji ključ: Kakšna je razlika?

Kazalo:

Anonim

Preden se naučimo razlike med primarnim in tujim ključem, se naučimo:

Kaj so ključi?

Ključi so atribut, ki vam pomaga prepoznati vrstico (nabor) v relaciji (tabeli). Omogočajo vam iskanje razmerja med dvema tabelama. Tipke vam pomagajo enolično prepoznati vrstico v tabeli s kombinacijo enega ali več stolpcev v tej tabeli. Ključ baze podatkov je koristen tudi za iskanje edinstvenega zapisa ali vrstice iz tabele.

Kaj je razmerje med zbirko podatkov?

Razmerje baze podatkov je povezava med eno ali več tabel, ki so ustvarjene z uporabo stavkov za združevanje. Uporablja se za učinkovito pridobivanje podatkov iz baze podatkov. Obstajajo predvsem tri vrste odnosov 1) ena na ena, 2) ena na več, 3) veliko na veliko.

Kaj je primarni ključ?

Omejitev primarnega ključa je stolpec ali skupina stolpcev, ki enolično identificira vsako vrstico v tabeli sistema upravljanja relacijske baze podatkov. Ne more biti dvojnik, kar pomeni, da se ista vrednost v tabeli ne sme pojaviti več kot enkrat.

Tabela ima lahko več kot en primarni ključ. Primarni ključ lahko določite na ravni stolpca ali tabele. Če ustvarite sestavljeni primarni ključ, ga je treba določiti na ravni tabele.

Kaj je tuji ključ?

Tuji ključ je stolpec, ki ustvarja razmerje med dvema tabelama. Namen tujega ključa je ohraniti celovitost podatkov in omogočiti navigacijo med dvema različnima primerkoma entitete. Deluje kot navzkrižno sklic med dvema tabelama, saj se sklicuje na primarni ključ druge tabele. Vsak odnos v zbirki podatkov mora biti podprt s tujim ključem.

KLJUČNE RAZLIKE:

  • Omejitev primarnega ključa je stolpec, ki enolično identificira vsako vrstico v tabeli sistema za upravljanje relacijske baze podatkov, medtem ko je tuji ključ stolpec, ki ustvari odnos med dvema tabelama.
  • Primarni ključ nikoli ne sprejme ničelnih vrednosti, medtem ko lahko tuji ključ sprejme več ničelnih vrednosti.
  • V tabeli lahko imate samo en primarni ključ, medtem ko imate v tabeli več tujih ključev.
  • Vrednosti primarnega ključa ni mogoče odstraniti iz nadrejene tabele, medtem ko je vrednost tujega ključa mogoče odstraniti iz podrejene tabele.
  • Nobena vrstica ne more imeti enakih vrednosti za primarni ključ, po drugi strani pa lahko tuji ključ vsebuje podvojene vrednosti.
  • Vstavljanje vrednosti v stolpec tabele med vstavljanjem katere koli vrednosti v tabelo tujega ključa ni omejeno; zagotovite, da je vrednost prisotna v stolpcu primarnega ključa.

Zakaj uporabljati primarni ključ?

Tu so slabosti / prednosti uporabe primarnega ključa:

  • Glavni cilj primarnega ključa je prepoznati vsak zapis v tabeli zbirke podatkov.
  • Primarni ključ lahko uporabite, kadar nekomu ne dovolite vnašanja ničelnih vrednosti.
  • Če izbrišete ali posodobite zapise, boste izvedli dejanje, s katerim zagotovite celovitost podatkov.
  • Opravite omejeno operacijo, da zavrnete brisanje ali posodobitev nadrejene tabele.
  • Podatki so organizirani v zaporedju gručastega indeksa, kadar koli fizično organizirate tabelo DBMS.

Zakaj uporabljati tuji ključ?

Tu so pomembni razlogi za uporabo tujega ključa:

  • Tuji ključi vam pomagajo preseliti entitete s pomočjo primarnega ključa iz nadrejene tabele.
  • Tuji ključ vam omogoča, da dve ali več tabel povežete skupaj.
  • Zaradi tega so podatki v bazi podatkov dosledni.
  • Tuji ključ lahko uporabite za povezovanje stolpca ali kombinacije stolpcev s primarnim ključem v nadrejeni tabeli.
  • Omejitev tujega ključa SQL se uporablja za zagotovitev, da se referenčna celovitost nadrejenega podatkov ujema z vrednostmi v podrejeni tabeli.

Primer primarnega ključa

Sintaksa:

Spodaj je sintaksa primarnega ključa:

CREATE TABLE (Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);

Tukaj,

  • Table_Name je ime tabele, ki jo morate ustvariti.
  • Ime stolpca je ime stolpca s primarnim ključem.

Primer:

StudID Roll št Ime Priimek E-naslov
1. 11. Tom Cena Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.
2. 12. Nick Wright Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.
3. 13. Dana Natan Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript.

V zgornjem primeru smo ustvarili študentsko tabelo s stolpci, kot so StudID, Roll No, First Name, Last Name in Email. StudID je izbran kot primarni ključ, ker lahko enolično prepozna druge vrstice v tabeli.

Primer tujega ključa

Sintaksa:

Spodaj je sintaksa tujega ključa:

CREATE TABLE 
(column1 datatype,column2 datatype,constraint (name of constraint)FOREIGN KEY [column1, column2… ]REFERENCES [primary key table name] (List of primary key table column)… );

Tukaj,

  • Parameter Ime tabele označuje ime tabele, ki jo boste ustvarili.
  • Parametri stolpec1, stolpec2… prikazujejo stolpce, ki jih je treba dodati v tabelo.
  • Omejitev označuje ime omejitve, ki jo ustvarjate.
  • Sklici označujejo tabelo s primarnim ključem.

Primer:

DeptCode DeptName
001 Znanost
002 angleščina
005 Računalnik
ID učitelja Fname Lname
B002 David Warner
B017 Sara Jožef
B009 Mike Brunton

V zgornjem primeru imamo dve tabeli, učitelja in oddelek v šoli. Vendar ni mogoče ugotoviti, katero iskanje deluje v katerem oddelku.

V tej tabeli lahko z dodajanjem tujega ključa v Deptcode imenu učitelja ustvarimo razmerje med obema tabelama.

ID učitelja DeptCode Fname Lname
B002 002 David Warner
B017 002 Sara Jožef
B009 001 Mike Brunton

Ta koncept je znan tudi kot referenčna integriteta.

Razlika med primarnim in tujim ključem

Tu je pomembna razlika med primarnim in tujim ključem:

Primarni ključ Tuji ključ
Omejitev primarnega ključa je stolpec ali skupina stolpcev, ki enolično identificira vsako vrstico v tabeli sistema upravljanja relacijske baze podatkov. Tuji ključ je stolpec, ki ustvarja razmerje med dvema tabelama.
Pomaga vam enolično prepoznati zapis v tabeli. To je polje v tabeli, ki je primarni ključ druge tabele.
Primarni ključ nikoli ne sprejme ničelnih vrednosti. Tuji ključ lahko sprejme več ničelnih vrednosti.
Primarni ključ je gručasti indeks, podatki v tabeli DBMS pa so fizično organizirani v zaporedju gručastega indeksa. Tuji ključ ne more samodejno ustvariti indeksa, gručastega ali neklasteriziranega.
V tabeli imate lahko en sam primarni ključ. V tabeli imate lahko več tujih ključev.
Vrednosti primarnega ključa ni mogoče odstraniti iz nadrejene tabele. Vrednost vrednosti tujega ključa je mogoče odstraniti iz podrejene tabele.
Primarni ključ lahko implicitno definirate v začasnih tabelah. Na lokalnih ali globalnih začasnih tabelah ne morete definirati tujih ključev.
Primarni ključ je gručasti indeks. Privzeto ni indeks grozdov.
Nobena vrstica ne more imeti enakih vrednosti za primarni ključ. Tuji ključ lahko vsebuje podvojene vrednosti.
Vstavljanje vrednosti v stolpec tabele ni omejeno. Med vstavljanjem katere koli vrednosti v tabelo tujega ključa zagotovite, da je vrednost prisotna v stolpcu primarnega ključa.