Chei DBMS: Tipuri de chei candidate, super, primare, străine cu exemplu
Ce sunt cheile în DBMS?
CHEIE în DBMS este un atribut sau un set de atribute care vă ajută să identificați un rând (tuplu) într-o relație (tabel). Ele vă permit să găsiți relația dintre două tabele. Cheile vă ajută să identificați unic un rând dintr-un tabel printr-o combinație de una sau mai multe coloane din acel tabel. Cheia este, de asemenea, utilă pentru a găsi o înregistrare sau un rând unic din tabel. Cheia bazei de date este, de asemenea, utilă pentru a găsi o înregistrare sau un rând unic din tabel.
Exemplu:
card de identitate al angajatului | Nume | Numele de familie |
---|---|---|
11 | Andrew | Johnson |
22 | Tom | Lemn |
33 | Alex | Sănătos |
În exemplul de mai sus, ID-ul angajatului este o cheie primară, deoarece identifică în mod unic o înregistrare a angajatului. În acest tabel, niciun alt angajat nu poate avea același ID de angajat.
De ce avem nevoie de o cheie?
Iată câteva motive pentru a utiliza cheia SQL în sistemul DBMS.
- Cheile vă ajută să identificați orice rând de date dintr-un tabel. Într-o aplicație din lumea reală, un tabel ar putea conține mii de înregistrări. În plus, înregistrările ar putea fi duplicate. Cheile din RDBMS vă asigură că puteți identifica în mod unic o înregistrare de tabel, în ciuda acestor provocări.
- Vă permite să stabiliți o relație între și să identificați relația dintre tabele
- Vă ajută să impuneți identitatea și integritatea în relație.
Tipuri de chei în DBMS (Sistemul de management al bazelor de date)
Există în principal opt tipuri diferite de chei în DBMS și fiecare cheie are funcționalitatea ei diferită:
- Super cheie
- Cheia principala
- Cheia candidatului
- Cheie alternativă
- Cheie externă
- Cheie compusă
- Cheia compusă
- Cheie surogat
Să ne uităm la fiecare dintre cheile din DBMS cu exemplu:
- Super Cheie - O super-cheie este un grup de chei simple sau multiple care identifică rândurile dintr-un tabel.
- Cheia principala - este o coloană sau un grup de coloane dintr-un tabel care identifică în mod unic fiecare rând din acel tabel.
- Cheia candidatului - este un set de atribute care identifică în mod unic tuplurile dintr-un tabel. Cheia candidatului este o super-cheie fără atribute repetate.
- cheie alternativă - este o coloană sau un grup de coloane dintr-un tabel care identifică în mod unic fiecare rând din acel tabel.
- Cheie externă - este o coloană care creează o relație între două tabele. Scopul cheilor externe este de a menține integritatea datelor și de a permite navigarea între două instanțe diferite ale unei entități.
- Cheie compusă - are două sau mai multe atribute care vă permit să recunoașteți în mod unic o anumită înregistrare. Este posibil ca fiecare coloană să nu fie unică prin ea însăși în baza de date.
- Cheie compusă - este o combinație de două sau mai multe coloane care identifică în mod unic rândurile dintr-un tabel. Combinația de coloane garantează unicitatea, deși unicitatea individuală nu este garantată.
- Cheie surogat - O cheie artificială care urmărește să identifice în mod unic fiecare înregistrare se numește cheie surogat. Aceste tipuri de chei sunt unice, deoarece sunt create atunci când nu aveți nicio cheie primară naturală.
Ce este cheia Super?
O supercheie este un grup de chei simple sau multiple care identifică rândurile dintr-un tabel. O cheie super poate avea atribute suplimentare care nu sunt necesare pentru identificarea unică.
Exemplu:
EmpSSN | EmpNum | Empname |
---|---|---|
9812345098 | AB05 | Afișate |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
În exemplul de mai sus, EmpSSN și numele EmpNum sunt superchei.
Ce este o cheie primară?
CHEIA PRINCIPALA in Baze de date este o coloană sau un grup de coloane dintr-un tabel care identifică în mod unic fiecare rând din acel tabel. Cheia primară nu poate fi o dublură, ceea ce înseamnă că aceeași valoare nu poate apărea de mai multe ori în tabel. Un tabel nu poate avea mai mult de o cheie primară.
Reguli pentru definirea cheii primare:
- Două rânduri nu pot avea aceeași valoare a cheii primare
- Trebuie ca fiecare rând să aibă o valoare a cheii primare.
- Câmpul cheie primară nu poate fi nul.
- Valoarea dintr-o coloană a cheii primare nu poate fi niciodată modificată sau actualizată dacă vreo cheie străină se referă la acea cheie primară.
Exemplu:
În exemplul următor, StudID
este o cheie primară.
StudID | Rola numărul | Prenume | Numele de familie | |
---|---|---|---|---|
1 | 11 | Tom | Preț | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Nathan | mno@yahoo.com |
Ce este cheia alternativă?
CHEI ALTERNATE este o coloană sau un grup de coloane dintr-un tabel care identifică în mod unic fiecare rând din acel tabel. Un tabel poate avea mai multe opțiuni pentru o cheie primară, dar numai una poate fi setată ca cheie primară. Toate cheile care nu sunt cheie primară se numesc cheie alternativă.
Exemplu:
În acest tabel, StudID, Roll No, Email sunt calificate pentru a deveni o cheie primară. Dar, deoarece StudID este cheia principală, Roll No, Email devine cheia alternativă.
StudID | Rola numărul | Prenume | Numele de familie | |
---|---|---|---|---|
1 | 11 | Tom | Preț | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Nathan | mno@yahoo.com |
Ce este o cheie de candidat?
CHEIA CANDIDATULUI în SQL este un set de atribute care identifică în mod unic tuplurile dintr-un tabel. Cheia candidatului este o super-cheie fără atribute repetate. Cheia primară trebuie selectată dintre cheile candidate. 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ă.
Proprietățile cheii candidatului:
- Trebuie să conțină valori unice
- Cheia candidată în SQL poate avea mai multe atribute
- Nu trebuie să conțină valori nule
- Ar trebui să conțină câmpuri minime pentru a asigura unicitatea
- Identificați în mod unic fiecare înregistrare dintr-un tabel
Cheie candidat Exemplu: În tabelul dat, ID-ul Stud, Numărul rolului și e-mailul sunt chei candidate care ne ajută să identificăm în mod unic fișa studentului în tabel.
StudID | Rola numărul | Prenume | Numele de familie | |
---|---|---|---|---|
1 | 11 | Tom | Preț | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Nathan | mno@yahoo.com |
Ce este cheia străină?
CHEIE EXTERNĂ este o coloană care creează o relație între două tabele. Scopul cheilor externe este de a menține integritatea datelor și de a permite navigarea între două instanțe diferite ale unei entități. Acționează ca o referință încrucișată între două tabele, deoarece face referire la cheia primară a altui tabel.
Exemplu:
DeptCode | DeptName |
---|---|
001 | Ştiinţă |
002 | Engleză |
005 | Calculator |
ID profesor | Fname | Lname |
---|---|---|
B002 | David | Warner |
B017 | Sara | Hisham |
B009 | Mike | Brunton |
În acest exemplu de cheie în dbms, avem două tabele, teach și departament într-o școală. Cu toate acestea, nu există nicio modalitate de a vedea ce căutări lucrează în ce departament.
În acest tabel, adăugând cheia externă în Deptcode la numele profesorului, putem crea o relație între cele două tabele.
ID profesor | DeptCode | Fname | Lname |
---|---|---|---|
B002 | 002 | David | Warner |
B017 | 002 | Sara | Hisham |
B009 | 001 | Mike | Brunton |
Acest concept este cunoscut și sub numele de Referențial Integrity.
Ce este cheia compusă?
CHEIE COMPUSĂ are două sau mai multe atribute care vă permit să recunoașteți în mod unic o anumită înregistrare. Este posibil ca fiecare coloană să nu fie unică prin ea însăși în baza de date. Cu toate acestea, atunci când este combinată cu cealaltă coloană sau coloane, combinația de chei compuse devine unică. Scopul cheii compuse din baza de date este de a identifica în mod unic fiecare înregistrare din tabel.
Exemplu:
Comandă nu | PorductID | numele produsului | Cantitate |
---|---|---|---|
B005 | JAP102459 | Mouse | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | Monitor LCD | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Imprimanta laser | 3 |
În acest exemplu, OrderNo și ProductID nu pot fi o cheie primară, deoarece nu identifică în mod unic o înregistrare. Cu toate acestea, o cheie compusă de ID comandă și ID produs ar putea fi utilizată, deoarece identifica în mod unic fiecare înregistrare.
Ce este cheia compusă?
CHEIE COMPOZĂ este o combinație de două sau mai multe coloane care identifică în mod unic rândurile dintr-un tabel. Combinația de coloane garantează unicitatea, deși unicitatea individuală nu este garantată. Prin urmare, acestea sunt combinate pentru a identifica în mod unic înregistrările dintr-un tabel.
Diferența dintre cheia compusă și cea compusă este că orice parte a cheii compuse poate fi o cheie străină, dar cheia compozită poate sau nu o parte a cheii străine.
Ce este o cheie surogat?
CHEI SUROGATE este O cheie artificială care își propune să identifice în mod unic fiecare înregistrare este numită cheie surogat. Acest tip de cheie parțială în dbms este unic, deoarece este creat atunci când nu aveți nicio cheie primară naturală. Ele nu dau niciun sens datelor din tabel. Cheia surogat în DBMS este de obicei un număr întreg. O cheie surogat este o valoare generată chiar înainte ca înregistrarea să fie inserată într-un tabel.
Fname | Numele de familie | Timpul de începere | Ora de sfârșit |
---|---|---|---|
Anne | Fierar | 09:00 | 18:00 |
Sacou / jachetă | Francis | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Afișate | Willam | 14:00 | 23:00 |
Mai sus, exemplul dat, s-au arătat orele de schimb ale diferitului angajat. În acest exemplu, este necesară o cheie surogat pentru a identifica în mod unic fiecare angajat.
Cheile surogat în sql sunt permise când
- Nicio proprietate nu are parametrul cheii primare.
- În tabel când cheia primară este prea mare sau complicată.
Diferența dintre cheia primară și cheia externă
Iată diferența principală dintre cheia primară și cheia externă:
Cheia principala | Cheie externă |
---|---|
Vă ajută să identificați în mod unic o înregistrare în tabel. | Este un câmp din tabel care este cheia primară a altui tabel. |
Cheia primară nu acceptă niciodată valori nule. | O cheie externă poate accepta mai multe valori nule. |
Cheia primară este un index grupat, iar datele din tabelul DBMS sunt organizate fizic în secvența indexului grupat. | O cheie străină nu poate crea automat un index, grupat sau non-cluster. Cu toate acestea, puteți crea manual un index pe cheia externă. |
Puteți avea o singură cheie primară într-un tabel. | Puteți avea mai multe chei străine într-un tabel. |
Rezumat
- Ce este cheia în DBMS: o cheie în DBMS este un atribut sau un set de atribute care vă ajută să identificați un rând (tuplu) într-o relație (tabel)
- Tastați RDBMS vă permit să stabiliți o relație între și să identificați relația dintre tabele
- Opt tipuri de cheie în DBMS sunt Super, Primary, Candidate, Alternative, Foreign, Compound, Composite și Surogat Key.
- O super-cheie este un grup de chei simple sau multiple care identifică rândurile dintr-un tabel.
- O coloană sau un grup de coloane dintr-un tabel care ne ajută să identificăm în mod unic fiecare rând din acel tabel se numește cheie primară
- Toate cheile diferite din DBMS care nu sunt cheie primară sunt numite cheie alternativă
- O cheie super fără atribut repetat se numește cheie candidată
- O cheie compusă este o cheie care are multe câmpuri care vă permit să recunoașteți în mod unic o anumită înregistrare
- O cheie care are mai multe atribute pentru a identifica în mod unic rândurile dintr-un tabel se numește cheie compusă
- O cheie artificială care urmărește să identifice în mod unic fiecare înregistrare se numește cheie surogat
- Cheia primară nu acceptă niciodată valori nule, în timp ce o cheie străină poate accepta mai multe valori nule.