एसक्यूएल बाधाएँ
किसी तालिका में डेटा के लिए नियम निर्दिष्ट करने के लिए SQL बाधाओं का उपयोग किया जाता है।
नियंत्रणों का कार्यप्रवाह
बाधाओं को परिभाषित करें
डेटा प्रविष्टि/संशोधन
प्रतिबंधों की जाँच करें
उल्लंघन होने पर अस्वीकार करें
SQL बाधाएँ बनाना
जब तालिका CREATE TABLE स्टेटमेंट के साथ बनाई जाती है, या तालिका को ALTER TABLE स्टेटमेंट के साथ बनाए जाने के बाद बाधाओं को निर्दिष्ट किया जा सकता है।
वाक्यविन्यास
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
....
);
SQL बाधाओं के बारे में
किसी तालिका में डेटा के लिए नियम निर्दिष्ट करने के लिए SQL बाधाओं का उपयोग किया जाता है।
किसी तालिका में जा सकने वाले डेटा के प्रकार को नियंत्रित करने के लिए बाधाओं का उपयोग किया जाता है। यह तालिका में डेटा की सटीकता और विश्वसनीयता सुनिश्चित करता है। यदि नियंत्रण और डेटा कार्रवाई के बीच कोई उल्लंघन होता है, तो कार्रवाई निरस्त कर दी जाती है।
बाधाएँ स्तंभ स्तर या तालिका स्तर हो सकती हैं। कॉलम-स्तरीय बाधाएं एकल कॉलम पर लागू होती हैं, और तालिका-स्तरीय बाधाएं संपूर्ण तालिका पर लागू होती हैं।
एसक्यूएल बाधाएँ - पूर्ण दृश्य
NOT NULL
यह सुनिश्चित करता है कि किसी कॉलम में NULL मान नहीं हो सकता
CREATE TABLE Persons (
ID int NOT NULL,
Name varchar(255) NOT NULL
);
UNIQUE
यह सुनिश्चित करता है कि किसी कॉलम में सभी मान अद्वितीय हैं
CREATE TABLE Persons (
ID int UNIQUE,
Email varchar(255) UNIQUE
);
PRIMARY KEY
NOT NULL और UNIQUE का संयोजन। तालिका में प्रत्येक पंक्ति को विशिष्ट रूप से पहचानता है
CREATE TABLE Persons (
ID int PRIMARY KEY,
Name varchar(255)
);
FOREIGN KEY
उन ऑपरेशनों को रोकता है जो तालिकाओं के बीच लिंक को नष्ट कर सकते हैं
CREATE TABLE Orders (
OrderID int PRIMARY KEY,
PersonID int FOREIGN KEY REFERENCES Persons(ID)
);
CHECK
यह सुनिश्चित करता है कि किसी कॉलम में मान एक निर्दिष्ट शर्त को पूरा करते हैं
CREATE TABLE Persons (
Age int CHECK (Age >= 18)
);
DEFAULT
यदि कोई मान निर्दिष्ट नहीं है तो कॉलम के लिए डिफ़ॉल्ट मान सेट करता है
CREATE TABLE Persons (
City varchar(255) DEFAULT 'Sandnes'
);
CREATE INDEX
CREATE INDEX का उपयोग डेटाबेस से डेटा को बहुत तेज़ी से बनाने और पुनर्प्राप्त करने के लिए किया जाता है।
वाक्यविन्यास
CREATE INDEX index_name
ON table_name (column1, column2, ...);
उदाहरण
CREATE INDEX idx_lastname
ON Persons (LastName);
व्यावहारिक उदाहरण
पूर्ण तालिका उदाहरण
विभिन्न बाधाओं के साथ पूर्ण तालिका निर्माण:
CREATE TABLE Employees (
EmployeeID int PRIMARY KEY,
FirstName varchar(50) NOT NULL,
LastName varchar(50) NOT NULL,
Email varchar(100) UNIQUE NOT NULL,
Age int CHECK (Age >= 18),
DepartmentID int,
HireDate date DEFAULT GETDATE(),
CONSTRAINT FK_Department FOREIGN KEY (DepartmentID)
REFERENCES Departments(DepartmentID)
);
सहायता नोट:
बाधाएँ आपके डेटाबेस की अखंडता को बनाए रखने में मदद करती हैं। वे तालिकाओं में गलत डेटा के प्रवेश को रोकते हैं और तालिकाओं के बीच संबंध सुनिश्चित करते हैं।