Înainte de a învăța diferența dintre cheia primară și cheia externă, să învățăm:
Ce sunt cheile?
Cheile sunt un atribut care vă ajută să identificați un rând (tuplu) într-o relație (tabel). Acestea vă permit să găsiți relația dintre două tabele. Tastele vă ajută să identificați în mod unic un rând dintr-un tabel printr-o combinație de una sau mai multe coloane din acel tabel. Cheia bazei de date este, de asemenea, utilă pentru găsirea unei înregistrări sau rânduri unice din tabel.
Ce este relația cu baza de date?
Relația bazei de date este asocierea dintre unul sau mai multe tabele care sunt create folosind instrucțiunile join. Este folosit pentru a prelua în mod eficient date din baza de date. Există în primul rând trei tipuri de relații 1) Unul la unu, 2) Unul la mulți, 3) Mulți la mulți.
Ce este cheia primară?
O constrângere de cheie principală este o coloană sau un grup de coloane care identifică în mod unic fiecare rând din tabelul sistemului de gestionare a bazelor de date relaționale. Nu poate fi un duplicat, ceea ce înseamnă că aceeași valoare nu trebuie să apară de mai multe ori în tabel.
Un tabel poate avea mai multe chei principale. Cheia primară poate fi definită la nivelul coloanei sau al tabelului. Dacă creați o cheie primară compusă, aceasta ar trebui definită la nivel de masă.
Ce este cheia străină?
Cheia străină este o coloană care creează o relație între două tabele. Scopul cheii străine este de a menține integritatea datelor și de a permite navigația între două instanțe diferite ale unei entități. Acționează ca o referință încrucișată între două tabele, deoarece face referință la cheia principală a unui alt tabel. Fiecare relație din baza de date ar trebui să fie susținută de o cheie străină.
DIFERENȚE CHEIE:
- O constrângere de cheie primară este o coloană care identifică în mod unic fiecare rând din tabelul sistemului de gestionare a bazei de date relaționale, în timp ce cheia externă este o coloană care creează o relație între două tabele.
- Cheia primară nu acceptă niciodată valori nule, în timp ce cheia externă poate accepta mai multe valori nule.
- Puteți avea doar o singură cheie primară într-un tabel, în timp ce puteți avea mai multe chei străine într-un tabel.
- Valoarea cheii primare nu poate fi eliminată din tabelul părinte, în timp ce valoarea cheii străine poate fi eliminată din tabela copil.
- Niciun rând nu poate avea valori identice pentru o cheie primară, pe de altă parte, o cheie străină poate conține valori duplicat.
- Nu există nicio limitare în introducerea valorilor în coloana tabelului în timp ce introduceți orice valoare în tabelul cu chei străine, asigurați-vă că valoarea este prezentă într-o coloană a unei chei primare.
De ce să folosiți cheia primară?
Iată dezavantajele / beneficiile utilizării cheii primare:
- Scopul principal al cheii primare este de a identifica fiecare înregistrare din tabelul bazei de date.
- Puteți utiliza o cheie principală atunci când nu permiteți cuiva să introducă valori nule.
- Dacă ștergeți sau actualizați înregistrări, acțiunea specificată va fi întreprinsă pentru a vă asigura integritatea datelor.
- Efectuați operația de restricționare pentru a respinge operația de ștergere sau actualizare pentru tabelul părinte.
- Datele sunt organizate într-o succesiune de indexuri grupate ori de câte ori organizați fizic tabelul SGBD.
De ce să folosiți cheia străină?
Iată motivele importante ale utilizării cheii străine:
- Cheile străine vă ajută să migrați entități utilizând o cheie primară din tabelul părinte.
- O cheie străină vă permite să legați două sau mai multe tabele împreună.
- Aceasta face ca datele bazei de date să fie consistente.
- O cheie străină poate fi utilizată pentru a potrivi o coloană sau o combinație de coloane cu cheia primară dintr-un tabel părinte.
- Constrângerea cheii străine SQL este utilizată pentru a vă asigura că integritatea referențială a părintelui de date se potrivește cu valorile din tabelul copil.
Exemplu de cheie primară
Sintaxă:
Mai jos este sintaxa cheii principale:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Aici,
- Table_Name este numele tabelului pe care trebuie să îl creați.
- Column_Name este numele coloanei care are cheia principală.
Exemplu:
StudID | Rola numărul | Nume | Numele de familie | |
---|---|---|---|---|
1 | 11 | Tom | Preț | Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza. |
2 | 12 | Nick | Wright | Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza. |
3 | 13 | Dana | Natan | Această adresă de e-mail este protejată de spamboți. Aveți nevoie de JavaScript activat pentru ao vizualiza. |
În exemplul de mai sus, am creat un tabel pentru studenți cu coloane precum StudID, Roll No, Prenume, Nume și Email. StudID este ales ca cheie primară, deoarece poate identifica în mod unic alte rânduri din tabel.
Exemplu de cheie străină
Sintaxă:
Mai jos este sintaxa cheii străine:
CREATE TABLE