Diferència entre clau primària i clau estrangera en SGBD

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 4 Ser Possible 2024
Anonim
Diferència entre clau primària i clau estrangera en SGBD - Tecnologia
Diferència entre clau primària i clau estrangera en SGBD - Tecnologia

Content


Les claus són la part crucial del SGBD que s'utilitzen per identificar i establir una relació entre les taules d'un esquema. Avui, discutirem dues claus molt importants de SGBD, és a dir, de clau primària i de clau estrangera, i també parlarem de la diferència entre la clau primària i la clau estrangera. Per tant, us permetrà dir-vos que la diferència bàsica entre la clau primària i la estrangera, que és la clau primària, és una de les claus del candidat escollides pel dissenyador de bases de dades, mentre que, una clau estrangera és una clau que fa referència a la clau primària d’una altra relació.

Hi ha moltes altres diferències entre aquestes dues, identifiquem aquestes diferències amb l'ajuda del gràfic de comparació que es mostra a continuació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióClau primàriaClau estrangera
BàsicLa clau primària és una clau de candidat escollida que defineix exclusivament una tupla en una relació.La clau estrangera d'una taula fa referència a la clau primària d'una altra taula.
NULEl valor clau primari mai pot ser NULL.La clau estrangera accepta el valor NULL.
DuplicarNo hi ha dos tuples en una relació que contenen valors duplicats per a un atribut de clau primària.Les tuples poden portar un valor duplicat per a un atribut de clau estrangera.
AbastNomés hi pot haver una clau primària d’una relació.Hi pot haver múltiples claus estrangeres en una relació.
Taula temporalLa restricció de clau primària es pot definir a les taules temporals.La restricció de la clau estrangera no es pot definir a les taules temporals.
Índex agrupatDe manera predeterminada, una clau primària s'indexa en grups.La clau estrangera no s'indexa automàticament; s’ha de fer manualment.
InsercióPodem inserir un valor a un atribut de clau primària, fins i tot si la clau estrangera de referència no té aquest valor a la seva columna.No podem inserir un valor en una clau estrangera, si aquest valor no està present a la columna de clau primària referenciada.
SupressióAbans d’eliminar un valor de clau principal, assegureu-vos que aquest valor encara no estigui present a la columna de claus estrangeres de referència de la taula de referència.Podeu suprimir un valor de la columna de clau estrangera sense molestar, si aquest valor es troba a la columna de clau primària de referència de la relació referenciada.


Definició de clau primària

Una clau primària única defineix les tuples en una relació. Pot ser un atribut únic en una relació o pot ser un conjunt d’atributs d’una relació. El valor de l’atribut de la clau primària hauria de ser mai o rarament canviat. Com que és un principal, vol dir identificar qualsevol registre en una base de dades. El canvi en qualsevol valor d’atribut de la clau primària crearia confusió.

El dissenyador de bases de dades tria un claus de candidat com a clau principal, a tenir en compte alguns punts. La primera consideració és un valor primari d’atribut clau que mai no pot contenir NUL valor. Perquè, si un valor d’atribut de clau principal conté NULL, vol dir que no podem identificar aquest registre a la taula. També infringeix la limitació d’integritat de l’entitat. La segona consideració és, no hi ha dues tuples en una taula pot contenir el mateix valor per a un atribut clau primari, ja que viuria la singularitat entre els tuples.


Només hi pot haver una clau primària per ningu relació. La clau primària és per defecte indexat en clústers, el que significa que tots els tuples d'una taula estan ordenats en funció dels valors dels atributs de les tecles primàries. La restricció de clau primària es pot definir a a taula temporal. Les taules intermediàries creades durant l’execució d’una consulta s’anomenen taules temporals.

Mentre esborra un valor d'una relació, cal tenir en compte que el valor clau clau de la tuple suprimida, encara no està present a la columna de la clau estrangera de la relació de referència. Mentre que el inserció no té restriccions en una clau primària.

La clau primària d’una taula quan s’utilitza en alguna altra taula i es converteix en clau estrangera per a la taula. A continuació, es discuteixen les restriccions claus a l'estranger.

Definició de clau estrangera

Quan una relació R1, entre els seus atributs, té un primària clau d’altra relació R2, llavors es diu aquell atribut Clau estrangera per relació R1. La relació R1 que conté la clau estrangera es diu relació de referència ja que es refereix clau principal de relació R2 i relació R2 es diu relació referida.
A diferència de la clau primària, la clau estrangera pot acceptar NUL valors perquè, no té la tasca d’identificar un registre de manera diferenciada en una relació, ja que tenim la clau principal per a això. De la mateixa manera, la clau estrangera també accepta valors duplicats.

Una relació pot tenir múltiples claus estrangeres, ja que poden tenir diferents atributs que són claus primàries en diferents relacions. Una restricció de clau exterior pot no definir-se a la secció taules temporals, ni una clau estrangera és indexat en clústers atribut.

Mentre inserir un valor en una columna de clau estrangera de relació de referència, assegureu-vos que el valor d'inserció ha d'estar present a la columna de clau principal de la relació referenciada. Mentre que, no hi ha cap restricció esborra un valor de la columna de clau estrangera.

  1. Un element primari és un conjunt d’atributs / clau d’un candidat que identifica de forma distintiva un registre en una relació. Tanmateix, una clau estrangera d'una taula fa referència a la clau primària d'una altra taula.
  2. Cap atribut de clau primària pot contenir valors NULL mentre que, un atribut de clau estrangera pot acceptar el valor NULL.
  3. Una clau primària hauria de tenir valors d'atribut únics, mentre que, una clau estrangera pot tenir valors d'atributs duplicats.
  4. Hi pot haver diverses claus estrangeres en una relació, però una relació només té una clau primària.
  5. La restricció de clau principal es pot aplicar a les taules temporals. Tanmateix, la restricció de claus estrangeres no es pot aplicar a les taules temporals.
  6. De manera predeterminada, una clau principal està indexada en clúster, mentre que, una clau estrangera no s'indexa automàticament en clúster, sinó que es pot fer manualment.
  7. Mentre inseriu un valor en una columna de clau estrangera, assegureu-vos que el valor d'atribut d'inserció estigui present a la columna de clau primària de referència. Tanmateix, no hi ha cap restricció a la inserció a la columna de clau primària.
  8. Mentre suprimiu un valor de la columna de clau primària, assegureu-vos que el valor d’atribut suprimit no estigui present a la columna de clau estrangera de referència. Tanmateix, no hi ha restricció a l’eliminació d’un valor d’una columna de clau estrangera.

Conclusió:

Tant la clau primària com la clau estrangera són essencials per a un esquema. Una clau primària defineix cada tuple en una relació única mentre que, una clau estrangera s'utilitza per crear un enllaç entre dues relacions.