Introduzione ai vincoli di SQL Server

I vincoli sono regole e regolamenti che si applicano su una colonna o una tabella da cui non è possibile inserire dati indesiderati nella tabella. È possibile specificare il limite del tipo di dati che può essere archiviato utilizzando i vincoli in una determinata colonna di una tabella. Ora vedremo i vincoli del server SQL in dettaglio.

Come specificare i vincoli?

È possibile definire i vincoli al momento dello sviluppo della tabella utilizzando l'istruzione create table. Dopo aver creato una tabella, possiamo anche specificare i vincoli usando l'istruzione ALTER TABLE.

Sintassi

Crea una tabella usando questa sintassi

Create TABLE Information_ table
(
Column1 data_type(Size) Constraints_name,
Column2 data_type(Size) Constraints_name,
Column3 data_type(Size) Constraints_name,
);

  • Information_table: nome della tabella che deve essere creata.
  • Tipo_data: tipo di dati che può essere memorizzato nel campo.
  • Constraints_Name: indica il nome dei Vincoli. Pertanto l'esempio NON è NULL, UNICO, PRIMARIO, ecc.

Vincoli in SQL

Alcuni vincoli in SQL sono i seguenti:

1. NON NULL

Questi vincoli NOT NULL indicano che non è possibile memorizzare il valore null nella colonna. Ciò significa che non possiamo più archiviare null in questa particolare colonna se una colonna è specificata come NOT NULL. Non ti sarà permesso di inserire una nuova riga nella tabella senza specificare alcun valore in questo campo.

Esempio

Stiamo creando un college nome tabella con il nome ID campo ed e-mail come NOT NULL. Pertanto, senza specificare alcun valore in questo campo, non sarà consentito inserire una nuova riga nella tabella.

Sintassi

Create Table College
(
ID name (10) NOT NULL,
Email (15) NOT NULL,
ADDRESS varchar(50)
);

2. UNICO

Questa limitazione UNICA aiuterà a identificare ogni riga nella tabella univoca. Ad esempio Colonna singolare, Tutte le righe devono avere un valore diverso. In una tabella, possiamo avere più di una colonna UNICA. SQL utilizza un vincolo speciale per verificare se la sottoquery ha tuple duplicate nel risultato.

Punti da ricordare

  1. Valuta una sottoquery vuota su true.
  2. Restituisce vero se ci sono due doppie righe con almeno un attributo come NULL nella sottoquery.

Sintassi

Create Table College
(
ID int (6 ) NOT NULL UNIQUE,
NAME varchar(15),
ADDRESS Varchar(50),
);

3. CHIAVE PRIMARIA

La chiave primaria viene utilizzata per identificare le righe univoche dalla tabella. Se la tabella contiene la chiave di principio come campo, quel campo non può contenere valori null e poiché la chiave primaria identifica ciascuna riga in modo univoco, tutte le righe devono contenere valori univoci. Quindi possiamo dire in altre parole che questa è una combinazione di limitazioni NOT NULL e UNIQUE. Di seguito verrà creata una tabella denominata Studente e l'ID campo viene specificato come chiave primaria

Sintassi

Create Table College
(
ID INT(8) NOT NULL UNIQUE,
Address varchar(50),
Email Varchar(20),
Primary Key (ID)
);

4. CHIAVE ESTERA

Una chiave esterna (FK) è una combinazione di colonne o colonne utilizzata in due tabelle per stabilire e applicare una relazione dati. Ecco un diagramma di esempio che mostra la relazione della tabella dipendente-dipartimento. Se lo osservi attentamente, noterai che la colonna INT dept_id della tabella dei dipendenti corrisponde alla colonna chiave primaria della tabella dei dipartimenti. Pertanto, la colonna ID reparto della tabella dei dipendenti è la chiave esterna della tabella dei dipartimenti.

In MySQL, quando si crea una tabella mostrata di seguito, è possibile creare una chiave esterna impostando una restrizione CHIAVE ESTERA. La seguente istruzione imposta una chiave esterna nella colonna College della tabella dei dipendenti che fa riferimento alla colonna ID College della tabella dei dipartimenti.

Sintassi

Create table College (
Emp_id Int NOT NULL PRIMARY KEY,
emp _Name VArchar(20) NOT NULL,
hire_DATE NOT NULL,
salary INT,
Dept_ID INT,
Foreign Key (Dept_id)References Departments (dept_Id)
);

5. CONTROLLARE LE VINCOLI

Utilizzando il limite CHECK, possiamo specificare una condizione di campo che deve essere soddisfatta quando si inseriscono valori per questo campo. Ad esempio, la query seguente crea una tabella Student e specifica la condizione del campo AGE come (AGE> = 18). In altre parole, all'utente non è consentito inserire alcun record nelle tabelle AGE <18.

Sintassi

Create table dogs(
ID INT NOT NULL,
Name VARCHAR (25) NOT NULL,
Breed Name Varchar (30) NOT NULL,
AGE OF BREED INT,
GENDER VARCHAR(9),
PRIMARY KEY (ID),
Check (Gender in ('male', 'female', 'UNKNOW'))
);

NOTA: il vincolo di controllo nel comando SQL sopra riportato limita GENDER a appartenere solo alle categorie specificate. Se viene aggiunta una nuova tupla o una tupla esistente nel legame viene aggiornata con un GENERE che non appartiene a nessuna delle tre categorie menzionate, verrà interrotto l'aggiornamento corrispondente del database.

Conclusione

Pertanto, abbiamo appreso i vari vincoli in SQL in questo tutorial su Vincolo SQL. Innanzitutto, abbiamo visto una breve introduzione al vincolo SQL. Quindi passiamo ai tipi di vincolo SQL. Abbiamo anche discusso di chiave esterna SQL, chiave primaria SQL. Abbiamo anche imparato il vincolo di trascinamento di SQL Server e il vincolo di integrità in SQL Server.

Articoli consigliati

Questa è stata una guida ai vincoli del server SQL. Qui abbiamo discusso su come specificare i vincoli, i tipi di vincoli con la loro definizione specifica ed esempi rispettivamente. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Introduzione alle funzioni di stringa T-SQL
  2. Che cos'è SQL Injection?
  3. Che cos'è SSRS? | Rapporti | Esercitazioni
  4. Che cos'è la procedura in SQL?
  5. Tipi di join in SQL Server
  6. Diverse operazioni relative alle tuple
  7. I 6 migliori tipi di join in MySQL con esempi