Database
 sql >> डेटाबेस >  >> RDS >> Database

एसक्यूएल ट्यूटोरियल:एसक्यूएल सीखने के लिए वन स्टॉप सॉल्यूशन

आज के बाजार में, जहां हर दिन लगभग 2.5 क्विंटल बाइट डेटा उत्पन्न होता है, यह समझना बहुत महत्वपूर्ण है कि इतनी बड़ी मात्रा में डेटा को कैसे हैंडल किया जाए। खैर, यह वह जगह है जहाँ संरचित क्वेरी भाषा या SQL तस्वीर में आती है। इसलिए, SQL ट्यूटोरियल पर इस लेख में, मैं निम्नलिखित महत्वपूर्ण अवधारणाओं पर चर्चा करूँगा, जो एक डेटाबेस प्रशासक बनने की यात्रा के लिए आवश्यक हैं।

  • एसक्यूएल का परिचय
    1. एसक्यूएल क्या है?
    2. एसक्यूएल के अनुप्रयोग
    3. एसक्यूएल डेटा प्रकार
    4. एसक्यूएल ऑपरेटर्स
  • शीर्ष SQL कमांड
    1. बनाएं
    2. ड्रॉप
    3. बदलें
    4. ट्रंकेट
    5. व्याख्या करें
    6. इन्सर्ट करें
    7. अपडेट करें
    8. चुनें
    9. पसंद करें
    10. अनुदान
  • डेटाबेस में कुंजी
  • एसक्यूएल बाधाएं
  • सामान्यीकरण
  • एसक्यूएल जॉइन करता है
  • दृश्य

एसक्यूएल ट्यूटोरियल:एसक्यूएल का परिचय

एसक्यूएल क्या है?

1970 के दशक में डोनाल्ड डी. चेम्बरलिन द्वारा विकसित, संरचित क्वेरी भाषा या जिसे आमतौर पर SQL के रूप में जाना जाता है, सबसे लोकप्रिय भाषाओं में से एक है जिसका उपयोग डेटा में हेरफेर, स्टोर, अपडेट और पुनः प्राप्त करने के लिए किया जाता है। एक संबंधपरक डेटाबेस। SQL में डेटाबेस में डेटा के साथ खेलने के लिए 4 श्रेणियों यानी DDL, DML, DCL, और TCL में अलग-अलग कमांड होते हैं। साथ ही, रिलेशनल डेटाबेस जैसे MySQL डेटाबेस, Oracle, MS SQL सर्वर, Sybase आदि डेटा को संशोधित करने के लिए SQL का उपयोग करते हैं।

एसक्यूएल के अनुप्रयोग

एसक्यूएल के अनुप्रयोग इस प्रकार हैं:

  • SQL के साथ, आप टेबल और डेटाबेस बना और छोड़ सकते हैं।
  • यह उपयोगकर्ताओं को डेटाबेस में डेटा को परिभाषित और हेरफेर करने की अनुमति देता है।
  • SQL उपयोगकर्ताओं को RDBMS में डेटा तक पहुंचने, संशोधित करने और वर्णन करने की अनुमति देता है।
  • SQL के साथ, आप तालिकाओं, दृश्यों और प्रक्रियाओं पर अनुमतियां सेट कर सकते हैं और विभिन्न उपयोगकर्ताओं को विशिष्ट अनुमतियां प्रदान कर सकते हैं।
  • SQL आपको SQL लाइब्रेरी और मॉड्यूल का उपयोग करके अन्य भाषाओं में एम्बेड करने की अनुमति देता है।

अब जब आप SQL की मूल बातें जान गए हैं, तो इस SQL ​​ट्यूटोरियल के आगे, आइए समझते हैं कि विभिन्न SQL डेटा प्रकार क्या हैं।

एसक्यूएल डेटा प्रकार

SQL डेटा प्रकारों को निम्नलिखित श्रेणियों में विभाजित किया गया है:

  • संख्यात्मक - संख्यात्मक डेटा प्रकार हस्ताक्षरित और अहस्ताक्षरित दोनों पूर्णांकों की अनुमति देते हैं। उन्हें आगे सटीक और अनुमानित डेटा प्रकारों में विभाजित किया जा सकता है जहां सटीक पूर्णांक को पूर्ण संख्याओं के रूप में अनुमति देता है और अनुमानित अस्थायी पूर्णांक की अनुमति देता है।
  • चरित्र स्ट्रिंग - यह डेटा प्रकार निश्चित और परिवर्तनशील लंबाई के वर्णों की अनुमति देता है। इस डेटा प्रकार को आगे यूनिकोड वर्णों में वर्गीकृत किया जा सकता है, जो यूनिकोड वर्णों की निश्चित और परिवर्तनशील लंबाई की अनुमति देता है।
  • बाइनरी - बाइनरी डेटा प्रकार डेटा को निश्चित और परिवर्तनशील लंबाई के लिए बाइनरी मानों के प्रारूप में संग्रहीत करने की अनुमति देता है।
  • दिनांक और समय - यह डेटा प्रकार डेटा को दिनांक और समय के विभिन्न स्वरूपों में संग्रहीत करने की अनुमति देता है।
  • अन्य - डेटा प्रकारों के इस अनुभाग में डेटा प्रकार होते हैं जैसे तालिका, एक्सएमएल, कर्सर, अद्वितीय पहचानकर्ता, और sql_variant।

यदि आप विभिन्न SQL डेटा प्रकारों की विस्तृत समझ प्राप्त करना चाहते हैं, तो आप SQL डेटा प्रकारों पर विस्तृत मार्गदर्शिका देख सकते हैं।

एसक्यूएल ऑपरेटर्स

ऑपरेटर्स वे कंस्ट्रक्शन हैं जो ऑपरेंड के मूल्यों में हेरफेर कर सकते हैं। व्यंजक 4 + 6 =10 पर विचार करें, यहाँ 4 और 6 संकार्य हैं और + को संकारक कहा जाता है।

SQL निम्नलिखित प्रकार के ऑपरेटरों का समर्थन करता है:

  • अंकगणित संचालिका
  • Bitwise Operators
  • तुलना संचालिका
  • यौगिक संचालिका
  • लॉजिकल ऑपरेटर्स

एसक्यूएल द्वारा समर्थित विभिन्न ऑपरेटरों को विस्तृत तरीके से जानने के लिए, आप यहां क्लिक कर सकते हैं। तो, अब जब आप जानते हैं कि SQL क्या है और इसकी मूल बातें क्या हैं, तो आइए SQL में शीर्ष आदेशों या कथनों को समझते हैं।

एसक्यूएल ट्यूटोरियल:टॉप एसक्यूएल कमांड्स

SQL में डेटाबेस में डेटा जोड़ने, संशोधित करने, हटाने या अपडेट करने के लिए विभिन्न कमांड या स्टेटमेंट होते हैं। SQL ट्यूटोरियल पर इस लेख में, हम निम्नलिखित कथनों पर चर्चा करने जा रहे हैं:

    1. बनाएं
    2. ड्रॉप
    3. बदलें
    4. ट्रंकेट
    5. व्याख्या करें
    6. इन्सर्ट करें
    7. अपडेट करें
    8. चुनें
    9. पसंद करें
    10. अनुदान

इस SQL ​​​​ट्यूटोरियल में, मैं एक उदाहरण के रूप में नीचे दिए गए डेटाबेस पर विचार करने जा रहा हूं, ताकि आपको यह दिखाया जा सके कि इन SQL कमांड का उपयोग करके क्वेरी कैसे लिखी जाती है।

CustomerID ग्राहक नाम फ़ोन नंबर पता शहर देश
1 साइमन 9876543210 डोनाल्ड स्ट्रीट 52 हैदराबाद भारत
2 आकाश 9955449922 क्वींस रोड 74 मुंबई भारत
3 पैट्रिक 9955888220 सिल्क बोर्ड 82 दिल्ली भारत
4 समीर 9647974327 IG Road 19 हैदराबाद भारत
5 जॉन 9674325689 ब्रिगेड रोड ब्लॉक 9 बैंगलोर भारत

बनाएं

क्रिएट स्टेटमेंट का इस्तेमाल टेबल, व्यू या डेटाबेस बनाने के लिए निम्न तरीके से किया जाता है:

डेटाबेस बनाएं

डेटाबेस बनाने के लिए उपयोग किया जाता है।

सिंटैक्स

CREATE DATABASE DatabaseName;

उदाहरण

 
CREATE DATABASE CustomerInfo; 

तालिका बनाएं

इस स्टेटमेंट का इस्तेमाल टेबल बनाने के लिए किया जाता है।

सिंटैक्स

CREATE TABLE TableName (
Column1 data type,
Column2 data type,
....

ColumnN data type
);

उदाहरण

 
CREATE TABLE Customers
(
CustomerID int,
CustomerName varchar(255),
PhoneNumber int,
Address varchar(255),
City varchar(255),
Country varchar(255)
);

दृश्य बनाएं

एक दृश्य बनाने के लिए उपयोग किया जाता है।

सिंटैक्स

CREATE VIEW OR REPLACE ViewName AS
SELECT Column1, Column2, ..., ColumnN
FROM TableName
WHERE Condition;

उदाहरण

CREATE VIEW OR REPLACE HydCustomers AS
SELECT CustomerName, PhoneNumber
FROM Customers
WHERE City = "Hyderabad";
के अनुसार व्यू बनाएं या बदलें;

नोट: इससे पहले कि आप एक टेबल बनाना और मान दर्ज करना शुरू करें, आपको डेटाबेस का उपयोग करना होगा, यूएसई स्टेटमेंट का उपयोग [USE CustomersInfo; के रूप में करें। ]

ड्रॉप

DROP स्टेटमेंट का इस्तेमाल किसी मौजूदा टेबल, व्यू या डेटाबेस को ड्रॉप करने के लिए किया जाता है।

डेटाबेस ड्रॉप करें

डेटाबेस को छोड़ने के लिए उपयोग किया जाता है। जब आप इस कथन का उपयोग करते हैं, तो डेटाबेस में मौजूद पूरी जानकारी खो जाएगी।

सिंटैक्स

DROP DATABASE DatabaseName;

उदाहरण

DROP DATABASE CustomerInfo;

ड्रॉप टेबल

तालिका को गिराने के लिए प्रयुक्त होता है। जब आप इस कथन का उपयोग करते हैं, तो तालिका में मौजूद पूरी जानकारी खो जाएगी।

सिंटैक्स

DROP TABLE TableName;

उदाहरण

DROP TABLE Customers;

ड्रॉप व्यू

दृश्य को छोड़ने के लिए प्रयुक्त होता है। जब आप इस कथन का उपयोग करते हैं, तो दृश्य में मौजूद पूरी जानकारी खो जाएगी।

सिंटैक्स

DROP VIEW ViewName;

उदाहरण

DROP VIEW HydCustomers;

बदलें

ALTER स्टेटमेंट का इस्तेमाल मौजूदा टेबल में बाधाओं या कॉलम को जोड़ने, हटाने या संशोधित करने के लिए किया जाता है।

तालिका बदलें

ALTER स्टेटमेंट का इस्तेमाल मौजूदा टेबल में कॉलम को हटाने, जोड़ने, संशोधित करने के लिए किया जाता है। आप तालिका में किसी कॉलम को जोड़ने या छोड़ने के लिए ADD/DROP कॉलम के साथ ALTER TABLE का उपयोग कर सकते हैं। इसके अलावा, आप किसी विशिष्ट कॉलम को ALTER/MODIFY भी कर सकते हैं।

सिंटैक्स

ALTER TABLE TableName
ADD ColumnName Data Type;
ALTER TABLE TableName
DROP COLUMN ColumnName;

ALTER TABLE TableName
ALTER COLUMN ColumnName Data Type;

उदाहरण

--ADD Column Gender:
 ALTER TABLE Customers
ADD  Gender varchar(255);
 
--DROP Column Gender: 
ALTER TABLE Customers
DROP COLUMN Gender ;

--Add a column DOB and change the data type from Date to Year.
 
ALTER TABLE DOB
ADD DOB date;
 
ALTER TABLE DOB
ALTER DOB year;

छंटनी

TRUNCATE स्टेटमेंट का उपयोग टेबल में मौजूद जानकारी को डिलीट करने के लिए किया जाता है, लेकिन टेबल को ही नहीं। इसलिए, एक बार जब आप इस आदेश का उपयोग करते हैं, तो आपकी जानकारी खो जाएगी, लेकिन तालिका अभी भी डेटाबेस में मौजूद नहीं रहेगी।

वाक्यविन्यास

TRUNCATE TABLE TableName;

उदाहरण

TRUNCATE Table Customers;

व्याख्या करें

EXPLAIN और DESCRIBE स्टेटमेंट समानार्थक शब्द हैं जिनका उपयोग क्रमशः क्वेरी निष्पादन योजना और तालिका संरचना के बारे में जानकारी प्राप्त करने के लिए किया जाता है। इस कथन का उपयोग INSERT , DELETE, SELECT, UPDATE और REPLACE कथनों के साथ किया जा सकता है।

वाक्यविन्यास

--Syntax for DESCRIBE
DESCRIBE TableName;

--Sample syntax for EXPLAIN
EXPLAIN ANALYZE SELECT * FROM TableName1 JOIN TableName2 ON (TableName1.ColumnName1 = TableName2.ColumnName2);

उदाहरण

DESCRIBE Customers;

EXPLAIN ANALYZE SELECT * FROM Customers1 JOIN Orders ON (Customers.CustomerID = Orders.CustomerID);

इन्सर्ट करें

INSERT INTO स्टेटमेंट का इस्तेमाल टेबल में नए रिकॉर्ड डालने के लिए किया जाता है।

सिंटैक्स

INSERT INTO TableName (Column1, Column2, Column3, ...,ColumnN)
VALUES (value1, value2, value3, ...);

--If you do not want to mention the column names then use the below syntax, but the order of values entered should match the column data types :

INSERT INTO TableName
VALUES (Value1, Value2, Value3, ...);

उदाहरण

INSERT INTO Customers(CustomerID, CustomerName, PhoneNumber, Address, City, Country)
VALUES ('06', 'Sanjana', '9654323491', 'Oxford Street House No 10', 'Bengaluru', 'India');
 
INSERT INTO Customers
VALUES ('07', 'Himani','9858018368', 'Nice Road 42', 'Kolkata', 'India');

अपडेट करें

अद्यतन विवरण का उपयोग तालिका में पहले से मौजूद रिकॉर्ड को संशोधित करने के लिए किया जाता है।

सिंटैक्स

UPDATE TableName
SET Column1 = Value1, Column2 = Value2, ...
WHERE Condition;

उदाहरण

UPDATE Customers
SET CustomerName = 'Aisha', City= 'Kolkata'
WHERE EmployeeID = 2;

चुनें

SELECT कथन का उपयोग डेटाबेस से डेटा का चयन करने और उसे परिणाम तालिका में संग्रहीत करने के लिए किया जाता है, जिसे परिणाम-सेट कहा जाता है। ।

वाक्यविन्यास

SELECT Column1, Column2, ...ColumN
FROM TableName;

--(*) is used to select all from the table
SELECT * FROM table_name;

-- To select the number of records to return use:
SELECT TOP 3 * FROM TableName;

उदाहरण

SELECT CustomerID, CustomerName
FROM Customers;
 
--(*) is used to select all from the table
SELECT * FROM Customers;
 
-- To select the number of records to return use:
SELECT TOP 3 * FROM Customers;

इसके अलावा, आप SELECT कीवर्ड का उपयोग DISTINCT, ORDER BY, GROUP BY, HAVING क्लॉज और INTO के साथ कर सकते हैं।

पसंद करें

इस ऑपरेटर का उपयोग WHERE क्लॉज के साथ टेबल के कॉलम में निर्दिष्ट पैटर्न को खोजने के लिए किया जाता है। मुख्य रूप से दो वाइल्डकार्ड हैं जिनका उपयोग LIKE ऑपरेटर के साथ संयोजन में किया जाता है:

  • % - यह 0 या अधिक वर्ण से मेल खाता है।
  • _ - यह बिल्कुल एक वर्ण से मेल खाता है।

सिंटैक्स

SELECT ColumnName(s)
FROM TableName
WHERE ColumnName LIKE pattern;

उदाहरण

SELECT * FROM Customers
WHERE CustomerName LIKE 'S%';

अनुदान

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

सिंटैक्स

GRANT PrivilegeName
ON ObjectName
TO {UserName |PUBLIC |RoleName}
[WITH GRANT OPTION];

कहां,

  • विशेषाधिकार का नाम - उपयोगकर्ता को दिए गए विशेषाधिकार/अधिकार/पहुंच।
  • ऑब्जेक्टनाम - डेटाबेस ऑब्जेक्ट का नाम जैसे टेबल/व्यू/स्टोरेड प्रोसी।
  • उपयोगकर्ता नाम - उस उपयोगकर्ता का नाम जिसे एक्सेस/अधिकार/विशेषाधिकार दिए गए हैं।
  • सार्वजनिक - सभी उपयोगकर्ताओं को एक्सेस अधिकार प्रदान करने के लिए।
  • भूमिका का नाम - एक साथ समूहीकृत विशेषाधिकारों के समूह का नाम।
  • अनुदान विकल्प के साथ - उपयोगकर्ता को अन्य उपयोगकर्ताओं को अधिकार प्रदान करने के लिए पहुंच प्रदान करने के लिए।

उदाहरण

-- To grant SELECT permission to Customers table to admin
GRANT SELECT ON Customers TO admin;

अब जब आप शीर्ष SQL कमांड को जानते हैं, तो आइए समझते हैं कि डेटाबेस में विभिन्न प्रकार की कुंजियों का उपयोग क्या है। खैर, यह अवधारणा आपको यह समझने में मदद करेगी कि संबंधपरक डेटाबेस प्रबंधन प्रणाली में प्रत्येक तालिका दूसरी तालिका से कैसे संबंधित है।

एसक्यूएल ट्यूटोरियल:कुंजियां

निम्नलिखित 7 प्रकार की कुंजियाँ हैं, जिन पर एक डेटाबेस में विचार किया जा सकता है:

  • उम्मीदवार कुंजी - विशेषताओं का एक सेट जो विशिष्ट रूप से एक तालिका की पहचान कर सकता है उसे उम्मीदवार कुंजी कहा जा सकता है। एक तालिका में एक से अधिक उम्मीदवार कुंजी हो सकती है, और चयनित उम्मीदवार कुंजी में से एक कुंजी को प्राथमिक कुंजी के रूप में चुना जा सकता है।
  • सुपर की - विशेषताओं का समूह जो विशिष्ट रूप से एक टपल की पहचान कर सकता है, सुपर की के रूप में जाना जाता है। तो, एक उम्मीदवार कुंजी, प्राथमिक कुंजी, और एक अद्वितीय कुंजी एक सुपरकी है, लेकिन इसके विपरीत यह सच नहीं है।
  • प्राथमिक कुंजी – प्रत्येक टपल को विशिष्ट रूप से पहचानने के लिए उपयोग की जाने वाली विशेषताओं का एक समूह भी एक प्राथमिक कुंजी है।
  • वैकल्पिक कुंजी - वैकल्पिक कुंजी उम्मीदवार कुंजी हैं, जिन्हें प्राथमिक कुंजी के रूप में नहीं चुना जाता है।
  • अद्वितीय कुंजी – अद्वितीय कुंजी प्राथमिक कुंजी के समान है, लेकिन कॉलम में एक NULL मान की अनुमति देती है।
  • विदेशी कुंजी - एक विशेषता जो केवल किसी अन्य विशेषता के मूल्यों के रूप में मौजूद मूल्यों को ले सकती है, वह उस विशेषता की विदेशी कुंजी है जिसे वह संदर्भित करती है।
  • समग्र कुंजी – एक संयुक्त कुंजी दो या दो से अधिक स्तंभों का एक संयोजन है जो प्रत्येक टपल को विशिष्ट रूप से पहचानती है।

मुझे आशा है कि आप डेटाबेस में विभिन्न प्रकार की कुंजियों को समझ गए होंगे, SQL ट्यूटोरियल पर इस लेख के आगे, आइए हम डेटाबेस में बाधाओं पर चर्चा करें। खैर, SQL बाधाओं का उपयोग तालिका के माध्यम से डेटाबेस में जाने वाले डेटा की सटीकता और विश्वसनीयता को बढ़ाने के लिए किया जाता है।

एसक्यूएल ट्यूटोरियल: बाधाएं

SQL बाधाएं सुनिश्चित करती हैं कि डेटा के लेन-देन के मामले में कोई उल्लंघन नहीं है, यदि पाया जाता है तो कार्रवाई समाप्त कर दी जाएगी। निम्नलिखित बाधाओं का मुख्य उपयोग तालिका में जाने वाले डेटा के प्रकार को सीमित करना है।

  • बिल्कुल नहीं - इस बाधा का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि कोई कॉलम NULL मान संग्रहीत नहीं कर सकता।
  • अद्वितीय - अद्वितीय बाधा का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि किसी स्तंभ या तालिका में दर्ज सभी मान अद्वितीय हैं।
  • जांच करें - इस बाधा का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि एक कॉलम या कई कॉलम एक विशिष्ट शर्त को पूरा करते हैं।
  • डिफ़ॉल्ट - यदि कोई मान निर्दिष्ट नहीं है, तो कॉलम के लिए डिफ़ॉल्ट मान सेट करने के लिए DEFAULT बाधा का उपयोग किया जाता है।
  • INDEX - इस बाधा का उपयोग तालिका में अनुक्रमित करने के लिए किया जाता है, जिसके माध्यम से आप डेटाबेस से डेटा को बहुत तेज़ी से बना और पुनर्प्राप्त कर सकते हैं।

यदि आप सिंटैक्स और उदाहरणों के साथ निम्नलिखित बाधाओं के बारे में गहराई से जानना चाहते हैं, तो आप SQL पर अन्य लेख देख सकते हैं। तो, अब जब आप डेटाबेस में कुंजियों और बाधाओं के बारे में जानते हैं, तो SQL ट्यूटोरियल पर इस लेख के आगे, आइए हम एक दिलचस्प अवधारणा सामान्यीकरण पर एक नज़र डालें।

एसक्यूएल ट्यूटोरियल:सामान्यीकरण

सामान्यीकरण दोहराव और अतिरेक से बचने के लिए डेटा को व्यवस्थित करने की प्रक्रिया है। सामान्यीकरण के कई क्रमिक स्तर होते हैं और उन्हें सामान्य रूप . कहा जाता है . साथ ही, प्रत्येक लगातार सामान्य रूप पिछले एक पर निर्भर करता है। निम्नलिखित सामान्य रूप मौजूद हैं:

उपरोक्त सामान्य रूपों को समझने के लिए, आइए निम्नलिखित तालिका पर विचार करें:

उपरोक्त तालिका को देखकर, आप स्पष्ट रूप से डेटा अतिरेक और डेटा के दोहराव का पता लगा सकते हैं। तो, चलिए इस तालिका को सामान्य करते हैं। डेटाबेस को सामान्य बनाना शुरू करने के लिए, आपको हमेशा सबसे कम सामान्य फॉर्म यानी 1NF से शुरू करना चाहिए और फिर अंततः उच्च सामान्य फॉर्म में जाना चाहिए।

अब, आइए देखें कि हम उपरोक्त तालिका के लिए पहला सामान्य फॉर्म कैसे निष्पादित कर सकते हैं।

पहला सामान्य फ़ॉर्म(1NF)

यह सुनिश्चित करने के लिए कि डेटाबेस 1NF . में होना चाहिए , प्रत्येक टेबल सेल का एक ही मान होना चाहिए। इसलिए, मूल रूप से सभी रिकॉर्ड अद्वितीय होने चाहिए . उपरोक्त तालिका को नीचे के रूप में 1NF में सामान्यीकृत किया जाएगा:

यदि आप उपरोक्त तालिका में देखते हैं, तो सभी रिकॉर्ड अद्वितीय हैं। लेकिन, फिर भी बहुत अधिक डेटा अतिरेक और दोहराव है। तो, इससे बचने के लिए, आइए डेटाबेस को दूसरे सामान्य रूप में सामान्य करें।

दूसरा सामान्य रूप(2NF)

यह सुनिश्चित करने के लिए कि डेटाबेस 2NF में होना चाहिए , डेटाबेस 1NF होना चाहिए और एक एकल-स्तंभ प्राथमिक कुंजी भी होनी चाहिए . उपरोक्त तालिका को नीचे के रूप में 2NF में सामान्यीकृत किया जाएगा:

यदि आप उपरोक्त तालिकाओं का अवलोकन करते हैं, तो प्रत्येक तालिका में एक एकल-स्तंभ प्राथमिक कुंजी होती है। लेकिन कुछ कॉलमों में बहुत अधिक डेटा अतिरेक और दोहराव है। तो इससे बचने के लिए, आइए डेटाबेस को तीसरे सामान्य रूप में सामान्य करें।

तीसरा सामान्य फॉर्म(3NF)

यह सुनिश्चित करने के लिए कि डेटाबेस 3NF में होना चाहिए , डेटाबेस 2NF में होना चाहिए और कोई सकर्मक कार्यात्मक निर्भरता नहीं होनी चाहिए . उपरोक्त तालिकाओं को नीचे के रूप में 3NF में सामान्यीकृत किया जाएगा:

यदि आप उपरोक्त तालिकाओं का अवलोकन करते हैं, तो डेटाबेस में कोई संक्रमणीय निर्भरता नहीं है। इसलिए, इस चरण के बाद, हमें अपने डेटाबेस को और सामान्य करने की आवश्यकता नहीं है। लेकिन, अगर आपको कोई विसंगतियां मौजूद हैं या एक से अधिक उम्मीदवार कुंजी दिखाई देती हैं, तो आप अगले उच्चतर सामान्य फॉर्म यानी बीसीएनएफ के साथ आगे बढ़ सकते हैं।

बॉयस-कॉड नॉर्मल फॉर्म (BCNF)

यह सुनिश्चित करने के लिए कि डेटाबेस BCNF में होना चाहिए, डेटाबेस 3NF में मौजूद होना चाहिए और तालिकाओं को और विभाजित किया जाना चाहिए, यह सुनिश्चित करने के लिए कि केवल एक उम्मीदवार कुंजी मौजूद है।

इसी के साथ, हम सामान्यीकरण की समाप्ति पर आ जाते हैं। अब, इस SQL ​​​​ट्यूटोरियल में आगे, आइए SQL में एक महत्वपूर्ण अवधारणा पर चर्चा करें, जो कि Joins है।

एसक्यूएल ट्यूटोरियल:जुड़ता है

ज्वाइन का उपयोग दो या दो से अधिक तालिकाओं से पंक्तियों को संयोजित करने के लिए किया जाता है, उन तालिकाओं के बीच संबंधित कॉलम के आधार पर और कुछ शर्तों पर भी। जॉइन मुख्यतः चार प्रकार के होते हैं:

  • INNER JOIN: यह जॉइन उन रिकॉर्ड्स को लौटाता है जिनके दोनों टेबलों में मेल खाने वाले मान हैं।
  • पूर्ण जॉइन: FULL JOIN उन सभी रिकॉर्ड को लौटाता है जिनका या तो बाएँ या दाएँ तालिका में मिलान होता है।
  • बाएं शामिल हों: यह बाएं टेबल से रिटर्न रिकॉर्ड में शामिल होता है, और वे रिकॉर्ड भी जो दाएं टेबल से शर्त को पूरा करते हैं।
  • राइट जॉइन: यह जॉइन राइट टेबल से रिटर्न रिकॉर्ड करता है, और वे रिकॉर्ड भी जो लेफ्ट टेबल से शर्त को पूरा करते हैं।

तो, यह JOINS पर एक संक्षिप्त विवरण था, लेकिन यदि आप एक विस्तृत उदाहरण के साथ JOINS पर विस्तृत विवरण चाहते हैं, तो आप SQL JOINS पर मेरा लेख देख सकते हैं। इसके बाद, इस SQL ​​​​ट्यूटोरियल में, आइए हम इस लेख की अंतिम अवधारणा यानी व्यू पर चर्चा करें।

एसक्यूएल ट्यूटोरियल:देखे जाने की संख्या

SQL में एक दृश्य एक एकल तालिका है, जो अन्य तालिकाओं से ली गई है। एक दृश्य में वास्तविक तालिका के समान पंक्तियाँ और स्तंभ होते हैं और इसमें एक या अधिक तालिकाओं के फ़ील्ड होते हैं। नीचे दी गई छवि देखें:

किसी दृश्य को बनाने और छोड़ने का तरीका समझने के लिए, आप ऊपर बताए गए CREATE और DROP कथनों का संदर्भ ले सकते हैं। इसके साथ, हम SQL ट्यूटोरियल पर इस लेख को समाप्त करते हैं। मुझे आशा है कि आपको यह लेख जानकारीपूर्ण लगा होगा। साथ ही, यदि आप डेटाबेस प्रशासक साक्षात्कार की तैयारी कर रहे हैं, और प्रश्नों की एक विस्तृत सूची खोज रहे हैं, तो आप SQL साक्षात्कार प्रश्न पर हमारे लेख का संदर्भ ले सकते हैं।

यदि आप MySQL के बारे में अधिक जानना चाहते हैं और इस ओपन-सोर्स रिलेशनल डेटाबेस को जानना चाहते हैं, तो हमारे MySQL DBA प्रमाणन प्रशिक्षण की जाँच करें जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक के साथ आता है -जीवन परियोजना का अनुभव। यह प्रशिक्षण आपको MySQL को गहराई से समझने और विषय पर महारत हासिल करने में मदद करेगा।

हमारे लिए एक प्रश्न है? कृपया इस SQLTutorial के टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपसे संपर्क करेंगे।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पहचान कॉलम को चौड़ा करने के प्रभाव को कम करना - भाग 4

  2. DROP से बेहतर ALTER

  3. ORA-03135 - RMAN डुप्लीकेट

  4. आरडीबीएमएस बनाम नोएसक्यूएल

  5. SQL में काउंट द्वारा ऑर्डर कैसे करें?