Atšķirība starp primāro un ārējo atslēgu DBVS

Autors: Laura McKinney
Radīšanas Datums: 1 Aprīlis 2021
Atjaunināšanas Datums: 12 Maijs 2024
Anonim
Primary key and Foreign Key in DBMS
Video: Primary key and Foreign Key in DBMS

Saturs


Taustiņi ir būtiska DBVS sastāvdaļa, un tos izmanto, lai identificētu un izveidotu saikni starp shēmas tabulām. Tagad šodien mēs apspriedīsim divus ļoti svarīgus DBVS taustiņus, t.i., Primārā atslēga un Ārējā atslēga, kā arī apspriedīsim atšķirību starp primāro atslēgu un ārvalstu atslēgu. Pa ceļam ļaujiet man pateikt, kāda ir galvenā atšķirība starp primāro un svešo atslēgu, kas ir primārā atslēga un ir viena no datu bāzes izstrādātāja izvēlētajām kandidātu atslēgām, turpretī sveša atslēga ir atslēga, kas attiecas uz citas attiecības primāro atslēgu.

Starp šīm divām atšķirībām ir daudz, ļaujiet mums identificēt šīs atšķirības, izmantojot zemāk parādīto salīdzināšanas tabulu.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsPrimārā atslēgaSveša atslēga
PamataPrimārā atslēga ir izvēlēta kandidāta atslēga, kas unikāli nosaka saīsni.Ārējā atslēga tabulā attiecas uz citas tabulas galveno atslēgu.
NULLPrimārā atslēgas vērtība nekad nevar būt NULL.Ārzemju atslēga pieņem NULL vērtību.
DublikātsNevienā no divām attiecībām nav dubultas vērtības primārās atslēgas atribūtam.Tuples var nest svešas atslēgas atribūta vērtības dublikātu.
DiapazonsAttiecībām var būt tikai viena galvenā atslēga.Attiecībās var būt vairākas svešas atslēgas.
Pagaidu tabulaPrimāro atslēgas ierobežojumu var noteikt pagaidu tabulās.Pagaidu tabulās nevar noteikt svešās atslēgas ierobežojumu.
Apkopots indekssPēc noklusējuma galvenā atslēga ir grupēta indeksācijā.Ārējā atslēga netiek grupēta automātiski; tas jādara manuāli.
IevietošanaMēs varam ievietot vērtību primārās atslēgas atribūtā, pat ja atsauces svešzemas atslēgas slejā nav šīs vērtības.Mēs nevaram ievietot vērtību svešai atslēgai, ja šī vērtība nav norādītajā primārās atslēgas kolonnā.
DzēšanaPirms primārās atslēgas vērtības dzēšanas pārliecinieties, vai atsauces tabulas ailē atsauces svešās atslēgas vērtība joprojām nav.Varat izdzēst vērtību no svešas atslēgas kolonnas, neuztraucoties, vai šī vērtība atrodas atsauces primārās atslēgas kolonnā atsauces attiecībās.


Primārās atslēgas definīcija

Primārā atslēga unikāli definē kopas attiecībās. Tas var būt viens atribūts attiecībās vai arī atribūtu kopums attiecībās. Primārās atslēgas atribūta vērtībai vajadzētu būt nekad vai reti mainīts. Tā kā tas ir galvenais, nozīmē identificēt jebkuru ierakstu datu bāzē. Jebkuras primārās atslēgas atribūta vērtības izmaiņas radītu neskaidrības.

Datu bāzes veidotājs izvēlas vienu no kandidātu atslēgas kā galveno atslēgu, ņemot vērā dažus punktus. Pirmais apsvērums ir tas, ka galvenā atslēgas atribūta vērtība nekad nedrīkst būt NULL vērtību. Tā kā, ja primārās atslēgas atribūta vērtībā ir NULL, tas nozīmē, ka mēs nevaram šo ierakstu tabulā identificēt. Tas arī pārkāpj entītijas integritātes ierobežojumus. Otrais apsvērums ir: nav divu tapu tabulā var saturēt tas pats primārās atslēgas atribūta vērtība, jo tas pārkāptu unikalitāti starp tuples.


Tur var būt tikai viena galvenā atslēga jebkuram attiecības. Primārā atslēga ir pēc noklusējuma klasterizēts, kas nozīmē, ka visi tabulas tabuli ir sakārtoti, pamatojoties uz primāro atslēgu atribūtu vērtībām. Primāro taustiņu ierobežojumu var definēt uz pagaidu galds. Starptabulas, kas izveidotas vaicājuma izpildes laikā, sauc par pagaidu tabulām.

Kamēr dzēšana jaukums no attiecībām, ir jārūpējas, lai izdzēstā sīkla galvenā atslēgas vērtība joprojām netiktu norādīta sakarības svešzemju atslēgas kolonnā. Tā kā ievietošana nav ierobežojumu attiecībā uz primāro atslēgu.

Ja tabulas galvenā atslēga tiek izmantota citā tabulā, tā kļūst par šīs tabulas ārvalstu atslēgu. Turpmāk apskatīti galvenie ārvalstu ierobežojumi.

Ārējās atslēgas definīcija

Kad attiecības R1, starp atribūtiem, ir a primārs atslēga citu attiecību R2, tad šo atribūtu sauc Sveša atslēga attiecībām R1. Attiecības R1 tiek saukta svešā atslēga atsauces saistība jo tas norāda uz R2 un sakarības galveno atslēgu R2 tiek saukts atsauces attiecība.
Atšķirībā no primārās atslēgas, ārvalstu atslēgu var pieņemt NULL vērtības, jo tā uzdevums nav skaidri identificēt ierakstu attiecībās, jo mums tam ir galvenā atslēga. Tādā pašā veidā tiek pieņemta arī svešā atslēga vērtību kopijas.

Attiecībām var būt vairākas svešas atslēgas, jo tam var būt dažādi atribūti, kas ir primārie taustiņi dažādās attiecībās. Ārvalstu atslēgu ierobežojums var jādefinē pagaidu galdi, ne sveša atslēga ir a klasterizēts atribūts.

Kamēr ievietojot vērtību atsauces relācijas svešas atslēgas kolonnā, pārliecinieties, vai ievades vērtībai ir jābūt norādītās atsauces primārās atslēgas kolonnā. Tā kā, kamēr nav ierobežojumu dzēšana vērtība no svešas atslēgas kolonnas.

  1. Primārais ir atribūtu kopums / kandidāta atslēga, kas skaidri identificē ierakstu attiecībās. Tomēr sveša atslēga tabulā attiecas uz citas tabulas galveno atslēgu.
  2. Neviens primārās atslēgas atribūts nedrīkst saturēt NULL vērtības, turpretī svešas atslēgas atribūts var pieņemt NULL vērtību.
  3. Primārajai atslēgai jābūt unikālai atribūtu vērtībām, turpretim svešai atslēgai var būt atribūtu vērtību dublikāti.
  4. Attiecībās var būt vairākas svešas atslēgas, bet attiecībām ir tikai viena galvenā atslēga.
  5. Primāro atslēgas ierobežojumu var piemērot pagaidu tabulām. Tomēr pagaidu tabulām nevar piemērot ārvalstu atslēgas ierobežojumus.
  6. Primārā atslēga pēc noklusējuma tiek grupēta indeksācijā, turpretī sveša atslēga netiek klasterizēta automātiski, bet to var izdarīt manuāli.
  7. Ievietojot vērtību svešas atslēgas kolonnā, pārliecinieties, vai ievietotā atribūta vērtība ir norādītajā primārās atslēgas kolonnā. Tomēr ievietošanai primārās atslēgas kolonnā nav ierobežojumu.
  8. Izdzēšot vērtību no primārās atslēgas kolonnas, pārliecinieties, vai atsauces svešzemju atslēgas kolonnā nav izdzēstās atribūta vērtības. Tomēr vērtības dzēšanai no svešas atslēgas kolonnas nav ierobežojumu.

Secinājums:

Gan primārā, gan svešā atslēga ir būtiskas shēmai. Primārā atslēga definē katru kopu attiecībās unikāli, turpretī sveša atslēga tiek izmantota, lai izveidotu saikni starp divām attiecībām.