Voiko ensisijainen avain olla myös vierasavain?
Voiko ensisijainen avain olla myös vierasavain?

Video: Voiko ensisijainen avain olla myös vierasavain?

Video: Voiko ensisijainen avain olla myös vierasavain?
Video: Eino ja Aapeli - Mä Voisin Olla Se 2024, Huhtikuu
Anonim

Ensisijaiset avaimet pitää aina olla ainutlaatuinen, vieraita avaimia on sallittava ei-yksilölliset arvot, jos taulukko on yksi moneen -suhde. On täysin hyvä käyttää a vieras avain kuin pääavain jos taulukkoa yhdistää yksi-yhteen-suhde, ei yksi-moneen-suhde.

Vastaavasti kysytään, voiko ensisijainen avain olla myös vierasavain samassa taulukossa?

Luodaan a vieras avain on melkein yhtä helppoa kuin a pääavain , paitsi että SQL Server asettaa useita muita sääntöjä vieraita avaimia . Esimerkiksi, vieras avain tulee viitata a pääavain tai ainutlaatuinen rajoitus, vaikka viittaus voi olla päällä sama pöytä tai eri päällä pöytä.

Lisäksi, miten ensisijainen ja vierasavaimet eroavat toisistaan? A ensisijainen avain on erityinen avain, jota käytetään yksilöimään tietueet taulukossa, kun taas a ulkomaalainen avainta käytetään kahden taulukon välisen suhteen luomiseen. Molemmat ovat rakenteeltaan identtisiä, mutta pelaavat eri roolit relaatiotietokantaskeemassa.

Voiko tässä olla vierasavain ilman ensisijaista avainta?

Joo. Me voi luo Vieras avain ilman joilla on Pääavain päätaulukossa. Useimmat meistä ovat väärässä käsityksessä, että me voi älä luo a Vieras avain ilman ensisijaista avainta päätaulukossa. Tuo ainutlaatuinen tunnus voi olla pääavain tai ainutlaatuinen avain.

Voiko vieras avain olla kaksoiskappale?

Toisin kuin ensisijainen avaimet , vieraita avaimia voi sisältää kaksoiskappale arvot. Lisäksi on OK, että ne sisältävät NULL-arvoja. Indeksejä ei luoda automaattisesti vieraita avaimia ; kuitenkin DBA:na sinä voi määritellä ne. Taulukko saa sisältää useamman kuin yhden vieras avain.

Suositeltava: