СКЛ ограничења су битни елементи у дизајн релационе базе података који осигуравају интегритет тачност и поузданост података ускладиштених у бази података. Применом специфичних правила за колоне табеле, СКЛ ограничења помажу у одржавању конзистентности података спречавајући неважеће уносе података и оптимизујући перформансе упита.
У овом чланку ћемо детаљно објаснити најчешћа СКЛ ограничења дајући јасне примере и објашњавајући како да их ефикасно примените.
Шта су СКЛ ограничења?
СКЛ ограничења су правила која се примењују на колоне или табеле у а релационе базе података да се ограничи тип података који се може уметнута ажурирано или обрисано . Ова правила обезбеђују да су подаци валидни доследни и да се придржавају пословне логике или захтеви базе података . Ограничења се могу применити током креирања табеле или касније помоћу ALTER TABLE изјава. Они играју виталну улогу у одржавању квалитета и интегритета ваше базе података.
Типови СКЛ ограничења
СКЛ пружа неколико типова ограничења за управљање различитим аспектима интегритета података. Ова ограничења су од суштинског значаја за обезбеђивање да подаци испуњавају захтеве тачност доследност и валидност . Хајде да прођемо кроз сваки од њих са детаљним објашњењима и примерима.
1. НОТ НУЛЛ Ограничење
Тхе НОТ НУЛЛ ограничење осигурава да колона не може да садржи НУЛЛ вредности. Ово је посебно важно за колоне где је вредност неопходна за идентификацију записа или извођење прорачуна. Ако је колона дефинисана као НОТ НУЛЛ сваки ред мора да садржи вредност за ту колону.
Пример:
јава низ сортиран
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);
Објашњење: У горњем примеру, обаIDиNAMEколоне су дефинисане са НОТ НУЛЛ ограничење што значи да сваки ученик мора да имаIDиNAMEвредност.
2. УНИКУЕ Цонстраинт
Тхе УНИКУЕ ограничење осигурава да су све вредности у колони различите у свим редовима у табели. За разлику од ПРИМАРИ КЕИ који захтева јединственост и не дозвољава НУЛЛ-ове ограничење УНИКУЕ дозвољава НУЛЛ вредности, али и даље примењује јединственост за уносе који нису НУЛЛ.
Пример:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);
Објашњење : ЕвоIDколона мора имати јединствене вредности које обезбеђују да два ученика не могу да деле истеID. Можемо имати више од једног УНИКУЕ ограничење у табели.
3. ПРИМАРНИ КЉУЧ Ограничење
А ПРИМАРИ КЕИ ограничење је комбинација НОТ НУЛЛ и УНИКУЕ ограничења. Јединствено идентификује сваки ред у табели. Табела може имати само једну ПРИМАРИ КЕИ и не може прихватити НУЛЛ вредности. Ово се обично користи за колону која ће служити као идентификатор записа.
Пример:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);
Објашњење: У овом случају,IDколона је постављена као примарни кључ који осигурава да је ИД сваког ученика јединствен и да не може бити НУЛЛ.
4. СТРАНИ КЉУЧ Ограничење
А СТРАНИ КЉУЧ ограничење повезује колону у једној табели са примарни кључ у другој табели. Ова веза помаже у одржавању референтни интегритет обезбеђујући да вредност у страни кључ колона одговара важећем запису у референтној табели.
Табела поруџбина:
| О_ИД | ОРДЕР_НО | Ц_ИД |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
Табела купаца:
| Ц_ИД | НАМЕ | АДРЕСА |
|---|---|---|
| 1 | РАМЕСХ | ДЕЛХИ |
| 2 | СУРЕСХ | НОИДА |
| 3 | ДХАРМЕСХ | ГУРГАОН |
Као што јасно видимо да је поље Ц_ИД ин Табела наруџби је примарни кључ у табели купаца, тј. јединствено идентификује сваки ред у Купци сто. Стога је то страни кључ у табели наруџби.
Пример:
конверзија инт у стринг у јава
CREATE TABLE Orders
(
O_ID int NOT NULL
ORDER_NO int NOT NULL
C_ID int
PRIMARY KEY (O_ID)
FOREIGN KEY (C_ID) REFERENCES Customers(C_ID)
)
Објашњење: У овом примеру,C_IDколона уOrdersтабела је страни кључ који упућује наC_IDколона уCustomersсто. Ово осигурава да се само важећи ИД-ови купаца могу уметнути уOrdersсто.
5. ЦХЕЦК Ограничење
Тхе ЦХЕЦК ограничење нам омогућава да наведемо услов који подаци морају да задовоље пре него што се уметну у табелу. Ово се може користити за примену правила као што је осигурање да вредност колоне испуњава одређене критеријуме (нпр. старост мора бити већа од 18 година)
Пример:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);
Објашњење: У горњој табели је ЦХЕЦК ограничење осигурава да само ученици старији од 18 година могу бити убачени у табелу.
6. ДЕФАУЛТ Ограничење
Тхе ДЕФАУЛТ ограничење обезбеђује подразумевану вредност за колону када није наведена вредност током уметања. Ово је корисно за осигуравање да одређене колоне увек имају смислену вредност чак и ако је корисник не обезбеди
Пример:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);
Објашњење: Овде ако није предвиђена вредностAGEтоком уметања подразумевана вредност од 18 ће бити додељена аутоматски.
величине фонта у латексу
Како одредити ограничења у СКЛ-у
Ограничења се могу специфицирати током процеса креирања табеле користећи CREATE TABLE изјава. Додатно, ограничења се могу модификовати или додати постојећим табелама помоћуALTER TABLEизјава.
Синтакса за креирање ограничења:
ЦРЕАТЕ ТАБЛЕ име_табеле
(
колона 1 тип_података [име_ограничења]
цолумн2 дата_типе [цонстраинт_наме]
цолумн3 дата_типе [цонстраинт_наме]
...
);
Такође можемо додати или уклонити ограничења након креирања табеле:
Пример за додавање ограничења:
ALTER TABLE Student
ADD CONSTRAINT unique_student_id UNIQUE (ID);
Закључак
СКЛ ограничења су неопходна за одржавање интегритет података и обезбеђивање доследности у релационим базама података. Разумевање и делотворна примена ових ограничења ће помоћи у дизајнирању робусних база података без грешака. Уз помоћ полуге НОТ НУЛЛ ЈЕДИНСТВЕН ПРИМАРНИ КЉУЧ ПРОВЕРА СТРАНОГ КЉУЧА ЗАДАНО и ИНДЕКС можете осигурати да је ваша база података оптимизована за тачност и перформансе .
Креирај квиз