Introduzione ai vincoli SQL
I vincoli SQL sono condizioni che vengono applicate alle colonne di una tabella, per limitare la colonna per l'accettazione di determinati valori o per assicurarsi solo che una determinata condizione sia soddisfatta per ogni valore nella colonna. I vincoli offrono un meccanismo classico per preservare l'integrità e la correttezza dei dati all'interno della tabella.
In SQL, abbiamo molti tipi diversi di vincoli. Esaminiamo i seguenti pochi vincoli in questo articolo.
- NON NULLO
- DAI UN'OCCHIATA
- UNICO
- CHIAVE PRIMARIA
- CHIAVE ESTERA
- PREDEFINITO
Diversi tipi di vincoli SQL
1. Vincolo NOT NULL
Questo vincolo viene utilizzato quando non si desidera che un valore in quella particolare colonna sia un valore Null. Ciò significa che non è possibile inserire un valore Null per quella colonna durante l'inserimento di una nuova riga nella tabella. Ogni campo in questa colonna ha sempre un valore non Null. Un valore nullo indica che un determinato campo è stato lasciato vuoto e valori come zero o spazio vuoto non rientrano nei valori Null.
Vediamo un esempio per creare una tabella chiamata Employee, con 5 colonne, in cui le colonne empid, name e mobile non accettano i valori NULL.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
address VARCHAR(20)
);
2. CONTROLLA Vincolo
Questo vincolo limita i valori che possono essere immessi in quella particolare colonna della tabella. Per capirlo meglio, prendiamo l'esempio del superamento dei voti in un esame. L'intervallo di valori per questi segni può essere compreso tra 35 e 100. Per garantire che vengano immessi solo valori in questo intervallo, è possibile creare un vincolo CHECK.
Vediamo un esempio di come creare un vincolo CHECK sullo stipendio dei dipendenti.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
salary INT CHECK (salary >= 15000 AND salary <= 30000),
address VARCHAR(20)
);
3. Vincolo UNICO
Questo vincolo viene applicato per garantire che la particolare colonna accetti solo valori univoci e che i valori ripetitivi non siano consentiti con tale vincolo sulla colonna. Possiamo creare più vincoli UNIQUE su varie colonne in una tabella. Un vincolo UNIQUE consente l'immissione di valori NULL.
Vediamo un esempio di applicazione del vincolo UNIQUE. In questo esempio, stiamo creando una colonna chiamata mobile, nella tabella Employee, che deve essere univoca e non può accettare lo stesso numero di cellulare due volte.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
4. Vincolo CHIAVE PRIMARIA
Questo vincolo viene utilizzato per identificare una particolare colonna o un gruppo di colonne in grado di identificare in modo univoco una riga nella tabella. Con il vincolo PRIMARY KEY in atto, qualsiasi riga non può avere un valore duplicato. Non possiamo avere NULL come valore per tale colonna. Anche se sia un vincolo PRIMARY KEY che un vincolo UNIQUE impongono che i valori siano univoci, utilizziamo un vincolo UNIQUE per quando non vogliamo dichiarare la colonna come chiave primaria, ma vogliamo comunque che i valori in quella colonna siano univoci . Possiamo avere una sola colonna PRIMARY KEY o un gruppo di colonne in una tabella, ma possiamo dichiarare UNICHE tutte le singole colonne.
Esaminiamo un esempio della tabella Employee, creando ID univoci per i dipendenti, quindi possiamo dichiarare la colonna empid come PRIMARY KEY.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
5. Vincolo CHIAVE ESTERO
Questo vincolo aiuta i dati in una tabella a stabilire una relazione con i dati in un'altra tabella nel database. La chiave esterna può essere una singola colonna o un insieme di colonne. Consideriamo due tabelle, Dipendente e Dipartimenti. Supponiamo di avere una colonna chiamata raffigurata in Dipendente e una dipartita in Dipartimenti. Possiamo fare riferimento al defunto del Dipendente al defunto dei Dipartimenti se le colonne corrispondono. In questo caso, la colonna in Dipendente diventa un riferimento di chiave esterna alla colonna nella tabella Reparto, che è una chiave primaria.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20),
depicted INT FOREIGN KEY REFERENCES Department(depicted)
);
6. Vincolo di DEFAULT
Questo vincolo viene utilizzato per specificare il valore predefinito per una particolare colonna nella tabella. In questo modo se non è stato inserito alcun valore esplicito per quella colonna, il motore di database può sempre fare riferimento al valore predefinito specificato e inserirlo nella colonna. Supponiamo di aver inserito una colonna con il vincolo NOT NULL e anche con il vincolo DEFAULT, quindi non è necessario definire esplicitamente un valore predefinito. Anche senza fornire un valore predefinito, la riga specifica verrà inserita nella tabella.
Vediamo un esempio in cui abbiamo inserito il luogo nell'indirizzo come predefinito per avere il valore "India".
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20) DEFAULT 'India',
depicted INT FOREIGN KEY REFERENCES Department(depicted),
);
Conclusione
I vincoli SQL aiutano lo sviluppatore specificando restrizioni e regole per i dati che devono essere inseriti nella tabella. I vincoli possono essere applicati a livello di colonna, solo alla colonna specifica oa livello di tabella, dove i vincoli vengono applicati alla tabella completa. Questi vincoli limitano il tipo di informazioni che possono essere inserite nella tabella. Ciò garantisce la correttezza e la coerenza dei dati nella tabella. In caso di violazioni delle regole specificate dai vincoli, l'azione viene chiusa.
Articoli consigliati
Questa è una guida ai vincoli SQL. Qui discutiamo dell'introduzione ai Vincoli SQL insieme a diversi tipi di Vincoli SQL che includono Vincoli Not Null, Check, Unique, Primary, Foreign e Default. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–
- Database in SQL
- Usi di SQL
- Tabella in SQL
- Chiave esterna in SQL
- Confronto tra chiave primaria e chiave esterna