Introduction to MySQL and relational databases In Hindi
माईएसक्यूल क्या है? तो माई एसक्यूल एक ओपन-सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) सॉफ्टवेयर या डेटाबेस क्रिएट टू, प्रोसेस, स्टोर सॉफ्टवेयर है। माई एसक्यूल डेटाबेस यूजर को डेटाबेस को मैनेज करने और डेटाबेस टेबल रिकार्ड्स से इंटरैक्ट करने के लिए स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) का उपयोग करता है। माई एसक्यूल सॉफ्टवेयर का उपयोग डेटाबेस डेटा को स्टोर करने, डेटाबेस रिट्रीव करने, मौजूदा डेटाबेस टेबल डाटा अपडेट करने और मैनेज करने के लिए व्यापक रूप से उपयोग किया जाने वाला सॉफ्टवेयर है. जहा माई एसक्यूल खास तौर पर अपनी स्टोरेज एंड रिट्रीवल स्पीड, रिलायबिलिटी और फ्लेक्सिबिलिटी के लिए एक बेहतर सॉफ्टवेयर है।

माईएसक्यूल लैंप स्टैक (Linux, Apache, MySQL, PHP/Python/Perl) का बिल्ट-इन हिस्सा है, जहा डेटाबेस डिज़ाइनर के द्वारा माईएसक्यूल इस्तेमाल आमतौर पर वेब डेवलपमेंट में किया जाता है। माईएसक्यूल पीएचपी, पाइथन, जावा और कई अन्य प्रमुख प्रोग्रामिंग लैंग्वेज कम्पेटिबल सॉफ्टवेयर है।
What is a Relational Database?
माईएसक्यूल या अन्य डेटाबेस सॉफ्टवेयर में रिलेशनल डेटाबेस डेटाबेस टेबल के फील्ड कॉलम को आपस में जोड़ना होता है, जिसे डेटाबेस टेबल रिलेशन भी कहा जाता है, डेटाबेस टेबल रौस और कॉलम में व्यवस्थित होते हैं। रिलेशनल डेटाबेस सिमिलर डेटाबेस टेबल कॉलम को आपस में कनेक्ट करता है. जहा डेटा को इस तरह से स्ट्रक्चर किया जाता है कि विभिन्न डेटा सेट कॉलम के बीच रिलेशन बनाए जा सकें। जहा डेटाबेस टेबल में प्रत्येक टेबल में कॉलम (ऐट्रिब्यूट्स) और रौस (रिकॉर्ड) होती हैं। और डेटाबेस टेबल्स को वन टू वन, वन टू मेनी, और मेनी टू मेनी टेबल रिलेशनशिप एस्टाब्लिशड की जाती है।
Key concepts in relational databases.
Database Tables – माईएसक्यूल और अन्य डेटाबेस सॉफ्टवेयर में एक टेबल रौस और कॉलम आर्डर में व्यवस्थित डेटा का एक कलेक्शन है। जहा प्रत्येक टेबल एक अलग यूनिट (उदाहरण के लिए, एम्प्लोयी आईडी, एम्प्लोयी नाम, ऐज, सैलरी, ईमेल) टेबल फील्ड को रिप्रेसन्ट करती है।
Example of a simple table in MySQL.
ID Name Age Salary email
1 Ajit 40 9999 anit@domain.com
2 Harry 21 8888 harry@domain.com
- Rows (records) – हर टेबल में इंडिविजुअल रौ एक सिंगल टेबल रिकॉर्ड या डेटा को रिप्रेजेंट करती है। उदाहरण के लिए, एम्प्लोयी टेबल में एक रौ सिंगल एम्प्लोयी टेबल रिकॉर्ड को रिप्रेजेंट कर सकती है।
- Columns (fields/attributes) – कॉलम टेबल में संग्रहीत डेटा के टाइप नेचर को इंडीकेट करते हैं। जहा प्रत्येक कॉलम रिकॉर्ड की एक ऐट्रिब्यूट्स या प्रॉपर्टीज को रिप्रेजेंट करता है। उदाहरण के लिए, एक नाम कॉलम किसी एम्प्लोयी का नाम संग्रहीत कर सकता है, जबकि एक ईमेल कॉलम एम्प्लोयी का ईमेल पता संग्रहीत करता है।
- Primary Key – टेबल प्राइमरी की टेबल में प्रत्येक रिकॉर्ड के लिए एक यूनिक आइडेंटिफायर है। यह सुनिश्चित करता है कि प्रत्येक रौ एक दूसरे से अलग है, और इसे स्पेशल रूप से टेबल में रेफ़्रेन्स किया जा सकता है। उदाहरण के लिए, एक आईडी कॉलम को अक्सर प्राइमरी की के रूप में उपयोग किया जाता है।
- Foreign key – एक फॉरेन की एक टेबल में एक कॉलम या कॉलम का ग्रुप है, जो किसी अन्य टेबल में प्राइमरी की को रेफेरेंस करता है। इस तरह से रिलेशनल डेटाबेस टेबल्स के बीच रिलेशन को बनाते हैं।
Database table relationships.
- One-to-one table relationship – जहा एम्प्लोयी टेबल x में प्रत्येक रिकॉर्ड टेबल y में ठीक एक रिकॉर्ड से रिलेटेड है। उदाहरण के लिए, जहा प्रत्येक एम्प्लोयी के पास एक यूनिक एम्प्लोयी आईडी है।
- One-to-many table relationship – जहा टेबल x में एक रिकॉर्ड टेबल y में कई रिकॉर्ड से रिलेटेड हो सकता है। उदाहरण के लिए, एक कस्टमर के पास कई ऑर्डर हो सकते हैं।
- Many-to-many table relationship – जहा टेबल x में कई रिकॉर्ड टेबल y में कई रिकॉर्ड से रिलेटेड हो सकते हैं। उदाहरण के लिए, स्टूडेंट कई कोर्सेस को ज्वाइन कर सकता हैं, और प्रत्येक कोर्सेज में कई स्टूडेंट हो सकते हैं। यह टेबल रिलेशन पर जंक्शन टेबल के साथ अप्लाई किया जाता है।
SQL (Structured Query Language) – एसक्यूल एक ऐसी डेटाबेस डिज़ाइन डेवेलपमेंट लैंग्वेज है. जिसका उपयोग रिलेशनल डेटाबेस के साथ कम्यूनिकेट करने के लिए किया जाता है। एसक्यूल आपको डेटाबेस से डेटा क्रिएट करने, टेबल डाटा रीड करने, टेबल डेटाबेस को अपडेट करने और टेबल डाटा को डिलीट की अनुमति देता है
Basic SQL operations in MySQL.
CREATE TABLE – क्रिएट टेबल कमांड माईएसक्यूल डेटाबेस में एक नई टेबल बनाने के लिए उपयोग किया जाता है।
CREATE TABLE employee (
id INT AUTO_INCREMENT PRIMARY KEY,
emp_name VARCHAR(110),
emp_department VARCHAR(120),
email VARCHAR(80)
);
INSERT INTO – माईएसक्यूल टेबल में नए रिकॉर्ड इन्सर्ट करने के लिए उपयोग किया जाता है।
INSERT INTO employee (emp_name, emp_department, email) VALUES (‘vinit’, ‘hr’, ‘vinit@domain.com’);
SELECT – माईएसक्यूल टेबल से डेटा क्वेरी करने के लिए उपयोग किया जाता है।
SELECT * FROM employee; — एम्प्लोयी टेबल से सभी रिकॉर्ड रिट्रीव करता है
UPDATE – माईएसक्यूल टेबल में मौजूदा रिकॉर्ड अपडेट करने के लिए उपयोग किया जाता है।
UPDATE employee SET email = ‘amit@domain.com’ WHERE id = 102;
DELETE – किसी माईएसक्यूल टेबल से रिकॉर्ड डिलीट के लिए उपयोग किया जाता है।
DELETE FROM employee WHERE id = 101;
ALTER TABLE – किसी मौजूदा माईएसक्यूल टेबल स्ट्रक्चर को मॉडिफाई करने के लिए उपयोग किया जाता है. जैसे, टेबल में कॉलम जोड़ना, टेबल कॉलम डेटा प्रकार बदलना, आदि ऑप्शन है।
ALTER TABLE employee ADD COLUMN contact INT;
JOIN – माईएसक्यूल में रिलेटेड कॉलम के आधार पर दो या अधिक डेटाबेस टेबल्स की रौस को संयोजित करने के लिए उपयोग किया जाता है।
SELECT orders.id, user.name FROM order
JOIN users ON order.user_id = user.id;
Relationships between tables in MySQL.
माईएसक्यूल रिलेशनल डेटाबेस में एक स्पेशल ऐट्रिब्यूट्स टेबल्स में डेटा को जोड़ने के फीचर्स प्रोवाइड करता है। ये टेबल रिलेशन आपको रियलटाइम वर्ल्ड के डेटा को अधिक एफ्फिसेंटली से मॉडल या स्ट्रक्चर करने में हेल्प करते हैं।
One-to-many relationship – इस मामले में, एक टेबल में एक रिकॉर्ड (जैसे यूजर) को दूसरी टेबल में कई रिकॉर्ड (जैसे ऑर्डर) से जोड़ा जा सकता है।
One-to-many relationship example.
- Users table – यूजर टेबल यूजर की जानकारी को स्टोर करती है।
- Orders table – ऑर्डर टेबल आर्डर इनफार्मेशन को स्टोर करती है, जहाँ प्रत्येक ऑर्डर एक यूजर का होता है।
यहाँ इस एक्साम्प्ल में, ऑर्डर टेबल में user_id एक फॉरेन की है, जो प्रत्येक ऑर्डर को एक स्पेसिफिक यूजर से जोड़ती है।
Normalization in relational databases in MySQL.
डेटाबेस सामान्यीकरण डेटा को इस तरह से व्यवस्थित करने की प्रोसेस है. जो डेटाबेस अतिरेक और डेटाबेस निर्भरता को कम करती है। इसमें लक्ष्य यह सुनिश्चित करना है कि डेटा लॉजिकल रूप से इस तरह से स्टोर किया जाए कि इसे एफ्फिसेंटली रूप से क्वेरी और अपडेट किया जा सके।
There are several normal forms of databases in MySQL (1NF, 2NF, 3NF, etc.), but here are some steps to follow.
- First Normal Form (1NF) – प्रत्येक टेबल में एक प्राइमरी की होनी चाहिए, और प्रत्येक कॉलम में वैल्यू कोई दोहराए जाने वाले समूह या ऐरे नहीं होने चाहिए।
- Second Normal Form (2NF) – डेटाबेस टेबल में आंशिक निर्भरता को हटाकर प्राप्त किया जाता है. जैसे, नॉन-की कॉलम को संपूर्ण प्राइमरी की पर निर्भर होना चाहिए, न कि केवल उसके भाग पर है।
- Third Normal Form (3NF) – मौजूदा डेटाबेस टेबल में सकर्मक निर्भरता को हटाकर प्राप्त किया जाता है. जैसे, नॉन-की कॉलम को अन्य नॉन-की कॉलम पर निर्भर नहीं होना चाहिए।
Indexes in MySQL databases.
माईएसक्यूल डेटाबेस में इंडेक्स का उपयोग टेबल क्वेरी प्रदर्शन को गति देने के लिए किया जाता है. स्पेसिफिक रूप से बड़े डेटासेट पर इंडेक्सिंग एक डेटा स्ट्रक्चर है, जो कुछ कॉलम में वैल्यूज के आधार पर रौस को इमीडियेट रिट्रीव करने की अनुमति देता है। डिफ़ॉल्ट रूप से, माईएसक्यूल प्राइमरी कीस पर इंडेक्स क्रिएट करता है, लेकिन आप मैन्युअल रूप से अन्य कॉलम पर इंडेक्स क्रिएट कर सकते हैं।
Indexes in MySQL Example.
CREATE INDEX idx_user_email ON user (email);
MySQL Foreign Keys and Referential Integrity.
फॉरेन की का उपयोग दो डेटाबेस टेबल्स के बीच रिलेशन लागू करने के लिए किया जाता है। यह सुनिश्चित करता है कि डेटा सुसंगत है, यह सुनिश्चित करके कि चाइल्ड टेबल में फॉरेन की वैल्यू पैरेंट टेबल में मौजूद होना चाहिए।
Foreign Keys and Referential Integrity Example.
orders टेबल जिसमें user_id एक फॉरेन की के रूप में है, जो user.id को रेफ़्रेन्स करती है.
ALTER TABLE order
ADD CONSTRAINT fk_user_id
FOREIGN KEY (user_id) REFERENCES user(id);
यह सुनिश्चित करता है कि प्रत्येक ऑर्डर को यूजर टेबल में किसी मौजूदा यूजर से लिंक किया जाना चाहिए।
Transactions in MySQL database.
ट्रांसक्शन एक या अधिक SQL संचालनों का अनुक्रम है, जो एक इकाई के रूप में निष्पादित होते हैं। यदि ट्रांसक्शन का कोई भी भाग विफल हो जाता है, तो स्थिरता बनाए रखने के लिए पूरे लेन-देन को वापस रोल किया जा सकता है।
Transactions in MySQL Example.
START TRANSACTION;
INSERT INTO user (name, email) VALUES (‘Mohit’, ‘mohit@example.com’);
INSERT INTO order (order_date, user_id) VALUES (‘2027-04-25’, 2);
COMMIT; — यदि सभी क्वेरी सफल होती हैं.
— यदि कुछ गलत होता है.
ROLLBACK;
MySQL Backup and Restore.
माईएसक्यूल में डेटा लॉसेस को स्टॉप करने के लिए नियमित रूप से डेटाबेस का बैकअप लेना जरूरी होता है। माईएसक्यूल बैकअप बनाने के लिए आपको विभिन्न उपकरण प्रदान करता है. जैसे कि mysqldump यूटिलिटी है।
Example for taking database backup in MySQL.
mysqldump -u username -p database_name > backup.sql
To restore a backup in MySQL.
mysql -u username -p database_name < backup.sql
MySQL Conclusion.
- माईएसक्यूल एक एफ्फिसेंटली और वर्ल्ड वाइड रूप से उपयोग की जाने वाली रिलेशनल डेटाबेस मैनेजमेंट सॉफ्टवेयर है।
- माईएसक्यूल में रिलेशनल डेटाबेस डेटा को टेबल आर्डर में स्टोर करते हैं, और टेबल के बीच रिलेशनशिप को प्राइमरी और फॉरेन कीस का उपयोग करके लागू किया जाता है।
- माईएसक्यूल आपको डेटाबेस के साथ इंटरैक्ट करने की अनुमति देता है. जिसमें डेटा क्रिएट करना, डेटाबेस अपडेट करना, और डेटाबेस से क्वेरी करना आदि कंट्रोल शामिल है।
- माईएसक्यूल में सामान्यीकरण सुनिश्चित करता है कि डेटा अतिरेक को कम करने और डेटाबेस टेबल में एफिशिएंसी में इम्प्रोवेंमेंट करने के लिए व्यवस्थित है।
- माईएसक्यूल में डेटाबेस टेबल ट्रांसक्शन, इंडेक्सिंग और फॉरेन की डेटा इंटीग्रिटी को बनाए रखने और प्रदर्शन को बेहतर बनाने में मदद करती हैं। रिलेशनल डेटाबेस और माईएसक्यूल की प्रमुख अवधारणाओं को समझकर, आप ऐसे डेटाबेस का निर्माण और प्रबंधन शुरू कर सकते हैं, जो कुशल, सुरक्षित और स्केलेबल हैं।