I database dipendono dalle chiavi per archiviare, ordinare e confrontare o creare relazioni tra i record. Se sei stato in giro per i database per un po', probabilmente hai sentito parlare di diversi tipi di chiavi: chiavi primarie, chiavi candidate e chiavi esterne.
Quando crei una nuova tabella di database, ti viene chiesto di selezionare una chiave primaria che identificherà in modo univoco ogni record memorizzato in quella tabella.
Perché una chiave primaria è importante
La selezione di una chiave primaria è una delle decisioni più critiche che prenderai nella progettazione di un nuovo database. Il vincolo più importante è assicurarsi che la chiave selezionata sia univoca. Se è possibile che due record (passato, presente o futuro) condividano lo stesso valore per un attributo, è una scelta sbagliata per una chiave primaria.
Un altro aspetto importante di una chiave primaria è il suo utilizzo da parte di altre tabelle che si collegano ad essa in un database relazionale. In questo aspetto, una chiave primaria funge da destinazione di un puntatore. A causa di queste interdipendenze, una chiave primaria deve esistere quando viene creato un record e non può mai cambiare.
Scelte sbagliate per le chiavi primarie
Quella che alcune persone potrebbero considerare una scelta ovvia per una chiave primaria potrebbe invece essere una scelta sbagliata. Ecco alcuni esempi:
- I codici postali non sono buone chiavi primarie per una tabella di città. Se stai creando una semplice tabella di ricerca di città, il codice postale sembra essere una chiave primaria logica. Tuttavia, dopo ulteriori indagini, potresti renderti conto che più di una città condivide un codice postale. Ad esempio, le città di Neptune, Neptune City, Tinton Falls e Wall Township nel New Jersey condividono tutte il codice postale 07753.
- I numeri di previdenza sociale non sono buone chiavi primarie per molte ragioni. La maggior parte delle persone considera il proprio SSN privato e non lo desidera chiaramente visibile agli utenti del database. Inoltre, alcune persone non hanno SSN.
- Anche gli indirizzi email sono una scelta sbagliata per una chiave primaria. Sebbene siano unici, potrebbero cambiare nel tempo. Inoltre, non tutti hanno un indirizzo email.
Cosa rende una buona chiave primaria
Allora, come scegli una chiave primaria efficace? Nella maggior parte dei casi, rivolgiti al tuo sistema di database per ricevere assistenza.
Una procedura consigliata nella progettazione di database consiste nell'utilizzare una chiave primaria generata internamente. Il tuo sistema di gestione del database può normalmente generare un identificatore univoco che non ha significato al di fuori del sistema del database.
Ad esempio, potresti utilizzare il tipo di dati Numero automatico di Microsoft Access per creare un campo chiamato ID record. Il tipo di dati Contatore incrementa automaticamente il campo ogni volta che crei un record. Sebbene il numero stesso non abbia significato, fornisce un modo affidabile per fare riferimento a un singolo record nelle query.
Una buona chiave primaria è generalmente breve, utilizza numeri ed evita caratteri speciali o un mix di caratteri maiuscoli e minuscoli per facilitare ricerche e confronti rapidi nel database.