Constraints एक Rule होता है जो Valid Data को Store करने के लिए Table Columns पर लागू होता है और यह User को Invalid Data को Table Columns में Storing Entering करने से रोकता है.
Constraints एक Database Schema की परिभाषा का part होता है.
हम किसी भी Table के एक या एक से अधिक Column पर बाधाओं को बना सकते हैं और परिभाषित कर सकते हैं. यह Table के Data Integrity को बनाए रखता है.
SQL Constraints हमें Limited Fixed Size Data को Enter करने में मदद करता है.
अब हम आपको सभी Constraints के बारे मे Detail से बताएंगे.
Primary Key Constraint
Not Null Constraint
Unique Constraint
Check Constraint
Default Constraint
Foreign Key Constraint
Table मे Uniquely Rows की पहचान करने के लिए एक Primary Key Constraint लागू होती है. इसमें Null Values शामिल नहीं हो सकती है और बाकी Table Data Unique होना चाहिए.
Table को बनाते समय हम एक Constraint के लिए NAME Specify नहीं करते है तो SQL Server Automatic रूप से Constraint के लिए एक NAME Specify करता है.
एक Table में Primary Key के रूप में केवल एक ही Field हो सकती है नीचे दिए गए प्रश्न Named Student एक Table को बना देगा और Field ID को Primary Key के रूप में Specify करेगा.
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE,
NAME varchar(10),
ADDRESS varchar(20),
PRIMARY KEY(ID)
);
अगर हम किसी Table में कोई Field Specify न करें तो तब Field Not Null को Accept नहीं करेगा. और आपको इस Field में किसी भी Value को Specify किए बिना Table में एक New Row को Insert करने की permission नहीं दी जाएगी.
Example के लिए, नीचे दी गई query से Field ID और NAME को NOT NULL के रूप में एक Table तैयार करता है.
हम इन दो Field के लिए हर बार जब हम एक New Row को Insert करना चाहते हैं तो Value को Specify करने के लिए bound होता है.
CREATE TABLE Student
(
ID int(6) NOT NULL,
NAME varchar(10) NOT NULL,
ADDRESS varchar(20)
);
Non Primary Key Column पर Uniqueness को लागू करने के लिए Unique Constraint का उपयोग किया जाता है.
एक Unique Constraint Primary Key के समान होता है, सिवाय इसके कि यह Null Values हो सकता है जब तक कि Not Null Specifie हो.
Example के लिए नीचे दी गई Query से एक Student Table बनाता है जहां Field ID को UNIQUE के रूप में Specify किया गया है. अर्थात दो Student के पास एक ही ID नहीं हो सकती है.
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE,
NAME varchar(10),
ADDRESS varchar(20)
);
Check Constraint का उपयोग हम एक Field के लिए एक Condition को Specify करने के लिये कर सकते है जो इस Field के Values को Enter करने के समय Satisfied होना चाहिए.
Example के लिए नीचे दी गई Query से एक Student Table बनाता है और Field AGE के लिए Condition को Specify करता है (AGE> = 20) यही है user को AGE के साथ Table में किसी भी Record को Enter करने की Permission नहीं दी जाएगी.
CREATE TABLE Student
(
ID int(6) NOT NULL,
NAME varchar(10) NOT NULL,
AGE int NOT NULL CHECK (AGE >= 20)
);
Default Constraint को एक Column के लिए Constant Value को Specify करने के लिए उपयोग किया जाता है. और User को ऐसे Column के लिए Value को Insert करने की आवश्यकता नहीं होती है.
यदि Table में New Records को Enter करने के समय User इन Field के लिए किसी भी Value को Specify नहीं करता है तो Default Value से उसको Specify किया जाएगा.
Example के लिए नीचे दी गई Query से एक Student Table बनाता है और Table के लिए 20 AGE के लिए Default Value को Specify करेगा.
CREATE TABLE Student
(
ID int(6) NOT NULL,
NAME varchar(10) NOT NULL,
AGE int DEFAULT 20
);
Foreign Key Table में एक ऐसा Field है, जो किसी अन्य Table के प्रत्येक Row की Unique पहचान करता है. यह Field दुसरी Table की Primary Key को Indication करता है.
Foreign Key आमतौर पर Tables के बीच एक तरह के Connection को बनाता है.
नीचे दिखाए गए अनुसार दो Table पर आप ध्यान दे.
Orders
O_ID | ORDER_NO | C_ID |
---|---|---|
1 | 7856 | 5 |
2 | 7126 | 3 |
3 | 7836 | 4 |
4 | 7156 | 2 |
5 | 7056 | 6 |
6 | 7446 | 8 |
Customers
Customers ID | Name | Address |
---|---|---|
1 | Anna | Mumbai |
2 | Muffy | Delhi |
3 | Bettie | Kolkata |
4 | Betty | Bengaluru |
5 | Emma | Hyderabad |
6 | Sarah | Chennai |
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)
)