Esmane võti ja võti: milline on erinevus?

Lang L: none (table-of-contents):

Anonim

Enne esmase võtme ja võõrvõti erinevuse õppimist õppime:

Mis on võtmed?

Klahvid on atribuut, mis aitab teil tuvastada relatsiooni (tabeli) rida. Need võimaldavad teil leida seose kahe tabeli vahel. Klahvid aitavad teil tabeli ühe või mitme veeru kombinatsiooni abil tabeli rea ainulaadselt tuvastada. Andmebaasivõtmest on abi ka tabelist ainulaadse kirje või rea leidmisel.

Mis on andmebaasisuhe?

Andmebaasisuhe on ühendused ühe või mitme tabeli vahel, mis on loodud liitumislausete abil. Seda kasutatakse andmebaasist andmete tõhusaks hankimiseks. Suhteid on peamiselt kolme tüüpi: 1) üks-ühele, 2) üks-paljudele, 3) paljud-paljudele.

Mis on esmane võti?

Esmane võtmepiirang on veerg või veergude rühm, mis identifitseerib relatiivse andmebaasi haldussüsteemi tabeli iga rea ​​kordumatult. See ei saa olla duplikaat, mis tähendab, et sama väärtus ei tohiks tabelis ilmuda rohkem kui üks kord.

Tabelil võib olla rohkem kui üks esmane võti. Esmase võtme saab määratleda veeru või tabeli tasemel. Kui loote liitvõtme, peaks see olema määratletud tabeli tasemel.

Mis on võti?

Võõrvõti on veerg, mis loob seose kahe tabeli vahel. Võõrklahvi eesmärk on säilitada andmete terviklikkus ja võimaldada navigeerimist üksuse kahe erineva eksemplari vahel. See toimib ristviitena kahe tabeli vahel, kuna see viitab teise tabeli primaarvõtmele. Iga andmebaasi suhet peaks toetama võõras võti.

PÕHISED VAHED:

  • Esmane võtmepiirang on veerg, mis identifitseerib relatsiooniandmebaasi haldussüsteemi tabeli iga rea ​​kordumatult, samas kui võti on veerg, mis loob seose kahe tabeli vahel.
  • Esmane võti ei aktsepteeri kunagi nullväärtusi, samas kui võti võib vastu võtta mitu nullväärtust.
  • Tabelis võib olla ainult üks esmane võti, samas kui tabelis võib olla mitu võõrast võtit.
  • Primaarvõtme väärtust ei saa vanemitabelist eemaldada, samas kui võõrvõti väärtust saab alamtabelist eemaldada.
  • Ühelgi kahel real ei saa esmase võtme jaoks olla ühesuguseid väärtusi, teisest küljest võib võõras võti sisaldada duplikaatväärtusi.
  • Väärtuste lisamine tabeli veergu ei ole piiratud, samal ajal kui sisestate mis tahes väärtused võõrvõtme tabelisse, veenduge, et väärtus oleks esmases võtmes veerus.

Miks kasutada esmast võtit?

Siin on primaarvõtme kasutamise miinused / eelised:

  • Esmase võtme peamine eesmärk on identifitseerida iga andmebaasitabeli kirje.
  • Esmast võtit saate kasutada siis, kui te ei luba kellelgi nullväärtusi sisestada.
  • Kui kustutate või värskendate kirjeid, tehakse teie määratud toiming andmete terviklikkuse tagamiseks.
  • Tehke piirangutoiming vanematabeli kustutamise või värskendamise tagasilükkamiseks.
  • Andmed on korraldatud rühmitatud indeksite järjestuses alati, kui korraldate DBMS-i tabelit füüsiliselt.

Miks kasutada võti?

Siin on välismaise võtme kasutamise olulised põhjused:

  • Võõrvõtmed aitavad teil üksusi migreerida, kasutades vanemtabeli esmast võtit.
  • Võõrvõti võimaldab teil linkida kahte või enamat tabelit.
  • See muudab teie andmebaasi andmed järjepidevaks.
  • Võõrvõtit saab kasutada veeru või veerukombinatsiooni sobitamiseks vanemtabeli põhivõtmega.
  • SQL-i võõrvõti piirangut kasutatakse selleks, et veenduda, et andmevanemate viideterviklus vastaks lapsetabeli väärtustele.

Näide primaarvõtmest

Süntaks:

Allpool on primaarvõtme süntaks:

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

Siin,

  • Table_Name on selle tabeli nimi, mille peate looma.
  • Column_Name on peamise võtmega veeru nimi.

Näide:

StudID Rull nr Eesnimi Perekonnanimi E-post
1 11 Tom Hind See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
2 12 Nick Wright See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.
3 13 Dana Natan See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti.

Ülaltoodud näites oleme loonud õpilastabeli, kus on veerud nagu StudID, Rullinumber, Eesnimi, Perekonnanimi ja E-post. StudID valitakse peamiseks võtmeks, kuna see võimaldab tabeli teisi ridu ainulaadselt tuvastada.

Välisvõtme näide

Süntaks:

Allpool on välisvõtme süntaks:

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)… );

Siin,

  • Parameeter Tabeli nimi tähistab loodava tabeli nime.
  • Parameetrite veerg1, veerg2 ... kujutab veerge, mis tuleb tabelisse lisada.
  • Piirang tähistab teie loodud piirangu nime.
  • Viited tähistavad esmase võtmega tabelit.

Näide:

DeptCode Osakonna nimi
001 Teadus
002 Inglise
005 Arvuti
Õpetaja ID Fname Lname
B002 David Warner
B017 Sara Joosep
B009 Mike Brunton

Ülaltoodud näites on meil koolis kaks lauda, ​​õpetaja ja osakond. Kuid pole võimalust näha, milline otsing millises osakonnas töötab.

Selles tabelis, lisades Deptcode'i võõrvõti õpetaja nimele, saame luua kahe tabeli vahelise seose.

Õpetaja ID DeptCode Fname Lname
B002 002 David Warner
B017 002 Sara Joosep
B009 001 Mike Brunton

Seda mõistet tuntakse ka kui viitavat terviklikkust.

Erinevus primaarvõtme ja välisvõtme vahel

Siin on oluline erinevus primaarvõtme ja välisvõtme vahel:

Esmane võti Võõrvõti
Esmane võtmepiirang on veerg või veergude rühm, mis identifitseerib relatiivse andmebaasi haldussüsteemi tabeli iga rea ​​kordumatult. Võõrvõti on veerg, mis loob seose kahe tabeli vahel.
See aitab teil tabelis kirje ainulaadselt tuvastada. See on tabeli väli, mis on teise tabeli peamine võti.
Esmane võti ei aktsepteeri kunagi nullväärtusi. Võõrvõti võib aktsepteerida mitut nullväärtust.
Esmane võti on rühmitatud indeks ja DBMS-i tabeli andmed on füüsiliselt rühmitatud indeksi järjestuses. Võõrvõti ei saa indeksit, klastrit ega klastrit automaatselt luua.
Teil võib olla üksik esmane võti tabelis. Tabelis võib olla mitu võõrast võtit.
Peamise võtme väärtust ei saa vanemitabelist eemaldada. Välisvõtme väärtuse saab alamtabelist eemaldada.
Esmase võtme saate ajutistes tabelites kaudselt määratleda. Kohalikes või globaalsetes ajutistes tabelites ei saa võõrvõtmeid määratleda.
Esmane võti on rühmitatud indeks. Vaikimisi pole see rühmitatud register.
Ühelgi kahel real ei saa esmase võtme jaoks olla ühesuguseid väärtusi. Võõrvõti võib sisaldada duplikaatväärtusi.
Väärtuste lisamine tabeli veergu ei ole piiratud. Sisestades võõrvõtmete tabelisse mis tahes väärtuse, veenduge, et väärtus oleks esmases võtmes veerus.