TheCHECKobmedzenie v SQL vynucuje pravidlá pre hodnoty stĺpcov obmedzením údajov, ktoré je možné vkladať alebo aktualizovať. Zabezpečuje, aby hodnoty spĺňali stanovené podmienky. Ak hodnota porušuje podmienku, operácia je odmietnutá.CHECKmôžu byť pridané počas vytvárania alebo úpravy tabuľky.
Syntax obmedzenia CHECK
The CHECK obmedzenie môžu byť definované pri vytváraní tabuľky alebo pridané neskôr pomocou príkazu ALTER.
1. Pomocou CHECK s CREATE TABLE :
CREATE TABLE table_name (
column1 datatype
column2 datatype CHECK (condition)
...
);
2. Pomocou CHECK s ALTER TABLE
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition);
Kľúčové body o obmedzení CHECK:
- Integrita domény: Zabezpečuje, že hodnoty v stĺpci spĺňajú špecifikované podmienky, čím pomáha udržiavať platné údaje v databáze.
- Používa sa s CREATE alebo ALTER: Obmedzenie CHECK môže byť definované pri vytváraní tabuľky alebo pridané do existujúcej tabuľky.
- Možno kombinovať s inými obmedzeniami: Môžete použiť CHECK spolu s ďalšími obmedzeniami, ako napr PRIMÁRNY KĽÚČ FOREIGN KEY a NOT NULL na definovanie komplexnejších pravidiel pre údaje tabuľky.
- Obmedzenia na úrovni riadkov: Na rozdiel od obmedzení na úrovni stĺpcov, ktoré ovplyvňujú jednotlivé stĺpce, obmedzenie CHECK sa môže v prípade potreby použiť na viacero stĺpcov naraz.
Príklady použitia obmedzenia CHECK
Pozrime sa na niekoľko praktických príkladov, aby sme lepšie pochopili, ako funguje obmedzenie CHECK SQL .
Príklad 1: Aplikácia CHECK na jeden stĺpec
V tomto príklade vytvoríme tabuľku Zákazníci so stĺpcom Vek, ktorý musí obsahovať hodnoty medzi 18 a 120. Obmedzenie CHECK zaisťuje, že do tabuľky nebude vložený žiadny neplatný vek.
dotaz:
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
Stĺpec Age má obmedzenie CHECK, ktoré zabezpečuje, že hodnota musí byť medzi 18 a 120. Ak sa pokúsite vložiť vek mimo tohto rozsahu, databáza vyvolá chybu.
Príklad 2: CHECK Obmedzenie s viacerými stĺpcami
Obmedzenie CHECK môžeme použiť aj vo viacerých stĺpcoch. Povedzme napríklad, že máme Tabuľka zamestnancov a chceme zabezpečiť, aby plat bol kladný a vek bol vyšší alebo rovný 18.
dotaz:
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
Obmedzenie CHECK zaisťuje splnenie oboch podmienok. zamestnanec musí mať aspoň 18 rokov a plat musí byť vyšší ako 0. Tento druh obmedzenia je užitočný, keď je v pravidle zahrnutých viacero stĺpcov.
Príklad 3: Pridanie obmedzenia CHECK s ALTER TABLE
Do existujúcej tabuľky môžeme pridať obmedzenie CHECK pomocou príkazu ALTER TABLE.
dotaz:
ALTER TABLE Employee
ADD CONSTRAINT chk_salary CHECK (Salary >= 30000);
Tým sa do tabuľky Zamestnanec pridá obmedzenie CHECK s názvom chk_salary, čím sa zabezpečí, že stĺpec Plat má minimálnu hodnotu 30 000. Ak sa pokúsite vložiť alebo aktualizovať záznam s platom nižším ako 30 000, operácia zlyhá.
java je prázdnaNavrhovaný kvíz Upraviť kvíz 5 otázok
Čo zabezpečuje obmedzenie CHECK v SQL?
- A
Stĺpec prijíma hodnoty bez akýchkoľvek pravidiel
- B
Stĺpec akceptuje hodnoty iba vtedy, keď sú jedinečné
string valueof
- C
Stĺpec akceptuje hodnoty iba vtedy, keď nie je null
- D
Stĺpec akceptuje hodnoty zodpovedajúce danému pravidlu
CHECK vynúti podmienku pre hodnoty stĺpcov odmietnutím akýchkoľvek údajov, ktoré porušujú definované pravidlo.
Kedy SQL bráni INSERTu pomocou CHECK?
- A
Keď je hodnota v stĺpci duplicitná
- B
Keď hodnota porušuje definovanú podmienku
- C
Keď tabuľka nemá žiadne primárne obmedzenie
- D
Keď je hodnota NULL a stĺpec umožňuje hodnotu null
Ak sa vložené alebo aktualizované údaje prerušia, podmienka CHECK SQL zruší operáciu.
Kde je možné definovať obmedzenie CHECK?
- A
Iba v rámci syntaxe dotazu SELECT
- B
Až po deklarovaní primárneho kľúča
- C
Počas vytvárania alebo úpravy tabuľky
- D
Len pre číselné stĺpce s rozsahmi
CHECK je možné pridať pri vytváraní tabuľky alebo neskôr pomocou príkazu ALTER TABLE.
Čo sa stane vo viacstĺpcovom obmedzení CHECK?
- A
Podmienka môže odkazovať iba na jeden stĺpec
- B
Podmienka môže odkazovať na viacero stĺpcov
- C
Podmienka funguje iba na číselných stĺpcoch
nahradiť všetku javu
- D
Podmienka ignoruje hodnoty počas vkladania
CHECK môže aplikovať pravidlá pomocou dvoch alebo viacerých stĺpcov, ktoré vynucujú kombinovanú validáciu.
Ktorá vložka nespĺňa obmedzenie CHECK (Vek ≥ 18)?
- A
Hodnota veku nižšia ako pätnásť rokov
- B
Hodnota veku sa presne rovná osemnástim
- C
Hodnota veku väčšia ako dvadsaťpäť
- D
Hodnota veku je uložená ako povolená hodnota NULL
Akákoľvek hodnota pod 18 porušuje pravidlo CHECK a vedie k zlyhaniu vloženia.
Kvíz úspešne dokončený Vaše skóre: 2/5Presnosť: 0%Prihláste sa na zobrazenie vysvetlenia 1/5 1/5 < Previous Ďalej >