Chiave primaria
Una chiave primaria è un valore identificativo univoco per un record di database in una tabella. In genere è un numero, spesso generato in sequenza quando il database crea nuovi record, ma è possibile usare come chiavi primarie anche stringhe di testo, se è garantito che siano univoche. I database relazionali usano le chiavi primarie per creare collegamenti tra record in tabelle separate.
Quando si crea una tabella, sono disponibili diverse opzioni per assegnare le chiavi primarie. Innanzitutto, è possibile scegliere una chiave primaria tra le informazioni già presenti nel record, come il numero di telefono di un cliente o il Social Security Number; questo tipo di chiave primaria è chiamato "chiave naturale". Una "chiave surrogata", invece, è un valore generato esclusivamente per fungere da chiave primaria. Un DBMS può generare una chiave surrogata in sequenza mentre aggiunge nuovi record, oppure generare un numero casuale o un UUID. Se un DMBS deve eliminare un record, in genere conserva la chiave primaria di quel record e non la riutilizza.
I database relazionali usano le chiavi primarie per garantire che ogni record di una tabella sia univoco e per creare collegamenti tra record di tabelle diverse. Ad esempio, un database dei clienti potrebbe includere una tabella Customer Identification con nomi e indirizzi email, e un'altra tabella Shipping Address con indirizzi stradali. La tabella Customer Identification potrebbe usare un UUID generato nel campo Customer ID come chiave primaria, consentendo ai clienti di aggiornare il proprio nome senza modificare il modo in cui il DBMS fa riferimento a quel record. La tabella Shipping Address, invece, salva ogni indirizzo di spedizione nel sistema come un record separato con un numero ID sequenziale che aumenta con ogni nuovo indirizzo. In questo modo, un record nella tabella Customer Identification può associare ogni record cliente a uno o più indirizzi, usando la chiave primaria della tabella degli indirizzi come chiave esterna all'interno di un record cliente.
Metti alla prova le tue conoscenze