SQL Constraints

तालिका में डेटा के लिए नियम निर्दिष्ट करने के लिए SQL बाधाओं के बारे में जानें

एसक्यूएल बाधाएँ

किसी तालिका में डेटा के लिए नियम निर्दिष्ट करने के लिए SQL बाधाओं का उपयोग किया जाता है।

नियंत्रणों का कार्यप्रवाह

1

बाधाओं को परिभाषित करें

2

डेटा प्रविष्टि/संशोधन

3

प्रतिबंधों की जाँच करें

4

उल्लंघन होने पर अस्वीकार करें

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)
);

💡सहायता नोट:

बाधाएँ आपके डेटाबेस की अखंडता को बनाए रखने में मदद करती हैं। वे तालिकाओं में गलत डेटा के प्रवेश को रोकते हैं और तालिकाओं के बीच संबंध सुनिश्चित करते हैं।

अभ्यास

SQL नियंत्रण का प्राथमिक उद्देश्य क्या है?

डेटाबेस के बीच संबंधों को परिभाषित करें
✗ ग़लत! बाधाएँ रिश्तों को परिभाषित करने में मदद करती हैं, लेकिन प्राथमिक उद्देश्य नहीं हैं
तालिका में डेटा के नियमों को नियंत्रित करने के लिए
✓ ठीक है! SQL बाधाओं का प्राथमिक उद्देश्य किसी तालिका में डेटा के लिए नियम निर्दिष्ट करना और उसे प्रतिबंधित करना है
डेटाबेस में नई टेबल बनाने के लिए
✗ ग़लत! यह क्रिएट टेबल स्टेटमेंट के लिए है
SQL उपयोगकर्ता अनुमतियाँ प्रबंधित करने के लिए
✗ ग़लत! यह अनुदान/निरस्त विवरण के लिए है