logo

SQL | VERIFICAREA Constrângerii

TheCHECKconstrângerea în SQL impune reguli privind valorile coloanelor prin limitarea datelor care pot fi inserate sau actualizate. Se asigură că valorile îndeplinesc condițiile specificate. Dacă o valoare încalcă condiția, operațiunea este respinsă.CHECKpoate fi adăugat în timpul creării sau modificării tabelului.

Sintaxa constrângerii CHECK

The VERIFICARE constrângere poate fi definit la crearea unui tabel sau adăugat ulterior folosind instrucțiunea ALTER.

1. Folosind CHECK cu CREATE TABLE :

CREATE TABLE table_name (  
column1 datatype
column2 datatype CHECK (condition)
...
);

2. Folosind CHECK cu ALTER TABLE

ALTER TABLE table_name  
ADD CONSTRAINT constraint_name CHECK (condition);

Puncte cheie despre constrângerea CHECK:



  • Integritatea domeniului: Se asigură că valorile dintr-o coloană îndeplinesc condițiile specificate, ajutând astfel la menținerea datelor valide în baza de date.
  • Folosit cu CREATE sau ALTER: Constrângerea CHECK poate fi definită la crearea unui tabel sau adăugată la un tabel existent.
  • Poate fi combinat cu alte constrângeri: Puteți folosi CHECK împreună cu alte constrângeri precum CHEIA PRIMARĂ FOREIGN KEY și NOT NULL pentru a defini reguli mai cuprinzătoare pentru datele din tabel.
  • Constrângeri la nivel de rând: Spre deosebire de constrângerile la nivel de coloană care afectează coloanele individuale, o constrângere CHECK se poate aplica mai multor coloane simultan, dacă este necesar.

Exemple de utilizare a constrângerii CHECK

Să ne uităm la câteva exemple practice pentru a înțelege mai bine cum funcționează constrângerea CHECK SQL .

Exemplul 1: Aplicarea CHECK pe o singură coloană

În acest exemplu, creăm un tabel Clienți cu o coloană Vârstă care trebuie să conțină valori între 18 și 120. Constrângerea CHECK asigură că în tabel nu este inserată nicio vârstă nevalidă.

Interogare:

CREATE TABLE Customers (  
CustomerID INT PRIMARY KEY
Name VARCHAR(50)
Age INT CHECK (Age >= 18 AND Age <= 120)
);


-- Valid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (1 'John Doe' 25);

-- Invalid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (2 'Jane Smith' 15); -- This will fail due to the CHECK constraint

Coloana Vârstă are o constrângere CHECK care asigură că valoarea trebuie să fie între 18 și 120. Dacă încercați să introduceți o vârstă în afara acestui interval, baza de date va genera o eroare.

Exemplul 2: CHECK Constraint cu mai multe coloane

De asemenea, putem folosi constrângerea CHECK pe mai multe coloane. De exemplu, să presupunem că avem un Tabelul angajaților și dorim să ne asigurăm că salariul este pozitiv și că vârsta este mai mare sau egală cu 18 ani.

Interogare:

CREATE TABLE Employee (  
EmployeeID INT PRIMARY KEY
Name VARCHAR(50)
Age INT
Salary DECIMAL(10 2)
CHECK (Age >= 18 AND Salary > 0)
);


-- Valid insert
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (1 'Alice Johnson' 30 50000);

-- Invalid insert (age < 18)
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (2 'Bob Lee' 16 45000); -- This will fail due to the CHECK constraint

Constrângerea CHECK asigură îndeplinirea ambelor condiții. angajatul trebuie să aibă cel puțin 18 ani și salariul trebuie să fie mai mare de 0. Acest tip de constrângere este util atunci când în regulă sunt implicate mai multe coloane.

Exemplul 3: Adăugarea unei constrângeri CHECK cu ALTER TABLE

Putem adăuga o constrângere CHECK la un tabel existent folosind instrucțiunea ALTER TABLE.

care este cazul în sql

Interogare:

ALTER TABLE Employee  
ADD CONSTRAINT chk_salary CHECK (Salary >= 30000);

Acest lucru adaugă o constrângere CHECK numită chk_salary la tabelul Employee, asigurându-se că coloana Salary are o valoare minimă de 30000. Dacă încercați să introduceți sau să actualizați o înregistrare cu un salariu mai mic de 30000, operația va eșua.

Test sugerat Editați testul 5 întrebări

Ce asigură o constrângere CHECK în SQL?

  • O

    Coloana acceptă valori fără reguli

    caracter în șir java
  • B

    Coloana acceptă valori numai atunci când este unică

  • C

    Coloana acceptă valori numai atunci când nu este nulă

  • D

    Coloana acceptă valori care se potrivesc cu regula dată

Explicaţie:

CHECK impune o condiție asupra valorilor coloanei care respinge orice date care încalcă regula definită.

Când împiedică SQL un INSERT folosind CHECK?

  • O

    Când valoarea este duplicată în coloană

  • B

    Când valoarea încalcă condiția definită

  • C

    Când tabelul nu are nicio constrângere primară

  • D

    Când valoarea este NULL și coloana permite null

Explicaţie:

Dacă datele introduse sau actualizate întrerup, condiția CHECK SQL anulează operația.

Unde poate fi definită o constrângere CHECK?

  • O

    Doar în sintaxa interogării SELECT

  • B

    Numai după ce cheia primară este declarată

  • C

    În timpul creării sau modificării tabelului

  • D

    Numai pentru coloanele numerice cu intervale

Explicaţie:

CHECK poate fi adăugat în timpul creării tabelului sau ulterior folosind o instrucțiune ALTER TABLE.

Ce se întâmplă într-o constrângere CHECK cu mai multe coloane?

  • O

    Condiția poate face referire la o singură coloană

  • B

    Condiția poate face referire la mai multe coloane

    bucla de program java
  • C

    Condiția funcționează numai pe coloanele numerice

  • D

    Condiția ignoră valorile în timpul inserării

Explicaţie:

CHECK poate aplica reguli folosind două sau mai multe coloane care impun validarea combinată.

Care insert nu reușește constrângerea CHECK (Vârsta ≥ 18)?

  • O

    Valoarea vârstei mai mică de cincisprezece ani

  • B

    Valoarea vârstei exact egală cu optsprezece ani

  • C

    Valoarea vârstei mai mare de douăzeci și cinci de ani

  • D

    Valoarea de vârstă stocată ca valoare NULL permisă

Explicaţie:

Orice valoare sub 18 încalcă regula CHECK și are ca rezultat o eșec de inserare.

SQL | VERIFICAREA ConstrângeriiTest completat cu succes Scorul dvs.:  2/5Precizie: 0%Conectați-vă pentru a vizualiza explicația 1/5 1/5 < Previous Următorul >