Forskel mellem Primær nøgle og Fremmed nøgle i DBMS

Forfatter: Laura McKinney
Oprettelsesdato: 1 April 2021
Opdateringsdato: 12 Kan 2024
Anonim
Forskel mellem Primær nøgle og Fremmed nøgle i DBMS - Teknologi
Forskel mellem Primær nøgle og Fremmed nøgle i DBMS - Teknologi

Indhold


Taster er den afgørende del af DBMS, de bruges til at identificere og etablere en forbindelse mellem tabellerne i et skema. Nu, i dag skal vi diskutere to meget vigtige nøgler til DBMS, dvs. Primær nøgle og Fremmed nøgle, og vi vil også diskutere forskellen mellem primær nøgle og fremmed nøgle. Lad mig fortælle dig den grundlæggende forskel mellem primær og fremmed nøgle, der er primær nøgle, er en af ​​de valgte kandidatnøgler af databasedesigner, hvorimod en fremmed nøgle er en nøgle, der henviser til den primære nøgle i en anden relation.

Der er mange andre forskelle mellem disse to, lad os identificere disse forskelle ved hjælp af sammenligningstabellen vist nedenfor.

  1. Sammenligningstabel
  2. Definition
  3. Vigtige forskelle
  4. Konklusion

Sammenligningstabel

Grundlag for sammenligningPrimærnøgleFremmed nøgle
GrundlæggendePrimær nøgle er en valgt kandidatnøgle, der entydigt definerer en tuple i en relation.Fremmed nøgle i en tabel henviser til den primære nøgle i anden tabel.
NULPrimær nøgleværdi kan aldrig være NULL.Fremmed nøgle accepterer NULL-værdi.
DuplikereIngen to tuples i en relation har duplikatværdier for en primær nøgleattribut.Tuples kan bære duplikatværdi for en fremmed nøgleattribut.
RækkeviddeDer kan kun være en primær nøgle i en relation.Der kan være flere udenlandske nøgler i en relation.
Midlertidig tabelPrimær nøglebegrænsning kan defineres på de midlertidige tabeller.Fremmed nøglebegrænsning kan ikke defineres på de midlertidige tabeller.
Clustered indexSom standard indekseres en primær nøgle.Fremmed nøgle indekseres ikke automatisk; det skal gøres manuelt.
IndskudVi kan indsætte en værdi til en primær nøgleattribut, selvom den henvisende fremmednøgle ikke har denne værdi i sin kolonne.Vi kan ikke indsætte en værdi til en fremmed nøgle, hvis denne værdi ikke er til stede i den nævnte primære nøglekolonne.
SletningInden du sletter en primær nøgleværdi, skal du sørge for, at værdien ikke stadig findes i den henvisende fremmed nøglekolonne i referencetabellen.Du kan slette en værdi fra fremmed nøglekolonne uden at bryde sig om, om denne værdi er til stede i den refererede primære nøglekolonne i det refererede forhold.


Definition af primær nøgle

En primær nøgle entydigt definerer tuples i en relation. Det kan være en enkelt attribut i en relation, eller det kan være et sæt attributter i en relation. Værdien af ​​den primære nøgleattribut skal aldrig eller sjældent ændret. Fordi det er et princip, betyder det at identificere enhver post i en database. Ændring i en hvilken som helst attributværdi for den primære nøgle ville skabe forvirring.

Database designer vælger en af kandidatnøgler som en primær nøgle under hensyntagen til nogle punkter. Den første betragtning er en primær nøgleattributværdi kan aldrig indeholde NUL værdi. Fordi, hvis en primær nøgleattributværdi indeholder NULL, betyder det, at vi ikke kan identificere den post i tabellen. Det krænker også enhedens integritetsbegrænsning. Anden betragtning er, ingen to tupler i en tabel kan indeholde samme værdi for en primær nøgleattribut, da det ville krænke unikheden blandt tuplerne.


Der kan kun være en primær nøgle for enhver forhold. Den primære nøgle er som standard klynge-indekseret, hvilket betyder, at alle tupler i en tabel er sorteret, baseret på de primære taster attributværdier. Den primære nøglebegrænsning kan defineres på en midlertidig tabel. Mellemliggende tabeller oprettet under udførelsen af ​​en forespørgsel kaldes midlertidige tabeller.

Mens sletning en tuple fra en relation, skal man passe på, at den slettede tuples primære nøgleværdi ikke stadig er til stede i den udenlandske nøglekolonne for henvisningsrelation. Der henviser til indskud har ikke begrænsninger for en primær nøgle.

Den primære nøgle i en tabel, når den bruges i en anden tabel, bliver den fremmed nøgle for den tabel. Udenlandske nøglebegrænsninger diskuteres nedenfor.

Definition af fremmed nøgle

Når en relation R1, blandt dens attributter, har en primær nøgle af anden relation R2, kaldes den attribut Fremmed nøgle til relation R1. Forholdet R1 der indeholder den udenlandske nøgle kaldes henvisningsforhold som det refererer til den primære nøgle til relation R2 og relation R2 Hedder refereret forhold.
I modsætning til den primære nøgle kan den udenlandske nøgle acceptere NUL værdier, fordi det ikke har til opgave at identificere en post tydeligt i en relation, da vi har den primære nøgle til dette. På samme måde accepterer den udenlandske nøgle også duplikatværdier.

En relation kan have mange udenlandske nøgler, da det kan have forskellige attributter, der er primære nøgler i forskellige relationer. Udenlandsk nøglebegrænsning kan ikke defineres på midlertidige tabeller, heller ikke en fremmed nøgle er en klynge-indekseret attribut.

Mens indsættelse en værdi i en fremmed nøglekolonne i referencerelationen, skal du sørge for, at indsættelsesværdien skal være til stede i den primære nøglekolonne i det refererede forhold. Der er ingen begrænsning i det hele taget sletning en værdi fra den udenlandske nøglekolonne.

  1. En primær er et sæt attributter / en kandidatnøgle, der tydeligt identificerer en post i en relation. Imidlertid henviser en fremmed nøgle i en tabel til den primære nøgle i en anden tabel.
  2. Ingen primære nøgleattributter kan indeholde NULL-værdier, mens en fremmed nøgleattribut kan acceptere NULL-værdi.
  3. En primær nøgle skal have unikke attributværdier, mens en fremmed nøgle kan have duplikatattributværdier.
  4. Der kan være flere fremmede nøgler i en relation, men en relation har kun en primær nøgle.
  5. Den primære nøglebegrænsning kan anvendes på de midlertidige tabeller. Udenlandsk nøglebegrænsning kan dog ikke anvendes til de midlertidige tabeller.
  6. En primær nøgle indekseres som standard med klynger, mens en fremmed nøgle ikke indekseres automatisk, men den kan udføres manuelt.
  7. Mens du indsætter en værdi i en fremmed nøglekolonne, skal du sørge for, at værdien for indsættelse af attribut er til stede i den refererede primære nøglekolonne. Der er dog ingen begrænsning for indsættelse i den primære nøglekolonne.
  8. Mens du sletter en værdi fra den primære nøglekolonne, skal du sørge for, at den slettede attributværdi ikke er til stede i den henvisende fremmed nøglekolonne. Der er dog ingen begrænsning for at slette en værdi fra en fremmed nøglekolonne.

Konklusion:

Både den primære nøgle og den fremmede nøgle er vigtig for et skema. En primær nøgle definerer hver tuple i en relation unikt, mens en fremmed nøgle bruges til at skabe en forbindelse mellem to relationer.