Riepilogo: in questo tutorial imparerai come utilizzare il vincolo PRIMARY KEY
di SQL Server per creare una chiave primaria per una tabella .
Introduzione al vincolo PRIMARY KEY di SQL Server
Una chiave primaria è una colonna o un gruppo di colonne che identifica in modo univoco ogni riga di una tabella. Puoi creare una chiave primaria per una tabella utilizzando il vincolo PRIMARY KEY
.
Se la chiave primaria è costituita da una sola colonna, puoi definire luso di PRIMARY KEY
vincolo come vincolo di colonna:
Code language: SQL (Structured Query Language) (sql)
Nel caso in cui la chiave primaria abbia due o più colonne, è necessario utilizzare il PRIMARY KEY
vincolo come vincolo di tabella:
Ogni tabella può contenere solo una chiave primaria. Tutte le colonne che partecipano alla chiave primaria devono essere definite come NOT NULL
. SQL Server imposta automaticamente il vincolo NOT NULL
per tutte le colonne della chiave primaria se il vincolo NOT NULL
non è specificato per queste colonne.
SQL Server crea automaticamente anche un indice cluster univoco (o un indice non cluster se specificato come tale) quando si crea una chiave primaria.
Esempi di vincoli PRIMARY KEY di SQL Server
Lesempio seguente crea una tabella con una chiave primaria costituita da una colonna:
In questa sales.activities
tabella, activity_id
colonna è la colonna della chiave primaria. Significa che la colonna activity_id
contiene valori univoci.
La proprietà IDENTITY
viene utilizzata per activity_id
per generare automaticamente valori interi univoci.
La seguente istruzione crea una nuova tabella denominata sales.participants
la cui chiave primaria è composta da due colonne:
In questo esempio, i valori nella colonna activity_id
o customer_id
possono essere duplicati, ma ogni combinazione di valori da entrambe le colonne deve essere univoco.
In genere, una tabella ha sempre una chiave primaria definita al momento della creazione. Tuttavia, a volte, una tabella esistente potrebbe non avere una chiave primaria definita. In questo caso, puoi aggiungere una chiave primaria alla tabella utilizzando listruzione ALTER TABLE
. Considera il seguente esempio:
La seguente istruzione crea una tabella senza una chiave primaria:
Per rendere la colonna event_id
come chiave primaria , utilizzi la seguente istruzione ALTER TABLE
:
Code language: SQL (Structured Query Language) (sql)
Tieni presente che se sales.events
la tabella contiene già dati, prima di promuovere la colonna event_id
come chiave primaria, devi assicurarti che i valori in event_id
sono unici.
In questo tutorial, hai imparato a utilizzare il vincolo PRIMARY KEY
di SQL Server per creare una chiave primaria per una tabella.