logo

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.

c Boolen arvo

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ä molemmatIDjaNAMEsarakkeet on määritelty EI NULL rajoitus tarkoittaa jokaisella opiskelijalla on oltavaIDjaNAMEarvo.

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äIDsarakkeessa on oltava yksilölliset arvot, jotta kaksi oppilasta ei voi jakaa samaaID. 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ä tapauksessaIDsarake 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_IDTILAUS_NOC_ID
122533
233253
345212
485321

Asiakastaulukko:

C_IDNIMIOSOITE
1RAMESHDELHI
2SURESHNOIDA
3DHARMESHGURGAON

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:

binääripuu vs binäärihakupuu
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_IDsarakkeessaOrderstaulukko on vierasavain, joka viittaaC_IDsarakkeessaCustomerstaulukko. Tämä varmistaa, että vain kelvollisia asiakastunnuksia voidaan lisätäOrderstaulukko.

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 annettuAGElisäyksen aikana oletusarvo 18 määritetään automaattisesti.

kuinka valita sarakkeita eri taulukoista sql:ssä

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 TABLElausunto.

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