Cheile sunt una dintre cerințele de bază ale unui model de baze de date relaționale. Este utilizat pe scară largă pentru a identifica tuplurile (rândurile) în mod unic în tabel. De asemenea, folosim chei pentru a stabili relații între diverse coloane și tabele ale unei baze de date relaționale.
Diferite tipuri de chei pentru baze de date
- Cheia candidatului
- Cheia principala
- Super Cheie
- Cheie alternativă
- Cheie externă
- Cheie compusă
Cheia candidatului
Setul minim de atribute care pot identifica în mod unic un tuplu este cunoscut ca o cheie candidată. De exemplu, STUD_NO în relația STUDENT.
- Este o super-cheie minimă.
- Este o cheie super fără date repetate se numește cheie candidată.
- Setul minim de atribute care pot identifica în mod unic o înregistrare.
- Trebuie să conțină valori unice.
- Poate conține valori NULL.
- Fiecare tabel trebuie să aibă cel puțin o singură cheie candidată.
- Un tabel poate avea mai multe chei candidate, dar o singură cheie primară.
- Valoarea cheii candidatului este unică și poate fi nulă pentru un tuplu.
- Într-o relație poate exista mai mult de o cheie candidată.
Exemplu:
imprimare python cu 2 zecimale
STUD_NO is the candidate key for relation STUDENT.>
Masa STUDENT
| STUD_NR | SNAP | ABORDARE | TELEFON |
|---|---|---|---|
| 1 | Shyam | Delhi | 123456789 |
| 2 | Rakesh | Kolkata | 223365796 |
| 3 | Suraj | Delhi | 175468965 |
- Cheia candidată poate fi simplă (având un singur atribut) sau compusă.
Exemplu:
{STUD_NO, COURSE_NO} is a composite candidate key for relation STUDENT_COURSE.> Tabel STUDENT_COURSE
| STUD_NR | PROFESOR_NR | CURS_NR |
|---|---|---|
| 1 | 001 | C001 |
| 2 | 056 | C005 |
Notă: În SQL Server o constrângere unică care are o coloană nullabilă, permite valoarea ' nul 'în acea coloană doar o data . De aceea, atributul STUD_PHONE este un candidat aici, dar nu poate fi o valoare „nulă” în atributul cheii primare.
Cheia principala
Pot exista mai multe chei candidate, dintre care una poate fi aleasă ca cheie primară. De exemplu, STUD_NO, precum și STUD_PHONE, sunt chei candidate pentru relația STUDENT, dar STUD_NO poate fi ales ca cheia principala (doar una din multe chei candidate).
- Este o cheie unică.
- Poate identifica doar un tuplu (o înregistrare) la un moment dat.
- Nu are valori duplicate, are valori unice.
- Nu poate fi NULL.
- Cheile primare nu trebuie să fie neapărat o singură coloană; mai mult de o coloană poate fi, de asemenea, o cheie primară pentru un tabel.
Exemplu:
STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO este o cheie primară>>>Masa STUDENT
| STUD_NR | SNAP | ABORDARE | TELEFON |
|---|---|---|---|
| 1 | Shyam | Delhi | 123456789 |
| 2 | Rakesh | Kolkata | 223365796 |
| 3 | Suraj | Delhi | 175468965 |
Super Cheie
Setul de atribute care pot identifica în mod unic un tuplu este cunoscut sub numele de Super Key. De exemplu, STUD_NO, (STUD_NO, STUD_NAME), etc. O super-cheie este un grup de chei simple sau multiple care identifică rânduri dintr-un tabel. Acceptă valori NULL.
- Adăugarea de zero sau mai multe atribute la cheia candidată generează super-cheia.
- O cheie candidată este o super-cheie, dar invers nu este adevărată.
- Valorile super-chei pot fi, de asemenea, NULL.
Exemplu:
Relația dintre cheia primară, cheia candidată și cheia super
bash else if
Cheie alternativă
Cheia candidată, alta decât cheia primară, se numește an cheie alternativă .
- Toate cheile care nu sunt chei primare se numesc chei alternative.
- Este o cheie secundară.
- Conține două sau mai multe câmpuri pentru a identifica două sau mai multe înregistrări.
- Aceste valori se repetă.
- De exemplu: - NUMELE și ADRESĂ sunt chei alternative
Exemplu:
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).>

Cheie primară, Cheie candidată și Cheie alternativă
incearca sa prinzi java
Cheie externă
Dacă un atribut poate lua numai valorile care sunt prezente ca valori ale unui alt atribut, va fi un cheie externă la atributul la care se referă. Relația la care se face referire se numește relație de referință, iar atributul corespunzător se numește atribut de referință. Atributul referit al relației de referință ar trebui să fie cheia primară a acesteia.
- Este o cheie care acționează ca o cheie primară într-un tabel și acționează ca
cheie secundară într-un alt tabel. - Combină două sau mai multe relații (tabele) la un moment dat.
- Ele acționează ca o referință încrucișată între tabele.
- De exemplu, DNO este o cheie primară în tabelul DEPT și o non-cheie în EMP
Exemplu:
Refer Table STUDENT shown above. STUD_NO in STUDENT_COURSE is a foreign key to STUD_NO in STUDENT relation.>
Tabel STUDENT_COURSE
| STUD_NR | PROFESOR_NR | CURS_NR |
|---|---|---|
| 1 | 005 | C001 |
| 2 | 056 | C005 |
Ar putea fi de remarcat faptul că, spre deosebire de cheia primară a oricărei relații date, cheia externă poate fi NULL și poate conține tupluri duplicate, adică nu trebuie să urmeze constrângerile de unicitate. De exemplu, STUD_NO în relația STUDENT_COURSE nu este unic. S-a repetat pentru primul și al treilea tuplu. Cu toate acestea, STUD_NO în relația STUDENT este o cheie primară și trebuie să fie întotdeauna unică și nu poate fi nulă.

Relația dintre cheia primară și cheia externă
Cheie compusă
Uneori, un tabel poate să nu aibă o singură coloană/atribut care să identifice în mod unic toate înregistrările unui tabel. Pentru a identifica în mod unic rândurile unui tabel, poate fi utilizată o combinație de două sau mai multe coloane/atribute. Totuși, poate da valori duplicate în cazuri rare. Deci, trebuie să găsim setul optim de atribute care pot identifica în mod unic rândurile dintr-un tabel.
- Acționează ca o cheie primară dacă nu există nicio cheie primară într-un tabel
- Două sau mai multe atribute sunt folosite împreună pentru a face a cheie compusă .
- Combinații diferite de atribute pot oferi o precizie diferită în ceea ce privește identificarea unică a rândurilor.
Exemplu:
FULLNAME + DOB can be combined together to access the details of a student.>

Diferite tipuri de chei
Concluzie
În concluzie, modelul relațional folosește un număr de chei: cheile candidate permit o identificare distinctă, cheia primară servește ca identificator ales, cheile alternative oferă alte opțiuni, iar cheile externe creează legături vitale care garantează integritatea datelor între tabele. Crearea de baze de date relaționale puternice și eficiente necesită aplicarea atentă a acestor chei.
Întrebări frecvente despre tipurile de chei în modelul relațional
Î.1: De ce sunt necesare cheile pentru DBMS?
Răspuns:
Cheile sunt unul dintre aspectele importante ale DBMS. Cheile ne ajută să găsim tuplurile (rândurile) în mod unic în tabel. De asemenea, este utilizat în dezvoltarea diferitelor relații între coloanele sau tabele din baza de date.
Î.2: Ce este o cheie unică?
Răspuns:
Madhubala
Cheile unice sunt cheile care definesc înregistrarea în mod unic în tabel. Este diferită de cheile primare, deoarece cheia unică poate conține o valoare NULL, dar cheia primară nu conține nicio valoare NULL.
Î.3: Ce este cheia artificială?
Răspuns:
Cheile artificiale sunt cheile care sunt folosite atunci când niciun atribut nu conține toate proprietățile cheii primare sau dacă cheia primară este foarte mare și complexă.