logo

SQL | Korlátozások

SQL megszorítások nélkülözhetetlen elemei relációs adatbázis tervezés amelyek biztosítják a integritás pontosság és megbízhatóság az adatbázisban tárolt adatokról. Azáltal, hogy speciális szabályokat kényszerítenek ki a táblázat oszlopaira, az SQL-korlátok segítenek fenntartani az adatok konzisztenciáját, megakadályozva az érvénytelen adatbevitelt, és optimalizálják a lekérdezések teljesítményét.

Ebben a cikkben részletesen elmagyarázzuk a leggyakoribb SQL-megszorításokat, világos példákat adva és elmagyarázva, hogyan kell hatékonyan implementálni őket.

Mik azok az SQL-korlátok?

SQL megszorítások szabályok vonatkoznak rájuk oszlopok vagy táblázatok a relációs adatbázis hogy korlátozzuk a lehetséges adatok típusát behelyezve frissítve vagy törölve . Ezek a szabályok biztosítják, hogy az adatok érvényesek, következetesek és megfeleljenek az üzleti logikának ill adatbázis követelményei . A megszorításokat a tábla létrehozása során vagy később a ALTER TABLE nyilatkozat. Alapvető szerepet játszanak az adatbázis minőségének és integritásának megőrzésében.



regressziós kifejezés java-ban

Az SQL-korlátozások típusai 

Az SQL többféle megszorítást biztosít az adatintegritás különböző aspektusainak kezelésére. Ezek a megszorítások elengedhetetlenek ahhoz, hogy az adatok megfeleljenek a követelményeknek pontosság következetesség és érvényesség . Nézzük meg mindegyiket részletes magyarázatokkal és példákkal.

1. NOT NULL kényszer

A NEM NULL megszorítás biztosítja, hogy egy oszlop ne tartalmazzon NULL értékeket. Ez különösen fontos azoknál az oszlopoknál, ahol egy érték elengedhetetlen a rekordok azonosításához vagy számítások elvégzéséhez. Ha egy oszlopot úgy határoztunk meg NEM NULL minden sornak tartalmaznia kell az adott oszlop értékét.

Példa:

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

Magyarázat: A fenti példában mind aIDésNAMEaz oszlopokat a NEM NULL megszorítás, ami azt jelenti, hogy minden tanulónak rendelkeznie kell egyIDésNAMEérték.

2. EGYEDI kényszer

A EGYEDÜLÁLLÓ A megszorítás biztosítja, hogy egy oszlopban lévő összes érték elkülönüljön a táblázat összes sorában. Ellentétben a PRIMER KULCS amely egyediséget igényel, és nem engedélyezi a NULL értékeket, az UNIQUE megszorítás engedélyezi a NULL értékeket, de továbbra is érvényesíti az egyediséget a nem NULL bejegyzéseknél.

Példa:

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

Magyarázat : Itt aIDoszlopnak egyedi értékekkel kell rendelkeznie, amelyek biztosítják, hogy két tanuló ne oszthasson ugyanaztID. Többet is kaphatunk EGYEDÜLÁLLÓ korlátozás egy táblázatban.

3. PRIMER KULCS kényszer  

A PRIMER KULCS megszorítás kombinációja NEM NULL és EGYEDÜLÁLLÓ korlátok. Egyedileg azonosítja a táblázat minden sorát. Egy asztalnak csak egy lehet PRIMER KULCS és nem fogad el NULL értékeket. Általában ezt az oszlopot használják, amely a rekordok azonosítójaként fog szolgálni.

Példa:

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

Magyarázat: Ebben az esetben aIDoszlop elsődleges kulcsként van beállítva, amely biztosítja, hogy minden tanuló azonosítója egyedi legyen, és ne legyen NULL.

4. IDEGEN KULCS Kényszer

A IDEGEN KULCS megszorítás az egyik tábla oszlopát a elsődleges kulcs egy másik táblázatban. Ez a kapcsolat segít fenntartani referenciális integritás biztosítva, hogy az érték a idegen kulcs oszlop megegyezik a hivatkozott tábla egy érvényes rekordjával.

Rendelési táblázat:

O_IDRENDELÉS_SZÁMC_ID
122533
233253
345212
485321

Vásárlói táblázat:

C_IDNÉVCÍM
1RAMESHDELHI
2SURESHNOIDA
3DHARMESHGURGAON

Amint jól látjuk, hogy a mező C_ID be Rendelési táblázat az elsődleges kulcs az Ügyfelek táblában, azaz egyedileg azonosítja az egyes sorokat a Ügyfelek táblázat. Ezért ez egy idegen kulcs a rendelésekben. 

Példa:

bináris fa vs bináris keresőfa
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)
)

Magyarázat: Ebben a példában aC_IDoszlopban aOrderstáblázat egy idegen kulcs, amely aC_IDoszlopban aCustomerstáblázat. Ez biztosítja, hogy csak érvényes ügyfél-azonosítók kerüljenek be aOrderstáblázat.

5. ELLENŐRIZZE a kényszert

A ELLENŐRZÉS A megszorítás lehetővé teszi egy olyan feltétel megadását, amelyet az adatoknak teljesíteniük kell, mielőtt beillesztik őket a táblába. Ez felhasználható szabályok érvényre juttatására, például annak biztosítására, hogy egy oszlop értéke megfelel-e bizonyos feltételeknek (például az életkornak 18 évnél nagyobbnak kell lennie).

Példa:

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

Magyarázat: A fenti táblázatban a ELLENŐRZÉS megszorítás biztosítja, hogy csak 18 éves vagy annál idősebb tanulók kerüljenek be a táblázatba.

hoszt linux

6. ALAPÉRTELMEZETT kényszer

A ALAPÉRTELMEZETT megszorítás alapértelmezett értéket ad egy oszlophoz, ha nincs megadva érték a beillesztés során. Ez azért hasznos, mert bizonyos oszlopoknak mindig van értelmes értéke, még akkor is, ha a felhasználó nem ad meg

Példa:

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

Magyarázat: Itt, ha nincs megadva értékAGEbeszúrás közben az alapértelmezett 18-as érték automatikusan hozzárendelődik.

Megszorítások megadása SQL-ben

A megszorítások megadhatók a táblázat létrehozási folyamata során a CREATE TABLE nyilatkozat. Ezenkívül a megszorítások módosíthatók vagy hozzáadhatók a meglévő táblákhoz aALTER TABLEnyilatkozat.

Szintaxis megszorítások létrehozásához:

TÁBLÁZAT LÉTREHOZÁSA táblanév

java lista karakterlánc

(

oszlop1 adattípus [megszorítás_neve]

oszlop2 adattípus [megszorítás_neve]

oszlop3 adattípus [megszorítás_neve]

...

);

Megszorításokat is hozzáadhatunk vagy eltávolíthatunk a táblázat létrehozása után:

Példa megszorítás hozzáadására:

ALTER TABLE Student  
ADD CONSTRAINT unique_student_id UNIQUE (ID);

Következtetés

Az SQL megszorítások elengedhetetlenek a karbantartáshoz adatintegritás valamint a relációs adatbázisok konzisztenciájának biztosítása. Ezeknek a korlátozásoknak a megértése és hatékony megvalósítása segít robusztus, hibamentes adatbázisok tervezésében. A tőkeáttétellel NEM NULL EGYEDI ELSŐDLEGES KULCS IDEGEN KULCS ELLENŐRZÉSE ALAPÉRTELMEZETT és INDEX biztos lehet benne, hogy az adatbázis optimalizálva van pontosság és teljesítmény .

Kvíz létrehozása