Introduzione alle chiavi SQL
Le chiavi sono campi nella tabella relazionale che creano relazioni tra altre tabelle, mantengono l'integrità, l'unicità, ecc. In questo argomento, impareremo le chiavi SQL.
In RDBMS, Keys svolge un ruolo importante. Questo partecipa alle molteplici attività nel database relazionale. L'uso di Key può rendere il recupero dei dati molto più veloce ed efficiente. Può stabilire la relazione in due o più tabelle. L'uso delle chiavi ci consente di conservare nel database dati validi e coerenti. Inoltre, veniva utilizzato per identificare in modo univoco una tupla (riga) dalla tabella. Queste tabelle possono avere più colonne.
Nella vita reale, una tabella può avere più chiavi. Tutte le colonne possono anche essere dichiarate come chiave e queste chiavi possono essere applicate dal database.
Sintassi:
CREATE TABLE `customer` (
`cust_id` int(11) NOT NULL,
`cust_name` varchar(100) NOT NULL,
`cust_address` text NOT NULL,
`cust_aadhaar_number` varchar(50) DEFAULT NULL,
`cust_pan_number` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `customer` ADD PRIMARY KEY (`cust_id`);
Nella query SQL sopra indicata, possiamo vedere come una colonna 'cust_id' è impostata come chiave primaria.
Tipo di chiavi SQL
Più tipi di chiavi sono supportati da SQL Server.
Di seguito è riportato un elenco di chiavi SQL:
- Chiave primaria
- Chiave unica
- Chiave del candidato
- Chiave alternativa
- Chiave composita
- Super chiave
- Chiave esterna
Per esempio
Tabella dei clienti | ||||
cust_id | cust_name | cust_address | cust_aadhaar_number | cust_pan_number |
100001 | Sunil Kumar | Noida | 372464389211 | ADSFS3456K |
100002 | Ankit Gupta | Gr Noida | 442289458453 | CGHAD7583L |
100003 | Suresh Yadav | Nuova Delhi | 878453444144 | NMKRT2278O |
100004 | Nilam Singh | Lucknow | 227643441123 | HFJFD3876U |
100005 | Amal Rawat | Ghaziabad | 932571156735 | CBMVA9734A |
100006 | Dura Saxena | Kanpur | 1453534363319 | TRYUC2568H |
Di seguito la tabella "Ordine" con i dati relativi corrispondenti al "cust_id" dalla tabella clienti.
Tabella degli ordini | ||
cust_id | order_month_year | Ammontare dell'ordine |
100001 | 2019 - gennaio | $ 100.000 |
100002 | 2019 - gennaio | $ 120.000 |
100003 | 2019 - gennaio | $ 100.000 |
100004 | 2019 - gennaio | $ 110.000 |
100001 | 2019 - febbraio | $ 105.000 |
100002 | 2019 - febbraio | $ 125.000 |
Ora, esamineremo uno per uno su ciascuna chiave:
1. Chiave primaria
Chiave primaria è un campo che può essere utilizzato per identificare tutte le tuple in modo univoco nel database. Solo una delle colonne può essere dichiarata come chiave primaria. Una chiave primaria non può avere un valore NULL.
Esempio: nella tabella relazionale sopra indicata, "cust_id" è la chiave primaria in quanto può identificare tutte le righe in modo univoco dalla tabella.
2. Chiave unica
Chiave univoca può essere un campo o un insieme di campi che possono essere utilizzati per identificare in modo univoco la tupla dal database. Uno o più campi possono essere dichiarati come chiave univoca. La colonna Chiave univoca può contenere anche il valore NULL. L'uso di Unique Key migliora le prestazioni del recupero dei dati. Rende la ricerca di record dal database molto più veloce ed efficiente.
Esempio: nella tabella relazionale sopra indicata, "cust_aadhaar_number", "cust_pan_number" sono la chiave univoca in quanto può consentire un valore come NULL nella colonna
3. Chiave del candidato
La chiave candidata può essere una colonna o un gruppo di colonne che possono qualificarsi per la chiave univoca. Ogni tabella ha almeno una chiave candidata. Una tabella può avere una o più chiavi candidate. Ciascuna chiave candidata può funzionare come chiave primaria se richiesto in determinati scenari.
Esempio: nella tabella relazionale sopra indicata, "cust_id", "cust_aadhaar_number", "cust_pan_number" sono la chiave candidata in quanto è in grado di identificare tutta la riga in modo univoco dalla tabella. Queste colonne qualificano anche i criteri come chiave primaria.
4. Chiave alternativa
La chiave alternativa è quella chiave che può essere utilizzata come chiave primaria, se necessario. La chiave alternativa si qualifica anche come chiave primaria ma per il momento non è la chiave primaria.
Esempio: nella tabella relazionale sopra indicata, "cust_aadhaar_number", "cust_pan_number" sono la chiave alternativa in quanto entrambe le colonne possono essere una chiave primaria ma non ancora selezionata per la chiave primaria.
5. Chiave composita
La chiave composita è anche nota come chiave composta / chiave concatenata. Chiave composita si riferisce a un gruppo di due o più colonne che possono essere utilizzate per identificare una tupla dalla tabella in modo univoco. Un gruppo di colonne in combinazione tra loro può identificare una riga in modo univoco, ma una singola colonna di quel gruppo non promette di identificare la riga in modo univoco.
Esempio: nella tabella relazionale sopra indicata, ad esempio Tabella ordine, gruppo "cust_id", "order_month_year" di queste colonne utilizzate in combinazione per identificare la tupla in modo univoco nella Tabella ordine. La singola colonna di questa tabella non è in grado di identificare la tupla in modo univoco dalla tabella Order.
6. Super chiave
Super Key è una combinazione di colonne, ogni colonna della tabella rimane dipendente da essa. Super Key potrebbe avere alcune colonne in più nel gruppo che potrebbero essere o non essere necessarie per identificare la tupla in modo univoco dalla tabella. Candidate Key è il sottoinsieme della Super Key. La chiave candidata è anche nota come super chiave minima.
Esempio: nella tabella relazionale sopra indicata, la chiave primaria, la chiave candidata e la chiave univoca sono la super chiave. Come singola colonna della tabella clienti, ad esempio 'cust_id' è sufficiente per identificare le tuple in modo univoco dalla tabella. Qualsiasi set della colonna che contiene 'cust_aadhaar_number', 'cust_pan_number' è una Super chiave.
7. Chiave esterna
Una chiave esterna è una colonna che è nota come chiave primaria nell'altra tabella, ovvero una chiave primaria in una tabella può essere definita chiave esterna in un'altra tabella. La chiave esterna può avere valori duplicati e NULL se è definita per accettare valori NULL.
Esempio: nella tabella relazionale sopra indicata, 'cust_id' è la chiave primaria nella tabella cliente ma 'cust_id' nella tabella ordine nota come 'chiave esterna'. La chiave esterna in una tabella diventa sempre la chiave primaria sull'altra tabella.
L'immagine sopra riportata mostra come ogni colonna viene mostrata come Chiave in base alla loro qualifica per identificare le tuple in modo univoco dalla tabella. La schermata riassume tutta la chiave attraverso l'uso della tabella relazionale.
Conclusione - Chiavi SQL
Chiavi SQL è uno degli attributi del database relazionale. che svolge ruoli importanti per stabilire una relazione tra due o più tabelle. Aiuta anche a eseguire le query più velocemente, ad esempio il recupero dei record dal database diventa molto più veloce utilizzando le chiavi. Le chiavi impostano anche il diverso vincolo per identificare in modo univoco le tuple dai dati di grandi dimensioni.
Articoli consigliati
Questa è una guida alle chiavi SQL. Qui discutiamo l'introduzione a Chiavi SQL e 7 tipi diversi con l'esempio appropriato in dettaglio. Puoi anche consultare il seguente articolo.
- Parola chiave distinta in SQL
- Cursori in SQL
- Chiave esterna in SQL
- Transazioni in SQL