SQL | Rajoitukset

SQL-rajoitukset ovat välttämättömiä elementtejä relaatiotietokannan suunnittelu jotka varmistavat eheys tarkkuus ja luotettavuus tietokantaan tallennetuista tiedoista. Pakottamalla erityisiä sääntöjä taulukon sarakkeille SQL-rajoitukset auttavat ylläpitämään tietojen johdonmukaisuutta, estäen virheelliset tietomerkinnät ja optimoimalla kyselyn suorituskyvyn.

Tässä artikkelissa selitämme yleisimmät SQL-rajoitukset yksityiskohtaisesti tarjoamalla selkeitä esimerkkejä ja selittämällä, kuinka ne voidaan toteuttaa tehokkaasti.

Mitä ovat SQL-rajoitukset?

SQL-rajoitukset sovelletaan sääntöjä sarakkeita tai taulukoita kohdassa a relaatiotietokanta rajoittaaksesi datatyyppiä, joka voi olla lisätty päivitetty tai poistettu . Nämä säännöt varmistavat, että tiedot ovat päteviä ja johdonmukaisia ​​ja noudattavat liiketoimintalogiikkaa tai tietokantavaatimukset . Rajoitukset voidaan pakottaa taulukon luomisen aikana tai myöhemmin käyttämällä ALTER TABLE lausunto. Niillä on tärkeä rooli tietokantasi laadun ja eheyden ylläpitämisessä.

SQL-rajoitusten tyypit 

SQL tarjoaa useita erilaisia ​​rajoituksia tietojen eheyden eri näkökohtien hallitsemiseksi. Nämä rajoitukset ovat välttämättömiä sen varmistamiseksi, että tiedot täyttävät vaatimukset tarkkuus johdonmukaisuutta ja pätevyyttä . Käydään läpi jokainen niistä yksityiskohtaisten selitysten ja esimerkkien kera.

1. NOT NULL Rajoitus

The EI NULL rajoitus varmistaa, että sarake ei voi sisältää NULL-arvoja. Tämä on erityisen tärkeää sarakkeissa, joissa arvo on välttämätön tietueiden tunnistamiseksi tai laskelmien suorittamiseksi. Jos sarake on määritelty EI NULL jokaisella rivillä on oltava kyseisen sarakkeen arvo.

Esimerkki:

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

Selitys: Yllä olevassa esimerkissä molemmat ID ja NAME sarakkeet on määritelty EI NULL rajoitus tarkoittaa jokaisella opiskelijalla on oltava ID ja NAME arvo.

2. AINUTLAATUINEN rajoitus

The AINUTLAATUINEN rajoitus varmistaa, että kaikki sarakkeen arvot ovat erillisiä kaikilla taulukon riveillä. Toisin kuin ENSISIJAINEN AVAIN joka vaatii ainutlaatuisuutta ja ei salli NULL-arvoja. UNIQUE-rajoite sallii NULL-arvot, mutta pakottaa silti yksilöllisyyden ei-NULL-merkintöihin.

Esimerkki:

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

Selitys : Tässä ID sarakkeessa on oltava yksilölliset arvot, jotta kaksi oppilasta ei voi jakaa samaa ID . Meillä voi olla useampi kuin yksi AINUTLAATUINEN rajoitus taulukossa.

3. PRIMARY KEY rajoitus  

A ENSISIJAINEN AVAIN rajoitus on yhdistelmä EI NULL ja AINUTLAATUINEN rajoituksia. Se tunnistaa yksilöllisesti jokaisen taulukon rivin. Pöydässä voi olla vain yksi ENSISIJAINEN AVAIN eikä se voi hyväksyä NULL-arvoja. Tätä käytetään yleensä sarakkeessa, joka toimii tietueiden tunnisteena.

Esimerkki:

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

Selitys: Tässä tapauksessa ID sarake asetetaan ensisijaiseksi avaimeksi, jotta jokaisen opiskelijan tunnus on yksilöllinen eikä se voi olla NULL.

4. ULKOMAAN AVAIN Rajoitus

A ULKOINEN AVAIN rajoite linkittää sarakkeen yhdessä taulukossa ensisijainen avain toisessa taulukossa. Tämä suhde auttaa ylläpitämään viitteellinen eheys varmistamalla, että arvo vieras avain sarake vastaa kelvollista tietuetta viitatussa taulukossa.

Tilaustaulukko:

O_ID TILAUS_NO C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

Asiakastaulukko:

C_ID NIMI OSOITE
1 RAMESH DELHI
2 SURESH NOIDA
3 DHARMESH GURGAON

Kuten voimme selvästi nähdä, että alalla C_ID sisään Tilauspöytä on ensisijainen avain Asiakkaat-taulukossa eli se tunnistaa yksilöllisesti jokaisen rivin Asiakkaat taulukko. Siksi se on tilausten vierasavain. 

Esimerkki:

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

Selitys: Tässä esimerkissä C_ID sarakkeessa Orders taulukko on vierasavain, joka viittaa C_ID sarakkeessa Customers taulukko. Tämä varmistaa, että vain kelvollisia asiakastunnuksia voidaan lisätä Orders taulukko.

5. TARKISTA rajoitus

The TARKISTA rajoituksen avulla voimme määrittää ehdon, joka tietojen on täytettävä ennen kuin se lisätään taulukkoon. Tätä voidaan käyttää valvomaan sääntöjä, kuten varmistamaan, että sarakkeen arvo täyttää tietyt kriteerit (esim. iän on oltava yli 18 vuotta).

Esimerkki:

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

Selitys: Yllä olevassa taulukossa TARKISTA rajoitus varmistaa, että vain 18-vuotiaat tai sitä vanhemmat opiskelijat voidaan lisätä taulukkoon.

6. OLETUSrajoitus

The OLETUS rajoite tarjoaa oletusarvon sarakkeelle, kun arvoa ei ole määritetty lisäyksen aikana. Tämä on hyödyllistä sen varmistamiseksi, että tietyillä sarakkeilla on aina merkityksellinen arvo, vaikka käyttäjä ei sitä antaisikaan

Esimerkki:

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

Selitys: Tässä, jos arvoa ei ole annettu AGE lisäyksen aikana oletusarvo 18 määritetään automaattisesti.

Kuinka määrittää rajoitukset SQL:ssä

Rajoitukset voidaan määrittää taulukon luontiprosessin aikana käyttämällä CREATE TABLE lausunto. Lisäksi rajoituksia voidaan muokata tai lisätä olemassa oleviin taulukoihin käyttämällä ALTER TABLE lausunto.

Syntaksi rajoitteiden luomiseen:

CREATE TABLE taulukon_nimi

(

sarake1 tietotyyppi [rajoitteen_nimi]

sarake2 tietotyyppi [rajoitteen_nimi]

sarake3 tietotyyppi [rajoitteen_nimi]

...

);

Voimme myös lisätä tai poistaa rajoituksia taulukon luomisen jälkeen:

Esimerkki rajoitteen lisäämisestä:

 ALTER TABLE Student   
ADD CONSTRAINT unique_student_id UNIQUE (ID);

Johtopäätös

SQL-rajoitukset ovat välttämättömiä ylläpidolle tietojen eheys ja relaatiotietokantojen johdonmukaisuuden varmistaminen. Näiden rajoitusten ymmärtäminen ja tehokas toteuttaminen auttaa luomaan vankat, virheettömät tietokannat. Vipuvaikutuksen avulla EI NULL AINUTLAATUINEN ENSISIJAINEN AVAIN ULKOMAAN AVAIN TARKISTUS OLETUS JA HAKEMISTO voit varmistaa, että tietokanta on optimoitu tarkkuus ja suorituskykyä .

Luo tietokilpailu