logo

СКЛ | ЦХЕЦК Ограничење

ТхеCHECKограничење у СКЛ-у намеће правила за вредности колона ограничавајући податке који се могу уметнути или ажурирати. Обезбеђује да вредности испуњавају одређене услове. Ако вредност крши услов, операција се одбија.CHECKможе се додати током креирања или модификације табеле.

Синтакса ограничења ЦХЕЦК

Тхе ПРОВЕРИ ограничење може се дефинисати приликом креирања табеле или додати касније помоћу наредбе АЛТЕР.

1. Коришћење ЦХЕЦК са ЦРЕАТЕ ТАБЛЕ :

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

2. Коришћење ЦХЕЦК са АЛТЕР ТАБЛЕ

ALTER TABLE table_name  
ADD CONSTRAINT constraint_name CHECK (condition);

Кључне тачке у вези са ограничењем ЦХЕЦК:



  • Интегритет домена: Обезбеђује да вредности у колони испуњавају одређене услове и на тај начин помаже у одржавању валидних података у бази података.
  • Користи се са ЦРЕАТЕ или АЛТЕР: Ограничење ЦХЕЦК се може дефинисати приликом креирања табеле или додати постојећој табели.
  • Може се комбиновати са другим ограничењима: Можете користити ЦХЕЦК заједно са другим ограничењима као што су ПРИМАРИ КЕИ СТРАНИ КЉУЧ и НОТ НУЛЛ да бисте дефинисали свеобухватнија правила за податке табеле.
  • Ограничења на нивоу реда: За разлику од ограничења на нивоу колоне која утичу на појединачне колоне, ограничење ЦХЕЦК се може применити на више колона одједном ако је потребно.

Примери коришћења ограничења ЦХЕЦК

Погледајмо неколико практичних примера да бисмо боље разумели како функционише ограничење ЦХЕЦК СКЛ .

Пример 1: Примена ЦХЕЦК-а на једну колону

У овом примеру креирамо табелу Купци са колоном Аге која мора да садржи вредности између 18 и 120. Ограничење ЦХЕЦК обезбеђује да се у табелу не убацује неважећа старост.

упит:

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

Колона Старост има ограничење ЦХЕЦК које осигурава да вредност мора бити између 18 и 120. Ако покушате да унесете старосну доб изван овог опсега, база података ће приказати грешку.

Пример 2: ПРОВЕРИТЕ Ограничење са више колона

Такође можемо да користимо ограничење ЦХЕЦК у више колона. На пример, рецимо да имамо Табела запослених и желимо да осигурамо да је плата позитивна и да је старост већа или једнака 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

Ограничење ЦХЕЦК осигурава да су оба услова задовољена. запослени мора да има најмање 18 година и плата мора бити већа од 0. Ова врста ограничења је корисна када је више колона укључено у правило.

Пример 3: Додавање ограничења ЦХЕЦК помоћу АЛТЕР ТАБЛЕ

Можемо додати ограничење ЦХЕЦК постојећој табели помоћу наредбе АЛТЕР ТАБЛЕ.

упит:

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

Ово додаје ограничење ЦХЕЦК под називом цхк_салари у табелу Емплоиее осигуравајући да колона Плата има минималну вредност од 30000. Ако покушате да уметнете или ажурирате запис са платом нижом од 30000, операција неће успети.

Предложени квиз Уреди квиз 5 питања

Шта ограничење ЦХЕЦК обезбеђује у СКЛ-у?

  • А

    Колона прихвата вредности без икаквих правила

  • Б

    Колона прихвата вредности само када је јединствена

  • Ц

    Колона прихвата вредности само када нису нулл

  • Д

    Колона прихвата вредности које одговарају датом правилу

Објашњење:

ЦХЕЦК намеће услов за вредности колона одбијајући све податке који крше дефинисано правило.

Када СКЛ спречава ИНСЕРТ помоћу ЦХЕЦК?

  • А

    Када је вредност дуплирана у колони

  • Б

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

  • Ц

    Када табела нема примарно ограничење

  • Д

    Када је вредност НУЛЛ и колона дозвољава нулл

Објашњење:

Ако се уметнути или ажурирани подаци покваре, услов ЦХЕЦК СКЛ отказује операцију.

Где се може дефинисати ограничење ЦХЕЦК?

  • А

    Само унутар СЕЛЕЦТ синтаксе упита

  • Б

    Тек након што је примарни кључ декларисан

  • Ц

    Током креирања или модификације табеле

    спајање сорти
  • Д

    Само за нумеричке колоне са опсезима

Објашњење:

ЦХЕЦК се може додати током креирања табеле или касније помоћу наредбе АЛТЕР ТАБЛЕ.

Шта се дешава у ограничењу ЦХЕЦК у више колона?

  • А

    Услов може референцирати само једну колону

  • Б

    Услов може референцирати више колона

  • Ц

    Услов ради само на нумеричким колонама

  • Д

    Услов игнорише вредности током уметања

Објашњење:

ЦХЕЦК може применити правила користећи две или више колона које намећу комбиновану проверу ваљаности.

Који уметак не испуњава ограничење ЦХЕЦК (старост ≥ 18)?

  • А

    Старосна вредност нижа од петнаест година

  • Б

    Вредност узраста је тачно једнака осамнаест

  • Ц

    Старост већа од двадесет пет

  • Д

    Дозвољена вредност узраста је сачувана као вредност НУЛЛ

Објашњење:

Свака вредност испод 18 крши правило ЦХЕЦК и доводи до неуспешног уметања.

СКЛ | ЦХЕЦК ОграничењеКвиз је успешно завршен Ваш резултат:  2/5тачност: 0%Пријавите се да бисте видели објашњење 1/5 1/5 < Previous Следећи >