Kan 'n vreemde sleutel na 'n ander vreemde sleutel verwys?
Kan 'n vreemde sleutel na 'n ander vreemde sleutel verwys?

Video: Kan 'n vreemde sleutel na 'n ander vreemde sleutel verwys?

Video: Kan 'n vreemde sleutel na 'n ander vreemde sleutel verwys?
Video: MySQL: FOREIGN KEYS are easy (kind of) 2024, April
Anonim

1 Antwoord. A vreemde sleutel kan verwys enige veld wat as uniek gedefinieer word. As daardie unieke veld self gedefinieer word as 'n onbekende sleutel , dit maak geen verskil nie. As dit 'n unieke veld is, is dit kan ook die teiken wees van 'n ander FK.

Hierin, kan 'n vreemde sleutel unieke sleutel verwys?

Primêr sleutels altyd moet wees uniek , vreemde sleutels moet toelaat dat nie- uniek waardes as die tabel 'n een-tot-veel-verhouding is. A ONBEKENDE SLEUTEL beperking doen hoef nie net aan 'n PRIMARY gekoppel te wees nie SLEUTEL beperking in 'n ander tabel; Dit kan ook gedefinieer word verwysing die kolomme van a UNIEK beperking in 'n ander tabel.

Net so, kan 'n vreemde sleutel 'n ander naam hê? Mees algemeen, a onbekende sleutel verwys na die primêre sleutel veld van die ander tabel. Die onbekende sleutel veld (CustomerNum) en verwysde veld (CustID) mag verskillende name het (of dieselfde naam ), maar moet het dieselfde datatipe en veldbeperkings.

Net so kan 'n mens vra, kan 'n vreemde sleutel na dieselfde tabel verwys?

ONBEKENDE SLEUTEL beperkings kan verwys 'n ander kolom in die dieselfde tafel . Dit word na verwys as 'n self- verwysing . A ONBEKENDE SLEUTEL beperking gespesifiseer op kolomvlak kan lys slegs een verwysing kolom. Hierdie kolom moet die dieselfde datatipe as die kolom waarop die beperking gedefinieer word.

Kan 'n vreemde sleutel opgedateer word?

As die Opdateer reël is GEEN AKSIE, ouer uniek sleutels kan wees opgedateer solank elke kind 'n ouer het sleutel teen die tyd dat die Opdateer verklaring voltooi. 'n Nie-nul Opdateer waarde van a onbekende sleutel moet gelyk wees aan 'n waarde van die primêre sleutel van die ouertabel van die verhouding.

Aanbeveel: