SQL
उदाहरण डेटाबेस और टेबल्स
खोज…
ऑटो शॉप डेटाबेस
निम्नलिखित उदाहरण में - एक ऑटो शॉप व्यवसाय के लिए डेटाबेस, हमारे पास विभागों, कर्मचारियों, ग्राहकों और ग्राहक कारों की एक सूची है। हम विभिन्न तालिकाओं के बीच संबंध बनाने के लिए विदेशी कुंजियों का उपयोग कर रहे हैं।
लाइव उदाहरण: एसक्यूएल फिडल
तालिकाओं के बीच संबंध
- प्रत्येक विभाग में 0 या अधिक कर्मचारी हो सकते हैं
- प्रत्येक कर्मचारी में 0 या 1 प्रबंधक हो सकते हैं
- प्रत्येक ग्राहक के पास 0 या अधिक कारें हो सकती हैं
विभागों
ईद | नाम |
---|---|
1 | मानव संसाधन |
2 | बिक्री |
3 | टेक |
SQL कथन तालिका बनाने के लिए:
CREATE TABLE Departments (
Id INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(25) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Departments
([Id], [Name])
VALUES
(1, 'HR'),
(2, 'Sales'),
(3, 'Tech')
;
कर्मचारियों
ईद | fName | LName | फ़ोन नंबर | प्रबंधक- | DepartmentId | वेतन | चुनने की तारीख |
---|---|---|---|---|---|---|---|
1 | जेम्स | लोहार | 1 2 3 4 5 6 7 8 9 0 | शून्य | 1 | 1000 | 2002/01/01 |
2 | जॉन | जॉनसन | 2468101214 | 1 | 1 | 400 | 23-03-2005 |
3 | माइकल | विलियम्स | 1357911131 | 1 | 2 | 600 | 2009/12/05 |
4 | Johnathon | लोहार | 1212121212 | 2 | 1 | 500 | 24-07-2016 |
SQL कथन तालिका बनाने के लिए:
CREATE TABLE Employees (
Id INT NOT NULL AUTO_INCREMENT,
FName VARCHAR(35) NOT NULL,
LName VARCHAR(35) NOT NULL,
PhoneNumber VARCHAR(11),
ManagerId INT,
DepartmentId INT NOT NULL,
Salary INT NOT NULL,
HireDate DATETIME NOT NULL,
PRIMARY KEY(Id),
FOREIGN KEY (ManagerId) REFERENCES Employees(Id),
FOREIGN KEY (DepartmentId) REFERENCES Departments(Id)
);
INSERT INTO Employees
([Id], [FName], [LName], [PhoneNumber], [ManagerId], [DepartmentId], [Salary], [HireDate])
VALUES
(1, 'James', 'Smith', 1234567890, NULL, 1, 1000, '01-01-2002'),
(2, 'John', 'Johnson', 2468101214, '1', 1, 400, '23-03-2005'),
(3, 'Michael', 'Williams', 1357911131, '1', 2, 600, '12-05-2009'),
(4, 'Johnathon', 'Smith', 1212121212, '2', 1, 500, '24-07-2016')
;
ग्राहकों
ईद | fName | LName | ईमेल | फ़ोन नंबर | PreferredContact |
---|---|---|---|---|---|
1 | विलियम | जोन्स | [email protected] | 3347927472 | फ़ोन |
2 | डेविड | चक्कीवाला | [email protected] | 2137921892 | ईमेल |
3 | रिचर्ड | डेविस | [email protected] | शून्य | ईमेल |
SQL कथन तालिका बनाने के लिए:
CREATE TABLE Customers (
Id INT NOT NULL AUTO_INCREMENT,
FName VARCHAR(35) NOT NULL,
LName VARCHAR(35) NOT NULL,
Email varchar(100) NOT NULL,
PhoneNumber VARCHAR(11),
PreferredContact VARCHAR(5) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Customers
([Id], [FName], [LName], [Email], [PhoneNumber], [PreferredContact])
VALUES
(1, 'William', 'Jones', '[email protected]', '3347927472', 'PHONE'),
(2, 'David', 'Miller', '[email protected]', '2137921892', 'EMAIL'),
(3, 'Richard', 'Davis', '[email protected]', NULL, 'EMAIL')
;
कारें
ईद | ग्राहक आईडी, ग्राहक पहचान | कर्मचारी कामतत्व | नमूना | स्थिति | कुल लागत |
---|---|---|---|---|---|
1 | 1 | 2 | फोर्ड एफ -150 | तैयार | 230 |
2 | 1 | 2 | फोर्ड एफ -150 | तैयार | 200 |
3 | 2 | 1 | फोर्ड मस्टंग | इंतज़ार कर रही | 100 |
4 | 3 | 3 | टोयोटा प्रियस | काम कर रहे | 1254 |
SQL कथन तालिका बनाने के लिए:
CREATE TABLE Cars (
Id INT NOT NULL AUTO_INCREMENT,
CustomerId INT NOT NULL,
EmployeeId INT NOT NULL,
Model varchar(50) NOT NULL,
Status varchar(25) NOT NULL,
TotalCost INT NOT NULL,
PRIMARY KEY(Id),
FOREIGN KEY (CustomerId) REFERENCES Customers(Id),
FOREIGN KEY (EmployeeId) REFERENCES Employees(Id)
);
INSERT INTO Cars
([Id], [CustomerId], [EmployeeId], [Model], [Status], [TotalCost])
VALUES
('1', '1', '2', 'Ford F-150', 'READY', '230'),
('2', '1', '2', 'Ford F-150', 'READY', '200'),
('3', '2', '1', 'Ford Mustang', 'WAITING', '100'),
('4', '3', '3', 'Toyota Prius', 'WORKING', '1254')
;
लाइब्रेरी डेटाबेस
लायब्रेरी के लिए इस उदाहरण डेटाबेस में, हमारे पास लेखक , पुस्तकें और BooksAuthors टेबल हैं।
लाइव उदाहरण: एसक्यूएल फिडल
लेखक और पुस्तकें बेस टेबल के रूप में जाने जाते हैं, क्योंकि वे संबंधपरक मॉडल में वास्तविक संस्थाओं के लिए कॉलम परिभाषा और डेटा रखते हैं। BooksAuthors संबंध तालिका के रूप में जाना जाता है, क्योंकि यह तालिका Books और लेखक तालिका के बीच संबंध को परिभाषित करती है।
तालिकाओं के बीच संबंध
- प्रत्येक लेखक के पास 1 या अधिक पुस्तकें हो सकती हैं
- प्रत्येक पुस्तक में 1 या अधिक लेखक हो सकते हैं
लेखक
( देखें तालिका )
ईद | नाम | देश |
---|---|---|
1 | जद सालिंगर | अमेरीका |
2 | एफ स्कॉट। फिजराल्ड़ | अमेरीका |
3 | जेन ऑस्टेन | यूके |
4 | स्कॉट हैंसेलमैन | अमेरीका |
5 | जेसन एन। गेलॉर्ड | अमेरीका |
6 | प्रणव रस्तोगी | भारत |
7 | टोड मिरांडा | अमेरीका |
8 | क्रिश्चियन वेनज़ | अमेरीका |
तालिका बनाने के लिए SQL:
CREATE TABLE Authors (
Id INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(70) NOT NULL,
Country VARCHAR(100) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Authors
(Name, Country)
VALUES
('J.D. Salinger', 'USA'),
('F. Scott. Fitzgerald', 'USA'),
('Jane Austen', 'UK'),
('Scott Hanselman', 'USA'),
('Jason N. Gaylord', 'USA'),
('Pranav Rastogi', 'India'),
('Todd Miranda', 'USA'),
('Christian Wenz', 'USA')
;
पुस्तकें
( देखें तालिका )
ईद | शीर्षक |
---|---|
1 | राई में पकड़ने वाला |
2 | नौ कहानियाँ |
3 | फ्रेनी और ज़ूवी |
4 | शानदार गेट्सबाई |
5 | रात को निविदा |
6 | प्राइड एंड प्रीजूडिस |
7 | पेशेवर ASP.NET 4.5 C # और VB में |
तालिका बनाने के लिए SQL:
CREATE TABLE Books (
Id INT NOT NULL AUTO_INCREMENT,
Title VARCHAR(50) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Books
(Id, Title)
VALUES
(1, 'The Catcher in the Rye'),
(2, 'Nine Stories'),
(3, 'Franny and Zooey'),
(4, 'The Great Gatsby'),
(5, 'Tender id the Night'),
(6, 'Pride and Prejudice'),
(7, 'Professional ASP.NET 4.5 in C# and VB')
;
BooksAuthors
( देखें तालिका )
BookId | AuthorId |
---|---|
1 | 1 |
2 | 1 |
3 | 1 |
4 | 2 |
5 | 2 |
6 | 3 |
7 | 4 |
7 | 5 |
7 | 6 |
7 | 7 |
7 | 8 |
तालिका बनाने के लिए SQL:
CREATE TABLE BooksAuthors (
AuthorId INT NOT NULL,
BookId INT NOT NULL,
FOREIGN KEY (AuthorId) REFERENCES Authors(Id),
FOREIGN KEY (BookId) REFERENCES Books(Id)
);
INSERT INTO BooksAuthors
(BookId, AuthorId)
VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 2),
(5, 2),
(6, 3),
(7, 4),
(7, 5),
(7, 6),
(7, 7),
(7, 8)
;
उदाहरण
सभी लेखक देखें ( लाइव उदाहरण देखें ):
SELECT * FROM Authors;
सभी पुस्तक शीर्षक देखें ( लाइव उदाहरण देखें ):
SELECT * FROM Books;
सभी पुस्तकें और उनके लेखक देखें ( लाइव उदाहरण देखें ):
SELECT
ba.AuthorId,
a.Name AuthorName,
ba.BookId,
b.Title BookTitle
FROM BooksAuthors ba
INNER JOIN Authors a ON a.id = ba.authorid
INNER JOIN Books b ON b.id = ba.bookid
;
देशों की तालिका
इस उदाहरण में, हमारे पास एक देश तालिका है। देशों के लिए एक तालिका के कई उपयोग हैं, विशेषकर मुद्राओं और विनिमय दरों से जुड़े वित्तीय अनुप्रयोगों में।
लाइव उदाहरण: एसक्यूएल फिडल
ब्लूमबर्ग और रॉयटर्स जैसे कुछ मार्केट डेटा सॉफ़्टवेयर एप्लिकेशन को मुद्रा कोड के साथ आपको अपना एपीआई या तो 2 या 3 वर्ण देश कोड देने की आवश्यकता होती है। इसलिए इस उदाहरण तालिका में 2-वर्ण ISO
कोड कॉलम और 3 वर्ण ISO3
कोड कॉलम हैं।
देश
( देखें तालिका )
ईद | आईएसओ | ISO3 | ISONumeric | देश का नाम | राजधानी | ContinentCode | मुद्रा कोड |
---|---|---|---|---|---|---|---|
1 | ए.यू. | ऑस्ट्रेलिया | 36 | ऑस्ट्रेलिया | कैनबरा | ओसी | AUD |
2 | डे | DEU | 276 | जर्मनी | बर्लिन | यूरोपीय संघ | ईयूआर |
2 | में | आईएनडी | 356 | भारत | नई दिल्ली | जैसा | INR |
3 | ला | लाओ | 418 | लाओस | वियनतियाने | जैसा | LAK |
4 | अमेरिका | अमेरीका | 840 | संयुक्त राज्य अमेरिका | वाशिंगटन | NA | USD |
5 | ZW | ZWE | 716 | जिम्बाब्वे | हरारे | ए एफ | ZWL |
तालिका बनाने के लिए SQL:
CREATE TABLE Countries (
Id INT NOT NULL AUTO_INCREMENT,
ISO VARCHAR(2) NOT NULL,
ISO3 VARCHAR(3) NOT NULL,
ISONumeric INT NOT NULL,
CountryName VARCHAR(64) NOT NULL,
Capital VARCHAR(64) NOT NULL,
ContinentCode VARCHAR(2) NOT NULL,
CurrencyCode VARCHAR(3) NOT NULL,
PRIMARY KEY(Id)
)
;
INSERT INTO Countries
(ISO, ISO3, ISONumeric, CountryName, Capital, ContinentCode, CurrencyCode)
VALUES
('AU', 'AUS', 36, 'Australia', 'Canberra', 'OC', 'AUD'),
('DE', 'DEU', 276, 'Germany', 'Berlin', 'EU', 'EUR'),
('IN', 'IND', 356, 'India', 'New Delhi', 'AS', 'INR'),
('LA', 'LAO', 418, 'Laos', 'Vientiane', 'AS', 'LAK'),
('US', 'USA', 840, 'United States', 'Washington', 'NA', 'USD'),
('ZW', 'ZWE', 716, 'Zimbabwe', 'Harare', 'AF', 'ZWL')
;