logo

SQL | Omejitve

Omejitve SQL so bistveni elementi v oblikovanje relacijske baze podatkov ki zagotavljajo celovitost natančnost in zanesljivost podatkov, shranjenih v bazi podatkov. Z uveljavljanjem posebnih pravil za stolpce tabele omejitve SQL pomagajo ohranjati konsistentnost podatkov, preprečujejo neveljavne vnose podatkov in optimizirajo zmogljivost poizvedbe.

V tem članku bomo podrobno razložili najpogostejše omejitve SQL z jasnimi primeri in razlago, kako jih učinkovito implementirati.

javanski niz je prazen

Kaj so omejitve SQL?

Omejitve SQL se uporabljajo pravila stolpce oz mize v a relacijska baza podatkov omejiti vrsto podatkov, ki so lahko vstavljeno posodobljeno oz izbrisano . Ta pravila zagotavljajo, da so podatki veljavni konsistentni in se držijo poslovne logike oz zahteve po bazi podatkov . Omejitve lahko uveljavite med ustvarjanjem tabele ali pozneje z uporabo ALTER TABLE izjava. Imajo ključno vlogo pri ohranjanju kakovosti in celovitosti vaše baze podatkov.



Vrste omejitev SQL 

SQL ponuja več vrst omejitev za upravljanje različnih vidikov celovitosti podatkov. Te omejitve so bistvene za zagotovitev, da podatki izpolnjujejo zahteve natančnost doslednost in veljavnost . Pojdimo skozi vsakega od njih s podrobnimi razlagami in primeri.

1. Omejitev NOT NULL

The NI NULL omejitev zagotavlja, da stolpec ne more vsebovati vrednosti NULL. To je še posebej pomembno za stolpce, kjer je vrednost bistvena za prepoznavanje zapisov ali izvajanje izračunov. Če je stolpec definiran kot NI NULL vsaka vrstica mora vsebovati vrednost za ta stolpec.

primer:

CREATE TABLE Student  
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);

Pojasnilo: V zgornjem primeru obaIDinNAMEstolpci so definirani z NI NULL omejitev, kar pomeni, da mora imeti vsak študentIDinNAMEvrednost.

2. UNIQUE omejitev

The UNIKATNO omejitev zagotavlja, da so vse vrednosti v stolpcu različne v vseh vrsticah v tabeli. Za razliko od PRIMARNI KLJUČ ki zahteva edinstvenost in ne dovoljuje vrednosti NULL, omejitev UNIQUE dovoljuje vrednosti NULL, vendar še vedno uveljavlja edinstvenost za vnose, ki niso NULL.

primer:

CREATE TABLE Student  
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);

Razlaga : Tukaj jeIDstolpec mora imeti edinstvene vrednosti, ki zagotavljajo, da dva študenta ne moreta deliti istegaID. Lahko jih imamo več UNIKATNO omejitev v tabeli.

3. Omejitev PRIMARNEGA KLJUČA  

A PRIMARNI KLJUČ omejitev je kombinacija NI NULL in UNIKATNO omejitve. Edinstveno identificira vsako vrstico v tabeli. Tabela ima lahko samo enega PRIMARNI KLJUČ in ne more sprejeti vrednosti NULL. To se običajno uporablja za stolpec, ki bo služil kot identifikator zapisov.

primer:

CREATE TABLE Student  
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);

Pojasnilo: V tem primeru jeIDje nastavljen kot primarni ključ, ki zagotavlja, da je ID vsakega študenta edinstven in ne more biti NULL.

4. Omejitev TUJEGA KLJUČA

A TUJI KLJUČ omejitev povezuje stolpec v eni tabeli z primarni ključ v drugi tabeli. Ta odnos pomaga ohranjati referenčna celovitost z zagotavljanjem, da je vrednost v tuji ključ se ujema z veljavnim zapisom v navedeni tabeli.

Tabela naročil:

O_IDNAROČILO_ŠTC_ID
122533
233253
345212
485321

Tabela strank:

C_IDIMENASLOV
1RAMESHDELHI
2SUREŠNOIDA
3DHARMESHGURGAON

Kot lahko jasno vidimo, da polje C_ID v Tabela naročil je primarni ključ v tabeli Stranke, tj. enolično identificira vsako vrstico v Stranke tabela. Zato je tuji ključ v tabeli naročil. 

primer:

indeks seznama
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)
)

Pojasnilo: V tem primeru jeC_IDstolpec vOrderstabela je tuji ključ, ki se sklicuje naC_IDstolpec vCustomerstabela. To zagotavlja, da je mogoče vstaviti samo veljavne ID-je strankOrderstabela.

5. PREVERITE Omejitev

The PREVERI omejitev nam omogoča, da določimo pogoj, ki ga morajo podatki izpolnjevati, preden se vstavijo v tabelo. To je mogoče uporabiti za uveljavljanje pravil, kot je zagotavljanje, da vrednost stolpca izpolnjuje določena merila (npr. starost mora biti večja od 18 let).

primer:

CREATE TABLE Student  
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);

Pojasnilo: V zgornji tabeli je PREVERI omejitev zagotavlja, da se lahko v tabelo vstavijo samo učenci, stari 18 let ali več.

6. PRIVZETA omejitev

The PRIVZETO omejitev zagotavlja privzeto vrednost za stolpec, če med vstavljanjem ni navedena nobena vrednost. To je uporabno za zagotovitev, da imajo določeni stolpci vedno smiselno vrednost, tudi če je uporabnik ne poda

primer:

CREATE TABLE Student  
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);

Pojasnilo: Tukaj, če ni navedena nobena vrednostAGEmed vstavljanjem bo privzeta vrednost 18 samodejno dodeljena.

rezina polja java

Kako določiti omejitve v SQL

Omejitve lahko določite med postopkom ustvarjanja tabele z uporabo CREATE TABLE izjava. Poleg tega lahko omejitve spremenite ali dodate obstoječim tabelam z uporaboALTER TABLEizjava.

Sintaksa za ustvarjanje omejitev:

CREATE TABLE ime_tabele

(

stolpec1 podatkovni_tip [ime_omejitve]

stolpec2 podatkovni_tip [ime_omejitve]

vrsta_podatkov stolpca3 [ime_omejitve]

...

);

Omejitve lahko dodamo ali odstranimo tudi po izdelavi tabele:

Primer dodajanja omejitve:

ALTER TABLE Student  
ADD CONSTRAINT unique_student_id UNIQUE (ID);

Zaključek

Omejitve SQL so bistvenega pomena za vzdrževanje celovitost podatkov in zagotavljanje konsistentnosti v relacijskih bazah podatkov. Razumevanje in učinkovito izvajanje teh omejitev bo pomagalo pri oblikovanju robustnih baz podatkov brez napak. Z vzvodom NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK PRIVZETO in INDEKS lahko zagotovite, da je vaša zbirka podatkov optimizirana za natančnost in uspešnosti .

Ustvari kviz