Chiavi DBMS: tipi Candidate, Primarie, Super e Estere

⚡ Riepilogo intelligente

Nei DBMS, le chiavi sono attributi che identificano in modo univoco una riga in una tabella e stabiliscono relazioni tra le tabelle. Otto tipi di chiavi, dalla chiave primaria e superchiave alla chiave esterna e surrogata, garantiscono l'identità e l'integrità all'interno di un database relazionale.

  • Scopo principale: Una chiave identifica una riga univoca e collega le tabelle correlate in modo che i dati rimangano coerenti.
  • 🔝 Super Legenda: Qualsiasi insieme di attributi che identifica le righe, eventualmente con attributi aggiuntivi oltre al minimo.
  • Chiave primaria: La chiave candidata scelta, mai nulla e mai duplicata, una per tabella.
  • 🎯 Chiave del candidato: Una superchiave minimale senza attributi ridondanti; la chiave primaria viene scelta da queste.
  • 🔁 Chiave alternativa: Qualsiasi chiave candidata non selezionata come chiave primaria.
  • 🔗 Chiave esterna: Una colonna che fa riferimento alla chiave primaria di un'altra tabella per garantire l'integrità referenziale.
  • 🧩 Composito e surrogato: Le chiavi composite combinano colonne per garantire l'univocità; una chiave surrogata è una chiave sostitutiva generata automaticamente.

Chiavi DBMS Candidate Super Primary

Che cosa sono le chiavi in ​​un DBMS?

Chiavi nel DBMS Le chiavi sono attributi o un insieme di attributi che aiutano a identificare una riga (tupla) in una relazione (tabella). Permettono di individuare la relazione tra due tabelle. Le chiavi aiutano a identificare in modo univoco una riga in una tabella tramite una combinazione di una o più colonne e sono utili anche per trovare un record univoco nella tabella.

Esempio:

ID Dipendente Nome Cognome
11 Andrea Johnson
22 Tom Legno (MDF)
33 alex Sano

Nell'esempio precedente, l'ID dipendente è una chiave primaria perché identifica in modo univoco un record dipendente. In questa tabella, nessun altro dipendente può avere lo stesso ID dipendente.

Perché ci serve una chiave?

Ecco alcuni motivi per utilizzare una chiave in un DBMS:

  • Le chiavi consentono di identificare in modo univoco qualsiasi riga di dati all'interno di una tabella. In un'applicazione reale, una tabella potrebbe contenere migliaia di record, alcuni dei quali duplicati. Le chiavi garantiscono la possibilità di identificare in modo univoco un record della tabella, nonostante queste difficoltà.
  • Consentono di stabilire e identificare le relazioni tra le tabelle.
  • Ti aiutano a rafforzare l'identità e l'integrità nella relazione.

Tipi di chiavi nei DBMS

Nei DBMS esistono principalmente otto tipi diversi di chiavi, e ogni chiave ha una propria funzionalità:

  1. Super Key
  2. Chiave primaria
  3. Chiave del candidato
  4. Chiave alternativa
  5. chiave esterna
  6. Chiave composta
  7. Chiave composita
  8. Chiave surrogata

La tabella seguente riassume tutti e otto i punti a colpo d'occhio, prima che ciascuno venga spiegato in dettaglio.

Le In una riga Unico?
Super Key Qualsiasi set di attributi che identifica una riga, sono ammessi attributi aggiuntivi Si
Chiave del candidato Una super chiave minimale, senza attributi ridondanti Si
Chiave primaria La chiave del candidato scelto non è nulla Si
Chiave alternativa Una chiave candidata non scelta come primaria Si
chiave esterna Fa riferimento a una chiave primaria in un'altra tabella Non
Chiave composta Due o più attributi, ciascuno potenzialmente non univoco Combinato
Chiave composita Due o più colonne combinate per l'unicità Combinato
Chiave surrogata Un identificatore artificiale generato Si

Cos'è una Super Chiave?

Una superchiave è un gruppo di chiavi singole o multiple che identifica le righe in una tabella. Una superchiave può avere attributi aggiuntivi non necessari per l'identificazione univoca.

Esempio:

EmpSSN NumEmp Nome personale
9812345098 AB05 indicato
9876512345 AB06 Roslyn
199937890 AB07 James

Nell'esempio precedente, EmpSSN e EmpNum sono superchiavi.

Cos'è una chiave primaria?

CHIAVE PRIMARIA in DBMS La chiave primaria è una colonna o un gruppo di colonne all'interno di una tabella che identifica in modo univoco ogni riga della tabella stessa. La chiave primaria non può essere duplicata, ovvero lo stesso valore non può comparire più di una volta nella tabella. Una tabella non può avere più di una chiave primaria.

Regole per la definizione di una chiave primaria

  • Due righe non possono avere lo stesso valore di chiave primaria.
  • Ogni riga deve avere un valore di chiave primaria.
  • Il campo della chiave primaria non può essere nullo.
  • Il valore in una colonna di chiave primaria non può mai essere modificato o aggiornato se una chiave esterna fa riferimento a quella chiave primaria.

Esempio: Nel seguente esempio, StudID è una chiave primaria.

StudID N. rotolo Nome Cognome Email
1 11 Tom Prezzo abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Che cos'è un tasto alternativo?

CHIAVE ALTERNATIVA La chiave primaria è una colonna o un gruppo di colonne all'interno di una tabella che identifica in modo univoco ogni riga. Una tabella può avere più opzioni per la chiave primaria, ma solo una può essere impostata come tale. Tutte le chiavi che non sono la chiave primaria sono chiamate chiavi alternative.

Esempio: In questa tabella, StudID, Roll No ed Email sono qualificati per diventare chiave primaria. Tuttavia, poiché StudID è la chiave primaria, Roll No ed Email diventano chiavi alternative.

StudID N. rotolo Nome Cognome Email
1 11 Tom Prezzo abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Cos'è una chiave candidata?

CHIAVE DEL CANDIDATO Una chiave candidata è un insieme di attributi che identificano in modo univoco le tuple in una tabella. Una chiave candidata è una superchiave senza attributi ripetuti. La chiave primaria deve essere selezionata tra le chiavi candidate. Ogni tabella deve avere almeno una chiave candidata e può avere più chiavi candidate, ma solo una chiave primaria.

Proprietà di una chiave candidata:

  • Deve contenere valori univoci.
  • Una chiave candidata può avere più attributi.
  • Non deve contenere valori nulli.
  • Dovrebbe contenere i campi minimi necessari a garantire l'univocità.
  • Identifica in modo univoco ogni record in una tabella.

Esempio: nella tabella seguente, StudID, Roll No ed Email sono chiavi candidate che ci aiutano a identificare in modo univoco un record studente. La loro relazione con le chiavi primarie e superchiave è un modo comune per capire dipendenza funzionale.

StudID N. rotolo Nome Cognome Email
1 11 Tom Prezzo abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com
Chiave del candidato nel DBMS
Chiave del candidato nel DBMS

Che cos'è una chiave esterna?

CHIAVE ESTERA Una chiave esterna è una colonna che crea una relazione tra due tabelle. Lo scopo di una chiave esterna è quello di mantenere l'integrità dei dati e consentire la navigazione tra due diverse istanze di un'entità. Agisce come un riferimento incrociato tra due tabelle, poiché fa riferimento alla chiave primaria di un'altra tabella.

Esempio:

DeptCode NomeDip
001 Scienze
002 Inglese
005 computer
ID insegnante Fnome Lnome
B002 David Ammonitore
B017 Sara Joseph
B009 Mike brunton

In questo esempio, abbiamo due tabelle, Insegnante e Dipartimento, all'interno di una scuola. Allo stato attuale, non c'è modo di vedere quale insegnante lavora in quale dipartimento.

Aggiungendo la chiave esterna DipartimentoCode alla tabella Insegnante, possiamo creare una relazione tra le due tabelle.

ID insegnante DeptCode Fnome Lnome
B002 002 David Ammonitore
B017 002 Sara Joseph
B009 001 Mike brunton

Questo concetto è noto anche come integrità referenziale.

Che cos'è una chiave composta?

CHIAVE COMPOSTA Una chiave composta ha due o più attributi che consentono di identificare in modo univoco un record specifico. È possibile che ciascuna colonna non sia univoca singolarmente all'interno del database. Tuttavia, quando combinate, le colonne diventano univoche. Lo scopo della chiave composta è quello di identificare in modo univoco ogni record nella tabella.

Esempio:

Numero d'ordine Codice prodotto Ürün Adı Quantità
B005 GIAPPONE102459 Topo 5
B005 DKT321573 USB 10
B005 OMG446789 Monitor LCD 20
B004 DKT321573 USB 15
B002 OMG446789 Stampante laser 3

In questo esempio, OrderNo e ProductID non possono essere entrambi chiavi primarie, poiché nessuno dei due identifica in modo univoco un record. Tuttavia, una chiave composta da OrderNo e ProductID identifica in modo univoco ciascun record.

Cos'è una chiave composita?

CHIAVE COMPOSITA Si tratta di una combinazione di due o più colonne che identificano in modo univoco le righe di una tabella. La combinazione delle colonne garantisce l'unicità, sebbene l'unicità individuale non sia garantita. Pertanto, vengono combinate per identificare in modo univoco i record in una tabella.

La differenza tra una chiave composta e una chiave composita sta nel fatto che qualsiasi parte di una chiave composta può essere una chiave esterna, mentre una chiave composita può essere o meno parte di una chiave esterna.

Che cos'è una chiave surrogata?

CHIAVE SURROGATA Una chiave surrogata è una chiave artificiale che ha lo scopo di identificare in modo univoco ogni record. Questo tipo di chiave è unico perché viene creato quando non si dispone di una chiave primaria naturale. Le chiavi surrogate non conferiscono alcun significato ai dati nella tabella e sono generalmente numeri interi generati immediatamente prima dell'inserimento del record.

Fnome Cognome Ora di inizio Fine
Anne fabbro 09:00 18:00
Giacca Francis 08:00 17:00
Anna McLean 11:00 20:00
indicato Guglielmo 14:00 23:00

L'esempio sopra mostra gli orari dei turni di diversi dipendenti. Qui è necessaria una chiave surrogata per identificare in modo univoco ciascun dipendente. Le chiavi surrogate in SQL vengono utilizzati quando:

  • Nessuna proprietà ha il parametro di una chiave primaria.
  • La chiave primaria è troppo grande o complicata.

Differenza tra chiave primaria e chiave esterna

Di seguito viene illustrata la principale differenza tra una chiave primaria e una chiave esterna:

Chiave primaria chiave esterna
Consente di identificare in modo univoco un record nella tabella. È un campo nella tabella che costituisce la chiave primaria di un'altra tabella.
Una chiave primaria non accetta mai valori nulli. Una chiave esterna può accettare più valori null.
La chiave primaria è un indice cluster e i dati nella tabella sono fisicamente organizzati secondo la sequenza dell'indice cluster. Una chiave esterna non può creare automaticamente un indice, clusterizzato o non clusterizzato. È possibile crearlo manualmente.
È possibile avere una singola chiave primaria in una tabella. Puoi avere più chiavi esterne in una tabella.

DOMANDE FREQUENTI

Ogni chiave candidata può identificare in modo univoco una riga. La chiave primaria è la chiave candidata selezionata dal progettista; le restanti chiavi candidate diventano chiavi alternative.

Entrambi i tipi di chiave combinano le colonne per garantire l'univocità. In una chiave composta, ogni colonna è di per sé una chiave esterna, mentre una chiave composta unisce semplicemente due o più attributi che non devono necessariamente essere chiavi esterne.

Utilizza una chiave surrogata quando nessun attributo naturale è univoco in modo affidabile, oppure quando la chiave naturale è di grandi dimensioni o può cambiare. Un numero intero generato rimane stabile e semplifica le join.

Sì. Analizzando le colonne in base a unicità, tasso di valori nulli e stabilità, l'IA può selezionare le chiavi candidate e suggerire una chiave primaria o una chiave surrogata, lasciando la scelta finale al progettista.

Sì. A differenza di una chiave primaria, una chiave esterna può contenere valori nulli, che rappresentano una riga non ancora correlata ad alcun record padre. Una chiave esterna non nulla deve corrispondere a una chiave primaria esistente.

Riassumi questo post con: