Úvod do obmedzení SQL
Obmedzenia SQL sú podmienky, ktoré sa uplatňujú na stĺpce tabuľky, obmedzujú stĺpec na prijímanie určitých hodnôt alebo len zabezpečujú splnenie určitých podmienok pre každú hodnotu v stĺpci. Obmedzenia ponúkajú klasický mechanizmus na zachovanie integrity a správnosti údajov v tabuľke.
V SQL máme veľa rôznych obmedzení. Pozrime sa na niekoľko nasledujúcich obmedzení v tomto článku.
- NIE JE NULL
- KONTROLA
- UNIKÁTNE
- PRIMÁRNY KĽÚČ
- CUDZÍ KĽÚČ
- DEFAULT
Rôzne druhy obmedzení SQL
1. NIE NULL Obmedzenie
Toto obmedzenie sa používa, ak nechcete, aby žiadna hodnota v danom stĺpci bola hodnotou Null. To znamená, že pri vkladaní nového riadku do tabuľky nemôžeme do tohto stĺpca vložiť hodnotu Null. Každé pole v tomto stĺpci má vždy nenulovú hodnotu. Nulová hodnota znamená, že konkrétne pole bolo ponechané prázdne a hodnoty ako nula alebo medzera nepatria pod hodnoty Null.
Pozrime sa na príklad na vytvorenie tabuľky s názvom Zamestnanec, ktorá má 5 stĺpcov, pričom stĺpce empid, name a mobile neakceptujú hodnoty NULL.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
address VARCHAR(20)
);
2. Skontrolujte obmedzenia
Toto obmedzenie obmedzuje hodnoty, ktoré je možné zadať do príslušného stĺpca tabuľky. Aby sme to lepšie pochopili, vezmime na skúške príklad zloženia známok. Rozsah hodnôt pre tieto značky môže byť iba od 35 do 100. Aby sme zabezpečili, že sa zadávajú iba hodnoty v tomto rozsahu, môžeme vytvoriť obmedzenie CHECK.
Pozrime sa na príklad vytvorenia obmedzenia kontroly platov zamestnancov.
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. UNIQUE Obmedzenie
Toto obmedzenie sa používa na zabezpečenie toho, aby konkrétny stĺpec akceptoval iba jedinečné hodnoty a opakujúce sa hodnoty nie sú povolené s takým obmedzením na stĺpci. Môžeme vytvoriť viac UNIQUE obmedzení pre rôzne stĺpce v tabuľke. Jedinečné obmedzenie umožňuje zadávať NULL hodnoty.
Pozrime sa na príklad presadzovania obmedzenia UNIQUE. V tomto príklade vytvárame stĺpec s názvom mobilný, v tabuľke Zamestnanec, ktorý má byť jedinečný a nemôže akceptovať rovnaké mobilné číslo dvakrát.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
4. PRIMÁRNE KĽÚČOVÉ obmedzenie
Toto obmedzenie sa používa na identifikáciu konkrétneho stĺpca alebo skupiny stĺpcov, ktoré môžu jedinečne identifikovať riadok v tabuľke. S obmedzením PRIMARY KEY na mieste nemôže mať žiadny riadok duplikátnu hodnotu. Nemôžeme mať NULL ako hodnotu pre takýto stĺpec. Aj keď obmedzenia PRIMARY KEY a UNIQUE obmedzujú, že hodnoty majú byť jedinečné, používame obmedzenie UNIQUE, keď nechceme deklarovať stĺpec ako primárny kľúč, ale napriek tomu chceme, aby boli hodnoty v tomto stĺpci jedinečné., V tabuľke môžeme mať iba jeden stĺpec PRIMARY KEY alebo skupinu stĺpcov, ale mnohé jednotlivé stĺpce môžeme vyhlásiť za UNIQUE.
Pozrime sa na príklad tabuľky Zamestnanec a vytvoríme jedinečné ID zamestnanca, preto môžeme stĺpec empid deklarovať ako PRIMÁRNY KĽÚČ.
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. ZAHRANIČNÉ KĽÚČOVÉ obmedzenie
Toto obmedzenie pomáha údajom v jednej tabuľke nadviazať vzťah s údajmi v inej tabuľke v databáze. Cudzí kľúč môže byť jeden stĺpec alebo skupina stĺpcov. Zoberme si dve tabuľky, Zamestnanec a Pracoviská. Predpokladajme, že sme stĺpec s názvom líčený v zamestnancovi a odchádzajúci v oddeleniach. Ak sa stĺpce zhodujú, môžeme odkázať odchádzaného zamestnanca na odchod z oddelení. V tomto prípade sa stĺpec Zamestnanec stane odkazom na cudzí kľúč na stĺpec v tabuľke oddelenia, ktorý je primárnym kľúčom.
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. VÝCHOZÍ OBMEDZENIE
Toto obmedzenie sa používa na zadanie predvolenej hodnoty pre konkrétny stĺpec v tabuľke. Týmto spôsobom, ak pre tento stĺpec nie je explicitne vložená žiadna hodnota, databázový stroj môže vždy odkazovať na zadanú predvolenú hodnotu a vložiť ju do stĺpca. Predpokladajme, že sme vložili stĺpec s obmedzením NOT NULL a tiež s obmedzením DEFAULT, potom nemusíme explicitne definovať predvolenú hodnotu. Aj bez uvedenia predvolenej hodnoty sa konkrétny riadok vloží do tabuľky.
Pozrime sa na príklad, kde sme ako predvolené miesto zadali miesto v adrese, aby sme mali hodnotu „India“.
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),
);
záver
Obmedzenia SQL pomáhajú vývojárovi určením obmedzení a pravidiel pre údaje, ktoré sa majú vložiť do tabuľky. Obmedzenia sa dajú uplatniť na úrovni stĺpca, len na konkrétny stĺpec alebo na úrovni tabuľky, kde sa obmedzenia vzťahujú na celú tabuľku. Tieto obmedzenia obmedzujú druh informácií, ktoré sa dajú vložiť do tabuľky. To zaručuje správnosť a konzistentnosť údajov v tabuľke. V prípade akéhokoľvek porušenia pravidiel určených obmedzeniami sa akcia ukončí.
Odporúčané články
Toto je sprievodca obmedzeniami SQL. Tu diskutujeme o úprave obmedzení SQL spolu s rôznymi druhmi obmedzení SQL, ktoré zahŕňajú obmedzenia typu Null, Check, Unique, Primary, Foreign a Default. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Databáza v SQL
- Použitie SQL
- Tabuľka v SQL
- Cudzí kľúč v SQL
- Porovnanie primárneho kľúča s cudzím kľúčom