Uvod u SQL ograničenja
SQL ograničenja su uvjeti koji se primjenjuju na stupce tablice, kako bi ograničili stupac za prihvaćanje određenih vrijednosti ili samo osigurali da je ispunjen određeni uvjet za svaku vrijednost u stupcu. Ograničenja nude klasični mehanizam za očuvanje integriteta i ispravnosti podataka unutar tablice.
U SQL-u imamo mnogo različitih vrsta ograničenja. Pogledajmo sljedećih nekoliko ograničenja u ovom članku.
- NIJE NULL
- ČEK
- JEDINSTVENA
- OSNOVNI KLJUČ
- STRANI KLJUC
- ZADANO
Različite vrste SQL ograničenja
1. NIJE NULL ograničenje
Ovo ograničenje koristi se kada ne želite da bilo koja vrijednost u tom određenom stupcu bude Null vrijednost. To znači da ne možemo umetnuti Null vrijednost za taj stupac tijekom umetanja novog retka u tablicu. Svako polje u ovom stupcu uvijek ima ne-null vrijednost. Nulta vrijednost znači da je određeno polje ostavljeno prazno, a vrijednosti kao što su nula ili prazan prostor ne dolaze pod Nulte vrijednosti.
Pogledajmo primjer za izradu tablice pod nazivom Employee, koja sadrži 5 stupaca, gdje empid, name i mobilni stupci ne prihvaćaju NULL vrijednosti.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
address VARCHAR(20)
);
2. PROVJERITE Ograničenje
Ovo ograničenje ograničava vrijednosti koje se mogu unijeti u određeni stupac tablice. Da bismo to bolje razumjeli, uzmimo za primjer polaganje bodova na ispitu. Raspon vrijednosti za ove oznake može biti samo od 35 do 100. Da bismo osigurali da su unesene samo vrijednosti u ovom rasponu, možemo stvoriti ograničenje PROVJERI.
Pogledajmo primjer stvaranja ograničenja PROVJERA plaće zaposlenika.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
salary INT CHECK (salary >= 15000 AND salary <= 30000),
address VARCHAR(20)
);
3. JEDINSTVENO ograničenje
Ovo ograničenje primjenjuje se za osiguravanje da određeni stupac prihvaća samo jedinstvene vrijednosti, a ponavljajuće vrijednosti nisu dopuštene s takvim ograničenjem na stupcu. Na raznim stupcima u tablici možemo stvoriti više UNIQUE ograničenja. UNIQUE ograničenje omogućava unošenje NULL vrijednosti.
Pogledajmo primjer provođenja UNIQUE ograničenja. U ovom primjeru u tablici Zaposlenik stvaramo stupac zvan mobilni, koji treba biti jedinstven i ne može dva puta prihvatiti isti broj mobilnog telefona.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
4. PRIMARNO KLJUČNO ograničenje
Ovo ograničenje koristi se za identificiranje određenog stupca ili grupe stupaca koji mogu jedinstveno identificirati red u tablici. S ograničenjem PRIMARNI KLJUČ, bilo koji redak ne može imati dvostruku vrijednost. Ne možemo imati NULL kao vrijednost takvog stupca. Iako i ograničenje PRIMARNI KLJUČ i ograničenje UNIQUE nameću da vrijednosti trebaju biti jedinstvene, koristimo UNIQUE ograničenje kada ne želimo stupac proglasiti primarnim ključem, ali i dalje želimo da vrijednosti u tom stupcu budu jedinstvene, U tablici možemo imati samo jedan stupac PRIMARNI KLJUČ ili grupu stupaca, ali mnoge pojedinačne stupce možemo proglasiti JEDINSTVENIM.
Pogledajmo primjer tablice Zaposlenika, stvarajući jedinstvene identifikacijske brojeve zaposlenika, pa možemo praznu kolonu proglasiti PRIMARNIM KLJUČEM.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
5. OGRANIKA STRANOG KLJUČA
Ovo ograničenje pomaže podacima u jednoj tablici da uspostave odnos s podacima u drugoj tablici u bazi podataka. Strani ključ može biti jedan stupac ili skup stupaca. Razmotrimo dvije tablice, zaposlenike i odjela. Pretpostavimo da imamo stupac zvan uposlenika i odstupljen u odjelima. Možemo uputiti napustenog Zaposlenika na napusteni odjela ako se stupci podudaraju. U tom slučaju stupac uposlenika postaje referenca u inozemnom ključu na stupac u tablici Odjela, a to je primarni ključ.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20),
depicted INT FOREIGN KEY REFERENCES Department(depicted)
);
6. DEFAULT ograničenje
Ovo ograničenje koristi se za određivanje zadane vrijednosti za određeni stupac u tablici. Na ovaj način, ako za taj stupac nije izričito umetnuta vrijednost, motor baze podataka uvijek se može pozivati na zadanu vrijednost navedenu i umetnuti je u stupac. Pretpostavimo da smo umetnuli stupac s ograničenjem NIJE NULL, a isto tako s ograničenjem DEFAULT, tada nam ne treba izričito definirati zadanu vrijednost. Čak i bez davanja zadane vrijednosti, određeni redak bit će umetnut u tablicu.
Pogledajmo primjer gdje smo mjesto na adresi unijeli kao zadano kako bismo imali vrijednost „Indija“.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20) DEFAULT 'India',
depicted INT FOREIGN KEY REFERENCES Department(depicted),
);
Zaključak
SQL ograničenja pomažu programeru navođenjem ograničenja i pravila za podatke koji se trebaju umetnuti u tablicu. Ograničenja se mogu primijeniti na razini stupca, samo na određeni stupac ili na razini tablice, gdje se ograničenja primjenjuju na kompletnu tablicu. Ta ograničenja ograničavaju vrstu informacija koje se mogu umetnuti u tablicu. To jamči ispravnost i dosljednost podataka u tablici. U slučaju bilo kakvih kršenja pravila određenih ograničenjima, radnja se prekida.
Preporučeni članci
Ovo je vodič za SQL ograničenja. Ovdje smo raspravljali o uvodu u SQL ograničenja, zajedno s različitim vrstama SQL ograničenja koja uključuju Nulta, Provjera, Jedinstvena, Primarna, strana i zadana ograničenja. Možete i proći kroz naše druge predložene članke da biste saznali više -
- Baza podataka u SQL-u
- Upotrebe SQL-a
- Tablica u SQL-u
- Strani ključ u SQL-u
- Usporedba primarnog i stranog ključa