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 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
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
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.