डेटाबेस डेटा का संगठित संग्रह है जिसे आसानी से संग्रहीत, प्रबंधित और पुनः प्राप्त किया जा सकता है। पारंपरिक फाइल प्रणाली की तुलना में डेटाबेस प्रणाली अधिक कुशल, सुरक्षित और सुसंगत है। DBMS (डेटाबेस मैनेजमेंट सिस्टम) वह सॉफ्टवेयर है जो डेटाबेस को बनाने, प्रबंधित करने और उस पर संचालन करने में सहायता करता है। MySQL दुनिया का सबसे लोकप्रिय ओपन-सोर्स RDBMS (रिलेशनल डेटाबेस मैनेजमेंट सिस्टम) है। यह SQL (स्ट्रक्चर्ड क्वेरी लैंग्वेज) का उपयोग करता है। MySQL को माइकल विडेनियस और डेविड एक्समार्क द्वारा विकसित किया गया था। वर्तमान में इसका स्वामित्व Oracle Corporation के पास है। इस अध्याय में हम DBMS की अवधारणाएँ, RDBMS की विशेषताएँ, डेटाबेस और टेबल बनाने की विधि तथा MySQL डेटा प्रकारों का अध्ययन करेंगे।
DBMS एक सॉफ्टवेयर है जो डेटाबेस के निर्माण, भंडारण, अद्यतन, पुनर्प्राप्ति और सुरक्षा का प्रबंधन करता है। DBMS के लाभ: - डेटा की निरर्थकता (Redundancy) को कम करना - डेटा की सुसंगतता (Consistency) बनाए रखना - डेटा साझा करने की सुविधा - डेटा की सुरक्षा - डेटा की अखंडता (Integrity)
DBMS के उदाहरण: MySQL, Oracle, PostgreSQL, MS Access, MongoDB।
RDBMS डेटा को तालिकाओं (Tables) में संग्रहीत करता है, जहाँ तालिकाओं के बीच संबंध (Relationship) स्थापित होते हैं। RDBMS की प्रमुख विशेषताएँ: - डेटा तालिकाओं (पंक्तियों और स्तंभों) में संग्रहीत होता है। - प्रत्येक तालिका में एक प्राथमिक कुंजी (Primary Key) होती है। - तालिकाओं के बीच विदेशी कुंजी (Foreign Key) से संबंध बनते हैं। - E.F. कॉड ने RDBMS के 12 नियम प्रस्तुत किए। - ACID गुण (Atomicity, Consistency, Isolation, Durability) का पालन।
रोल नंबर | नाम | कक्षा
---------|--------|------
101 | राहुल | 11
102 | सीमा | 11
यहाँ "रोल नंबर" प्राथमिक कुंजी हो सकती है, प्रत्येक पंक्ति एक रिकॉर्ड है और प्रत्येक स्तंभ एक फ़ील्ड।
SQL (Structured Query Language) एक मानक डेटाबेस भाषा है जिसका उपयोग डेटाबेस से डेटा को बनाने, संशोधित करने और पुनः प्राप्त करने के लिए होता है। SQL कथनों को मुख्यतः निम्नलिखित श्रेणियों में बाँटा गया है:
CREATE, ALTER, DROP, TRUNCATE, RENAME।INSERT, UPDATE, DELETE, SELECT।GRANT, REVOKE।COMMIT, ROLLBACK, SAVEPOINT।CREATE DATABASE student_db;
SHOW DATABASES;
USE student_db;
DROP DATABASE student_db;
USE कथन से हम चयनित डेटाबेस में कार्य करते हैं। डेटाबेस का नाम अद्वितीय होना चाहिए।
CREATE TABLE student (
roll_no INT PRIMARY KEY,
name VARCHAR(50),
class VARCHAR(5),
marks FLOAT
);
CREATE TABLE के बाद टेबल का नाम और कोष्ठक में स्तंभों की परिभाषा लिखी जाती है।PRIMARY KEY प्रतिबंध (Constraint) स्तंभ को अद्वितीय बनाता है।DESC student;
SHOW TABLES;
DROP TABLE student;
MySQL में स्तंभों के लिए विभिन्न डेटा प्रकार उपलब्ध हैं:
| डेटा प्रकार | वर्ग | उदाहरण/विवरण |
|---|---|---|
| INT | संख्यात्मक | संपूर्ण संख्या, -2147483648 से 2147483647 |
| SMALLINT | संख्यात्मक | छोटा पूर्णांक |
| DECIMAL(p,s) | संख्यात्मक | दशमलव संख्या, p अंक कुल, s दशमलव स्थान |
| FLOAT | संख्यात्मक | दशमलव संख्या |
| CHAR(n) | स्ट्रिंग | निश्चित लंबाई (n) वाला वर्ण-समूह |
| VARCHAR(n) | स्ट्रिंग | परिवर्तनीय लंबाई (n) तक |
| DATE | दिनांक | YYYY-MM-DD स्वरूप |
| TIME | समय | HH:MM:SS स्वरूप |
| DATETIME | दिनांक-समय | YYYY-MM-DD HH:MM:SS |
| BOOLEAN | तार्किक | TRUE/FALSE (आंतरिक रूप से 1/0) |
नई पंक्तियाँ जोड़ने के लिए INSERT INTO कथन का उपयोग होता है।
INSERT INTO student (roll_no, name, class, marks)
VALUES (101, 'राहुल', '11', 85.5);
INSERT INTO student VALUES (102, 'सीमा', '11', 92.0);
पहले रूप में स्तंभों के नाम स्पष्ट रूप से दिए जाते हैं, दूसरे रूप में सभी स्तंभों के मान क्रम से दिए जाते हैं। स्ट्रिंग मान एकल उद्धरण '...' में लिखे जाते हैं।
INSERT INTO student VALUES
(103, 'अमित', '11', 78.0),
(104, 'नेहा', '11', 88.5);
सभी रिकॉर्ड प्रदर्शित करने के लिए:
SELECT * FROM student;
कुछ स्तंभ प्रदर्शित करने के लिए:
SELECT name, marks FROM student;
प्रतिबंध डेटा की अखंडता सुनिश्चित करते हैं:
CREATE TABLE student (
roll_no INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
class VARCHAR(5) DEFAULT '11',
marks FLOAT CHECK (marks >= 0)
);
ALTER TABLE student ADD city VARCHAR(30);ALTER TABLE student DROP COLUMN city;ALTER TABLE student MODIFY name VARCHAR(80);ALTER TABLE student ADD city VARCHAR(30);
UPDATE student SET marks = 90 WHERE roll_no = 101;
DELETE FROM student WHERE roll_no = 104;
ध्यान दें कि WHERE शर्त के बिना UPDATE या DELETE तालिका के सभी रिकॉर्ड को प्रभावित करते हैं।
| कमांड | श्रेणी | कार्य |
|---|---|---|
| CREATE DATABASE | DDL | डेटाबेस बनाना |
| SHOW DATABASES | DDL | डेटाबेस की सूची |
| USE | DDL | डेटाबेस चुनना |
| CREATE TABLE | DDL | टेबल बनाना |
| ALTER TABLE | DDL | टेबल संशोधन |
| DROP TABLE | DDL | टेबल हटाना |
| INSERT | DML | रिकॉर्ड जोड़ना |
| SELECT | DML | डेटा देखना |
| UPDATE | DML | रिकॉर्ड बदलना |
| DELETE | DML | रिकॉर्ड हटाना |
| डेटा प्रकार | उपयोग |
|---|---|
| INT | पूर्णांक |
| FLOAT / DECIMAL | दशमलव |
| CHAR(n) | निश्चित लंबाई स्ट्रिंग |
| VARCHAR(n) | परिवर्तनीय लंबाई स्ट्रिंग |
| DATE | दिनांक (YYYY-MM-DD) |
| TIME | समय (HH:MM:SS) |
CREATE TABLE से पहले USE database_name; अनिवार्य है, अन्यथा त्रुटि आती है।MySQL डेटाबेस प्रबंधन का एक शक्तिशाली और लोकप्रिय साधन है। DBMS और RDBMS की अवधारणाएँ, डेटाबेस और टेबल का निर्माण, डेटा प्रकार, प्रतिबंध और DDL/DML कमांड इस अध्याय के मूल तत्व हैं। टेबल की संरचना (स्तंभ-पंक्ति), प्राथमिक कुंजी की भूमिका और SQL भाषा की श्रेणियाँ आगे के अध्यायों की नींव हैं। अगले अध्याय "MySQL क्वेरीज़" में हम SELECT की विभिन्न क्वेरी, शर्तें, क्रमबद्धता और एकत्रीकरण फ़ंक्शनों का अध्ययन करेंगे। छात्रों को सलाह है कि वे MySQL में स्वयं डेटाबेस और टेबल बनाकर सभी कमांड का अभ्यास करें, क्योंकि यह व्यावहारिक कौशल परीक्षा में सर्वाधिक लाभकारी है।