logo

Tipus de claus en el model relacional (candidat, súper, primari, alternatiu i estranger)

Les claus són un dels requisits bàsics d'un model de base de dades relacional. S'utilitza àmpliament per identificar les tuples (files) de manera única a la taula. També fem servir claus per establir relacions entre diverses columnes i taules d'una base de dades relacional.

Diferents tipus de claus de bases de dades

  • Clau del candidat
  • Clau primària
  • Super clau
  • Clau alternativa
  • Clau estrangera
  • Clau composta

Clau del candidat

El conjunt mínim d'atributs que poden identificar de manera única una tupla es coneix com a clau candidata. Per exemple, STUD_NO a la relació STUDENT.



  • És una súper clau mínima.
  • És una súper clau sense dades repetides s'anomena clau candidata.
  • El conjunt mínim d'atributs que poden identificar de manera única un registre.
  • Ha de contenir valors únics.
  • Pot contenir valors NULL.
  • Cada taula ha de tenir almenys una única clau candidata.
  • Una taula pot tenir diverses claus candidates però només una clau primària.
  • El valor de la clau del candidat és únic i pot ser nul per a una tupla.
  • Hi pot haver més d'una clau candidata en una relació.

Exemple:

string comparar amb java
 STUD_NO is the candidate key for relation STUDENT.>

Taula ALUMNE

STUD_NO SNAP ADREÇA TELÈFON
1 Shyam Delhi 123456789
2 Rakesh Calcuta 223365796
3 Suraj Delhi 175468965
  • La clau candidata pot ser simple (tenint només un atribut) o composta també.

Exemple:



 {STUD_NO, COURSE_NO} is a composite   candidate key for relation STUDENT_COURSE.>

Taula STUDENT_COURSE

STUD_NO TEACHER_NO CURS_NÚM
1 001 C001
2 056 C005

Nota: En SQL Servidor una restricció única que té una columna anul·lable, permet el valor ' nul 'en aquesta columna només una vegada . És per això que l'atribut STUD_PHONE és un candidat aquí, però no pot ser un valor 'nul' a l'atribut de la clau primària.

Clau primària

Pot haver-hi més d'una clau candidata en relació a la qual es pot triar una com a clau primària. Per exemple, STUD_NO, així com STUD_PHONE, són claus candidates per a la relació STUDENT, però STUD_NO es pot triar com a clau primària (només una de moltes claus candidates).



  • És una clau única.
  • Només pot identificar una tupla (un registre) alhora.
  • No té valors duplicats, té valors únics.
  • No pot ser NULL.
  • Les claus primàries no han de ser necessàriament d'una sola columna; més d'una columna també pot ser una clau primària per a una taula.

Exemple:

concatenació de cadenes java
STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO és una clau primària>>> 

Taula ALUMNE

STUD_NO SNAP ADREÇA TELÈFON
1 Shyam Delhi 123456789
2 Rakesh Calcuta 223365796
3 Suraj Delhi 175468965

Super clau

El conjunt d'atributs que poden identificar de manera única una tupla es coneix com a Superclau. Per exemple, STUD_NO, (STUD_NO, STUD_NAME), etc. Una superclau és un grup de claus individuals o múltiples que identifiquen les files d'una taula. Admet valors NULL.

  • Afegir zero o més atributs a la clau candidata genera la superclau.
  • Una clau candidata és una súper clau, però a l'inrevés no és certa.
  • Els valors de la superclau també poden ser NULL.

Exemple:

Relació entre la clau primària, la clau del candidat i la superclau

Clau alternativa

La clau candidata que no sigui la clau primària s'anomena an clau alternativa .

  • Totes les claus que no són claus primàries s'anomenen claus alternatives.
  • És una clau secundària.
  • Conté dos o més camps per identificar dos o més registres.
  • Aquests valors es repeteixen.
  • Per exemple: - SNAME i ADDRESS són claus alternatives

Exemple:

Consider the table shown above. STUD_NO, as well as PHONE both,  are candidate keys for relation STUDENT but  PHONE will be an alternate key  (only one out of many candidate keys).>
Clau primària, clau del candidat i clau alternativa

Clau primària, clau del candidat i clau alternativa

Clau estrangera

Si un atribut només pot prendre els valors que estan presents com a valors d'algun altre atribut, serà un clau estrangera a l'atribut al qual es refereix. La relació a la qual es fa referència s'anomena relació referenciada i l'atribut corresponent s'anomena atribut referenciat. L'atribut de referència de la relació referenciada hauria de ser la clau primària d'aquesta.

  • És una clau que actua com a clau primària en una taula i actua com a
    clau secundària en una altra taula.
  • Combina dues o més relacions (taules) alhora.
  • Actuen com a referència creuada entre les taules.
  • Per exemple, DNO és una clau primària a la taula DEPT i una no clau a EMP

Exemple:

 Refer Table STUDENT shown above.  STUD_NO in STUDENT_COURSE is a   foreign key to STUD_NO in STUDENT relation.>

Taula STUDENT_COURSE

array vs arraylist
STUD_NO TEACHER_NO CURS_NÚM
1 005 C001
2 056 C005

Potser val la pena assenyalar que, a diferència de la clau primària de qualsevol relació determinada, la clau estrangera pot ser NULL i també pot contenir tuples duplicades, és a dir, no cal que segueixi la restricció d'unicitat. Per exemple, STUD_NO a la relació STUDENT_COURSE no és única. S'ha repetit per a la primera i la tercera tuple. Tanmateix, la relació STUD_NO a STUDENT és una clau primària i ha de ser sempre única i no pot ser nul·la.

Relació entre la clau primària i la clau estrangera

Relació entre la clau primària i la clau estrangera

Clau composta

De vegades, una taula pot no tenir una sola columna/atribut que identifiqui de manera única tots els registres d'una taula. Per identificar de manera única les files d'una taula, es pot utilitzar una combinació de dues o més columnes/atributs. Encara pot donar valors duplicats en casos rars. Per tant, hem de trobar el conjunt òptim d'atributs que puguin identificar de manera única les files d'una taula.

  • Actua com a clau primària si no hi ha cap clau primària en una taula
  • Dos o més atributs s'utilitzen junts per fer a clau composta .
  • Les diferents combinacions d'atributs poden donar una precisió diferent pel que fa a la identificació única de les files.

Exemple:

FULLNAME + DOB can be combined  together to access the details of a student.>
Diferents tipus de claus

Diferents tipus de claus

tipus de proves de programari

Conclusió

En conclusió, el model relacional fa ús d'una sèrie de claus: les claus candidates permeten una identificació diferent, la clau primària serveix com a identificador escollit, les claus alternatives ofereixen altres opcions i les claus externes creen enllaços vitals que garanteixen la integritat de les dades entre taules. La creació de bases de dades relacionals sòlides i efectives requereix l'aplicació reflexiva d'aquestes claus.

Preguntes freqüents sobre els tipus de claus en el model relacional

P.1: Per què les claus són necessàries per al SGBD?

Resposta:

Les claus són un dels aspectes importants del SGBD. Les claus ens ajuden a trobar les tuples (files) de manera única a la taula. També s'utilitza per desenvolupar diverses relacions entre columnes o taules de la base de dades.

P.2: Què és una clau única?

Resposta:

Les claus úniques són les claus que defineixen el registre de manera única a la taula. És diferent de les claus primàries, ja que la clau única pot contenir un valor NULL, però la clau primària no conté cap valor NULL.

P.3: Què és la clau artificial?

Resposta:

Les claus artificials són les claus que s'utilitzen quan cap atribut conté totes les propietats de la clau primària o si la clau primària és molt gran i complexa.