Defining Constraints in SQL in Hindi
Defining Constraints in SQL
Table of Contents
- प्राथमिक कुंजी (Primary Key) — ये SEO में help करता है
- विदेशी कुंजी (Foreign Key) — ये SEO में help करता है
- विशिष्ट (Unique) — ये SEO में help करता है
- नल नहीं (NOT NULL) — ये SEO में help करता है
- चेक प्रतिबन्ध (CHECK) — ये SEO में help करता है
- डिफॉल्ट मूल्य (DEFAULT) — ये SEO में help करता है
- CONSTRAINT-Clause (प्रतिबन्ध धारा) — ये SEO में help करता है
- प्रतिबन्ध जोड़ना/हटाना (Add/Drop Constraints) — ये SEO में help करता है
Defining Constraints in SQL in Hindi
SQL में Constraints (प्रतिबन्ध) वे नियम हैं जिन्हें हम तालिका (table) के कॉलम या पूरे table पर लागू करते हैं ताकि डेटा की सत्यता, सही स्वरूप और integrity बनी रहे। यदि किसी डेटा insert या update करते समय वह सभी नियमों को violate करता है, तो उस operation को abort किया जाता है।
Constraints क्यों ज़रूरी हैं?
Database में data की quality और reliability बनाए रखने के लिए constraints बहुत अहम भूमिका निभाते हैं। इसके बिना गलत या inconsistent डेटा database में चला जाएगा।
- Data integrity सुनिश्चित करना।
- Business logic database स्तर पर enforce करना।
- Invalid data insertion को रोकना।
- Different tables के बीच referential integrity बनाए रखना।
Types of SQL Constraints (SQL प्रतिबन्धों के प्रकार)
आम तौर पर SQL में कुछ प्रमुख constraints उपयोग किए जाते हैं। ये column-level या table-level हो सकते हैं। :contentReference[oaicite:0]{index=0}
- NOT NULL (नल नहीं) — यह सुनिश्चित करता है कि कॉलम में NULL value नहीं हो सकती।
- UNIQUE (विशिष्ट) — कॉलम के सभी values अलग-अलग होने चाहिए।
- PRIMARY KEY (प्राथमिक कुंजी) — ये UNIQUE + NOT NULL दोनों होता है, प्रत्येक row की यूनिक पहचान देता है।
- FOREIGN KEY (विदेशी कुंजी) — एक table के कॉलम को दूसरे table की primary key या unique column से refer करता है ताकि referential integrity बनी रहे।
- CHECK (चेक) — एक condition specify करता है जिसे कॉलम के value को satisfy करना होगा।
- DEFAULT (डिफॉल्ट) — यदि insert करते समय value न दी जाए तो यह default value assign करता है।
- CONSTRAINT clause (प्रतिबन्ध धारा) — constraint को नाम देने और specify करने के लिए clause।
- Add / Drop Constraints (प्रतिबन्ध जोड़ना / हटाना) — किसी existing table में constraints को बाद में जोड़ना या हटाना।
1. NOT NULL (नल नहीं) — ये SEO में help करता है
जब किसी कॉलम को NOT NULL define किया जाता है, तो उस कॉलम में NULL value insert नहीं हो सकती। यह constraint उन कॉलमों पर उपयोगी है जहाँ value जरूरी होती है, जैसे किसी student की name या id।
CREATE TABLE Students (
id INT NOT NULL,
name VARCHAR(100) NOT NULL,
age INT
);
उदाहरण में, id और name में NULL नहीं हो सकती, लेकिन age हो सकती है।
2. UNIQUE (विशिष्ट) — ये SEO में help करता है
UNIQUE constraint यह सुनिश्चित करता है कि उस कॉलम में duplicate values नहीं हो सकती। लेकिन NULL values को allow कर सकता है (depending on RDBMS)।
CREATE TABLE Employees (
emp_id INT UNIQUE,
email VARCHAR(100) UNIQUE
);
यहाँ emp_id और email दोनों columns में duplicate values नहीं होंगी।
3. PRIMARY KEY (प्राथमिक कुंजी) — ये SEO में help करता है
PRIMARY KEY constraint वह कॉलम या कॉलमों का समूह है जो प्रत्येक row को uniquely identify करता है। इसे एक table में केवल एक ही हो सकता है। इसमें NULL नहीं हो सकता और duplicate values नहीं हो सकती।
CREATE TABLE Students (
id INT PRIMARY KEY,
name VARCHAR(100),
age INT
);
यहाँ id primary key है, इसका मतलब है कि हर id unique और non-null होगी।
4. FOREIGN KEY (विदेशी कुंजी) — ये SEO में help करता है
FOREIGN KEY constraint एक table के column को दूसरे table की primary key या unique column से जोड़ता है। इस तरह referential integrity maintain होती है।
CREATE TABLE Departments (
dept_id INT PRIMARY KEY,
dept_name VARCHAR(100)
);
CREATE TABLE Employees (
emp_id INT PRIMARY KEY,
name VARCHAR(100),
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES Departments(dept_id)
);
यहाँ Employees table का dept_id value, Departments table में एक existing dept_id से match करना चाहिए।
5. CHECK (चेक) — ये SEO में help करता है
CHECK constraint कॉलम पर एक logical condition लगाता है, जो value को validate करती है। यदि condition false हो जाए, तो insert/update operation fail होगी।
CREATE TABLE Products (
product_id INT PRIMARY KEY,
price DECIMAL(10,2) CHECK (price >= 0),
qty INT CHECK (qty >= 0)
);
यह constraint यह सुनिश्चित करता है कि price और qty negative न हो।
6. DEFAULT (डिफॉल्ट मूल्य) — ये SEO में help करता है
DEFAULT constraint तब उपयोगी है जब हम insert करते समय value न दें। यह एक default value assign कर देता है।
CREATE TABLE Orders (
order_id INT PRIMARY KEY,
order_date DATE DEFAULT CURRENT_DATE,
status VARCHAR(20) DEFAULT 'PENDING'
);
यदि insert query में order_date या status नहीं दिया गया हो, तो वो default value ले लेंगे।
7. CONSTRAINT Clause (प्रतिबन्ध धारा) — ये SEO में help करता है
जब हम constraints को नाम देना चाहते हैं या उन्हें table-level पर specify करना चाहते हैं, तो CONSTRAINT clause आता है।
CREATE TABLE Students (
id INT,
name VARCHAR(100),
CONSTRAINT pk_students PRIMARY KEY (id),
CONSTRAINT chk_age CHECK (age >= 0)
);
यहाँ हमने primary key और check constraint को नाम दिए हैं — pk_students और chk_age।
8. Add / Drop Constraints (प्रतिबन्ध जोड़ना / हटाना) — ये SEO में help करता है
एक बार table बन जाने के बाद, आप constraints को बाद में जोड़ या हटा सकते हैं ALTER TABLE statement से।
-- constraint जोड़ना
ALTER TABLE Students
ADD CONSTRAINT chk_age CHECK (age >= 0);
-- constraint हटाना
ALTER TABLE Students
DROP CONSTRAINT chk_age;
ध्यान दें: यदि existing data उस constraint को violate करता हो, तो ADD CONSTRAINT विफल होगी। :contentReference[oaicite:1]{index=1}
Constraints को लागू करने की Best Practices
- Constraint को नाम देना (CONSTRAINT clause) ताकि बाद में manage करना आसान हो।
- Jo constraints business rules को enforce करें, उन्हें database स्तर पर रखना बेहतर।
- सावधानी से ADD / DROP करें, existing data को violate न करें।
- Small constraints रखें — बहुत complex CHECK logic को application में handle करना बेहतर।
- FOREIGN KEY को cascade rules (ON DELETE, ON UPDATE) के साथ उपयोग करें यदि आवश्यक हो।
Constraints का तुलनात्मक सार (Comparison Table)
| Constraint | Null Allowed? | Duplicate Allowed? | Scope / Use |
|---|---|---|---|
| NOT NULL | No | Yes | Mandatory field |
| UNIQUE | Depends (some RDBMS allow one NULL) | No | Ensure uniqueness |
| PRIMARY KEY | No | No | Row identification |
| FOREIGN KEY | Yes | Yes (but must match parent) | Referential integrity |
| CHECK | Yes | Yes | Value based condition |
| DEFAULT | Yes | Yes | Assign default if no value |
यह सार तालिका यह दिखाती है कि कौन सा constraint किस तरह काम करता है।
Important Keywords (Important शब्द) जो search appearance बढ़ा सकते हैं
SQL Constraints, PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK constraint in Hindi, DEFAULT constraint, ALTER TABLE ADD CONSTRAINT, data integrity, relational database, referential integrity, constraint clause
अधिक जानकारी के लिए आप W3Schools – SQL Constraints देखें।