logo

SQL | Ierobežojumi

SQL ierobežojumi ir būtiski elementi relāciju datu bāzes dizains kas nodrošina integritāte precizitāte un uzticamība datubāzē glabātajiem datiem. Ieviešot īpašus noteikumus tabulas kolonnām, SQL ierobežojumi palīdz uzturēt datu konsekvenci, novēršot nederīgus datu ierakstus un optimizējot vaicājuma veiktspēju.

Šajā rakstā mēs detalizēti izskaidrosim visbiežāk sastopamos SQL ierobežojumus, sniedzot skaidrus piemērus un paskaidrojot, kā tos efektīvi ieviest.

Kas ir SQL ierobežojumi?

SQL ierobežojumi tiek piemēroti noteikumi kolonnas vai tabulas a relāciju datu bāze lai ierobežotu iespējamo datu veidu ievietots atjaunināts vai dzēsts . Šie noteikumi nodrošina, ka dati ir derīgi konsekventi un atbilst biznesa loģikai vai datu bāzes prasības . Ierobežojumus var ieviest tabulas izveides laikā vai vēlāk, izmantojot ALTER TABLE paziņojums. Viņiem ir būtiska loma jūsu datu bāzes kvalitātes un integritātes uzturēšanā.



SQL ierobežojumu veidi 

SQL nodrošina vairāku veidu ierobežojumus, lai pārvaldītu dažādus datu integritātes aspektus. Šie ierobežojumi ir būtiski, lai nodrošinātu, ka dati atbilst prasībām precizitāte konsekvenci un derīgums . Apskatīsim katru no tiem, sniedzot detalizētus paskaidrojumus un piemērus.

1. NOT NULL Ierobežojums

The NAV NULL ierobežojums nodrošina, ka kolonna nevar saturēt NULL vērtības. Tas ir īpaši svarīgi kolonnām, kurās vērtība ir būtiska ierakstu identificēšanai vai aprēķinu veikšanai. Ja kolonna ir definēta kā NAV NULL katrā rindā ir jāietver šīs kolonnas vērtība.

Piemērs:

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

Paskaidrojums: Iepriekš minētajā piemērā ganIDunNAMEkolonnas ir definētas ar NAV NULL ierobežojums, kas nozīmē, ka katram studentam ir jābūtIDunNAMEvērtību.

2. UNIKĀLS ierobežojums

The UNIKĀLS ierobežojums nodrošina, ka visas vērtības kolonnā ir atšķirīgas visās tabulas rindās. Atšķirībā no PRIMĀRĀ ATSLĒGA kas prasa unikalitāti un nepieļauj NULL, UNIQUE ierobežojums pieļauj NULL vērtības, bet tomēr nodrošina unikalitāti ierakstiem, kas nav NULL.

Piemērs:

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

Paskaidrojums : ŠeitIDkolonnā jābūt unikālām vērtībām, kas nodrošina, ka divi skolēni nevar koplietot vienu un to pašuID. Mums var būt vairāk nekā viens UNIKĀLS ierobežojums tabulā.

3. PRIMARY KEY Ierobežojums  

A PRIMĀRĀ ATSLĒGA ierobežojums ir kombinācija NAV NULL un UNIKĀLS ierobežojumiem. Tas unikāli identificē katru tabulas rindu. Tabulā var būt tikai viens PRIMĀRĀ ATSLĒGA un tas nevar pieņemt NULL vērtības. To parasti izmanto kolonnai, kas kalpos kā ierakstu identifikators.

Piemērs:

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

Paskaidrojums: Šajā gadījumāIDkolonna ir iestatīta kā primārā atslēga, nodrošinot, ka katra skolēna ID ir unikāls un nevar būt NULL.

4. ĀRZEMES ATSLĒGA Ierobežojums

A ĀRZEMES ATSLĒGA ierobežojums saista kolonnu vienā tabulā ar primārā atslēga citā tabulā. Šīs attiecības palīdz uzturēt atsauces integritāte nodrošinot, ka vērtība ārējā atslēga kolonna atbilst derīgam ierakstam atsauces tabulā.

Pasūtījumu tabula:

O_IDPASŪTĪJUMS_NĒC_ID
122533
233253
345212
485321

Klientu tabula:

C_IDVĀRDSADRESE
1RAMESHDELI
2SURESHNOIDA
3DHARMEŠSGURGAONS

Kā mēs skaidri redzam, ka lauks C_ID iekšā Pasūtījumu tabula ir primārā atslēga klientu tabulā, t.i., tā unikāli identificē katru rindu Klienti tabula. Tāpēc tā ir ārējā atslēga pasūtījumu tabulā. 

Piemērs:

aizstāt visu java
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)
)

Paskaidrojums: Šajā piemērāC_IDkolonnāOrderstabula ir ārējā atslēga, kas atsaucas uzC_IDkolonnāCustomerstabula. Tas nodrošina, ka var ievietot tikai derīgus klientu IDOrderstabula.

5. PĀRBAUDIET ierobežojumu

The PĀRBAUDE ierobežojums ļauj mums norādīt nosacījumu, kas jāizpilda datiem, pirms tie tiek ievietoti tabulā. To var izmantot, lai ieviestu noteikumus, piemēram, lai nodrošinātu, ka kolonnas vērtība atbilst noteiktiem kritērijiem (piemēram, vecumam ir jābūt lielākam par 18 gadiem).

Piemērs:

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

Paskaidrojums: Iepriekš minētajā tabulā PĀRBAUDE ierobežojums nodrošina, ka tabulā var ievietot tikai 18 gadus vecus vai vecākus skolēnus.

6. DEFAULT Ierobežojums

The NOKLUSĒJUMS ierobežojums nodrošina kolonnas noklusējuma vērtību, ja ievietošanas laikā nav norādīta vērtība. Tas ir noderīgi, lai nodrošinātu, ka noteiktām kolonnām vienmēr ir nozīmīga vērtība, pat ja lietotājs to nenorāda

Piemērs:

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

Paskaidrojums: Šeit, ja nav norādīta vērtībaAGEievietošanas laikā noklusējuma vērtība 18 tiks piešķirta automātiski.

arp-a komanda

Kā norādīt ierobežojumus SQL

Ierobežojumus var norādīt tabulas izveides procesā, izmantojot CREATE TABLE paziņojums. Turklāt ierobežojumus var mainīt vai pievienot esošajām tabulām, izmantojotALTER TABLEpaziņojums.

Sintakse ierobežojumu izveidei:

CREATE TABLE tabulas_nosaukums

(

kolonna 1 datu_veids [ierobežojuma_nosaukums]

kolonnas 2 datu_veids [ierobežojuma_nosaukums]

kolonnas 3 datu_veids [ierobežojuma_nosaukums]

...

);

Mēs varam arī pievienot vai noņemt ierobežojumus pēc tabulas izveides:

Ierobežojuma pievienošanas piemērs:

ALTER TABLE Student  
ADD CONSTRAINT unique_student_id UNIQUE (ID);

Secinājums

SQL ierobežojumi ir būtiski uzturēšanai datu integritāte un nodrošināt konsekvenci relāciju datu bāzēs. Šo ierobežojumu izpratne un efektīva ieviešana palīdzēs izveidot stabilas datu bāzes bez kļūdām. Izmantojot sviras efektu NOT NULL UNIKĀLA PRIMĀRĀS ATSLĒGA ĀRĒJĀS ATSLĒGAS PĀRBAUDE NOKLUSĒJUMS un INDEKSS varat nodrošināt, ka jūsu datu bāze ir optimizēta precizitāte un sniegumu .

Izveidojiet viktorīnu