Sommario:
Definizione - Cosa significa Chiave composita?
Una chiave composita, nel contesto di database relazionali, è una combinazione di due o più colonne in una tabella che può essere utilizzata per identificare in modo univoco ogni riga nella tabella. L'unicità è garantita solo quando le colonne sono combinate; se prese singolarmente, le colonne non garantiscono l'unicità.
Techopedia spiega la chiave composita
Tutte le colonne che possono garantire l'univocità sono chiamate chiavi candidate; tuttavia una chiave composita è un tipo speciale di chiave candidata che è formata solo da una combinazione di due o più colonne. A volte la chiave candidata è solo una singola colonna, a volte è formata unendo più colonne.
Considera un esempio di una certa tabella nel database di una banca commerciale. Questa tabella viene utilizzata per archiviare i registri dei conti bancari delle persone fisiche. Supponendo che la tabella abbia colonne separate per il tipo di account (C per controllo, S per risparmio e così via), seguite da un'altra colonna per l'anno e il mese di creazione dell'account e un'altra colonna per un numero progressivo entro quel mese, è ovvio che una di queste colonne da sola non è in grado di identificare un account - si può dedurre che ci sarebbero diverse C nella colonna "Tipo di account", ci sarebbero diverse voci per maggio 2008 nella colonna "Data di creazione" e presto. Tuttavia, se tutte e tre le colonne vengono combinate, viene prodotto un record univoco per ogni account. Un ipotetico numero di conto in questo esempio sarebbe "C 200807 001" per il primo account creato nel luglio 2008, che è un conto corrente. Un altro è "S 201003 004" per il quarto conto di risparmio creato nel marzo 2010. Questa è una chiave composita, ovvero una chiave candidata che garantisce l'univocità solo quando due o più colonne sono unite insieme.
Una chiave composita può essere definita come chiave primaria. Questo viene fatto usando le istruzioni SQL al momento della creazione della tabella. Significa che i dati nell'intera tabella sono definiti e indicizzati sull'insieme di colonne definite come chiave primaria.