logo

SQL | ПРОВЕРКА Ограничение

TheCHECKограничението в SQL налага правила за стойностите на колоните, като ограничава данните, които могат да бъдат вмъкнати или актуализирани. Той гарантира, че стойностите отговарят на определени условия. Ако дадена стойност нарушава условието, операцията се отхвърля.CHECKмогат да се добавят по време на създаване или модифициране на таблица.

абстрактен клас

Синтаксис на ограничението CHECK

The Ограничение CHECK може да се дефинира при създаване на таблица или да се добави по-късно с помощта на израза ALTER.

1. Използване на CHECK с CREATE TABLE :

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

2. Използване на CHECK с ALTER TABLE

ALTER TABLE table_name  
ADD CONSTRAINT constraint_name CHECK (condition);

Ключови точки относно ограничението CHECK:



  • Целостта на домейна: Той гарантира, че стойностите в колона отговарят на определени условия, като по този начин спомага за поддържането на валидни данни в базата данни.
  • Използва се с CREATE или ALTER: Ограничението CHECK може да бъде дефинирано при създаване на таблица или добавено към съществуваща таблица.
  • Може да се комбинира с други ограничения: Можете да използвате CHECK заедно с други ограничения като ПЪРВИЧЕН КЛЮЧ FOREIGN KEY и NOT NULL, за да дефинирате по-изчерпателни правила за данните от таблицата.
  • Ограничения на ниво ред: За разлика от ограниченията на ниво колона, които засягат отделни колони, ограничението CHECK може да се приложи към няколко колони наведнъж, ако е необходимо.

Примери за използване на ограничението CHECK

Нека да разгледаме някои практически примери, за да разберем по-добре как работи ограничението CHECK SQL .

Пример 1: Прилагане на CHECK върху една колона

В този пример създаваме таблица Клиенти с колона Възраст, която трябва да съдържа стойности между 18 и 120. Ограничението CHECK гарантира, че в таблицата няма вмъкната невалидна възраст.

Запитване:

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

Колоната Възраст има ограничение CHECK, което гарантира, че стойността трябва да е между 18 и 120. Ако се опитате да вмъкнете възраст извън този диапазон, базата данни ще изведе грешка.

Пример 2: Ограничение CHECK с множество колони

Можем също да използваме ограничението CHECK в множество колони. Да кажем например, че имаме Таблица на служителите и искаме да гарантираме, че заплатата е положителна и възрастта е по-голяма или равна на 18.

Запитване:

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

Ограничението CHECK гарантира, че и двете условия са изпълнени. служителят трябва да е на поне 18 години и заплатата трябва да е по-голяма от 0. Този вид ограничение е полезно, когато в правилото са включени множество колони.

блокирайте реклами в youtube на android

Пример 3: Добавяне на ограничение CHECK с ALTER TABLE

Можем да добавим ограничение CHECK към съществуваща таблица с помощта на оператора ALTER TABLE.

Запитване:

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

Това добавя ограничение CHECK с име chk_salary към таблицата Employee, което гарантира, че колоната Salary има минимална стойност от 30 000. Ако се опитате да вмъкнете или актуализирате запис със заплата, по-ниска от 30 000, операцията ще се провали.

Предложен тест Редактиране на тест 5 въпроса

Какво гарантира ограничението CHECK в SQL?

  • А

    Колоната приема стойности без правила

  • б

    Колоната приема стойности само когато е уникална

  • В

    Колоната приема стойности само когато е различна от нула

    цикъл на java програма
  • г

    Колоната приема стойности, съответстващи на дадено правило

Обяснение:

CHECK налага условие за стойностите на колоните, като отхвърля всички данни, които нарушават дефинираното правило.

Кога SQL предотвратява INSERT с помощта на CHECK?

  • А

    Когато стойността се дублира в колоната

  • б

    Когато стойността нарушава дефинирано условие

  • В

    Когато таблицата няма основно ограничение

  • г

    Когато стойността е NULL и колоната позволява null

Обяснение:

Ако вмъкнати или актуализирани данни се повреди, условието CHECK SQL отменя операцията.

Къде може да се дефинира ограничение CHECK?

  • А

    Само в синтаксиса на заявката SELECT

    премахнете последния знак от низа
  • б

    Само след деклариране на първичен ключ

  • В

    По време на създаване или модифициране на таблица

  • г

    Само за числови колони с диапазони

Обяснение:

CHECK може да се добави при създаването на таблицата или по-късно с помощта на оператор ALTER TABLE.

Какво се случва при ограничение CHECK с няколко колони?

  • А

    Условието може да препраща само към една колона

  • б

    Условието може да препраща към няколко колони

  • В

    Условието работи само върху числови колони

  • г

    Условието игнорира стойностите по време на вмъкване

Обяснение:

CHECK може да прилага правила, като използва две или повече колони, налагайки комбинирано валидиране.

Коя вложка не отговаря на ограничението CHECK (Възраст ≥ 18)?

  • А

    Възрастова стойност под петнадесет години

    базова лента срещу широколентова връзка
  • б

    Стойността на възрастта е точно равна на осемнадесет

  • В

    Възрастова стойност над двадесет и пет

  • г

    Стойността за възраст се съхранява като позволена стойност NULL

Обяснение:

Всяка стойност под 18 нарушава правилото CHECK и води до неуспешно вмъкване.

SQL | ПРОВЕРКА ОграничениеТестът е завършен успешно Вашият резултат:  2/5Точност: 0%Влезте, за да видите обяснението 1/5 1/5 < Previous Следващ >