Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
MySQL + SQL · Lesson 8

DBMS Users के प्रकार

Database कौन-कौन use करता है?

एक database को सिर्फ़ एक तरह का व्यक्ति use नहीं करता। एक school database सोचिए: principal reports देखते हैं, office clerk fees entry करता है, teacher marks भरते हैं, किसी programmer ने result software बनाया है, और कोई रोज़ backup लेता है। ये सभी DBMS users हैं, लेकिन हर कोई database को अलग तरीके से use करता है।

💡 DBMS users को इस आधार पर बाँटा जाता है कि वे database के साथ क्या करते हैं — उसे संभालते हैं, design करते हैं, program करते हैं, या बस use करते हैं।

1. Database Administrator (DBA)

DBA पूरे database का ज़िम्मेदार व्यक्ति होता है। School के उदाहरण में DBA वह है जो पूरे system को सुरक्षित चलाता है।

  • User accounts बनाता है और तय करता है कि कौन क्या देख या बदल सकता है।
  • GRANT और REVOKE से permissions देता और वापस लेता है।
  • Backup लेता है और crash या गलती के बाद data recover करता है।
  • Performance पर नज़र रखता है — index जोड़ता है, धीमी queries ठीक करता है।
  • Database को सुरक्षित और updated रखता है।
-- DBA ने clerk को fees table सिर्फ़ पढ़ने की permission दी
GRANT SELECT ON school.fees TO 'clerk'@'localhost';

2. Database designers

Database designers तय करते हैं कि कौन-सा data store होगा और कैसे organise होगा — data भरने से पहले ही। वे users से बात करके tables, keys और relationships design करते हैं (अक्सर ER diagram से) और normalization लगाते हैं।

उदाहरण: तय करना कि school को students, classes और fees tables चाहिए, और roll_no primary key होगी।

3. System analysts

System analysts समझते हैं कि end users को असल में क्या चाहिए और साफ़ requirements लिखते हैं — जैसे "clerk एक click में fee receipt print कर सके"। फिर designers और programmers इन्हीं requirements से system बनाते हैं।

4. Application programmers

Application programmers (developers) वे programs, forms और reports बनाते हैं जिन्हें दूसरे लोग use करते हैं। वे PHP, Java या Python जैसी languages से database से जुड़ते हैं और अपने code से SQL चलाते हैं।

// PHP programmer किसी student का result पढ़ रहा है
$stmt = $pdo->prepare("SELECT name, total FROM results WHERE roll_no = ?");
$stmt->execute([$roll]);

Programmer को हर बार हाथ से query नहीं लिखनी पड़ती — तैयार application end user के लिए यह काम करती है।

5. End users और उनके प्रकार

End users अपना रोज़ का काम करने के लिए database use करते हैं। ये चार तरह के होते हैं:

  • Naive (parametric) users — सिर्फ़ तैयार screens और buttons use करते हैं, कभी query नहीं लिखते। उदाहरण: fees entry करने वाला school clerk, bank cashier, railway ticket clerk।
  • Casual users — database कभी-कभी use करते हैं और हर बार अलग जानकारी चाहिए होती है। उदाहरण: principal जो कभी-कभी कोई ख़ास report माँगते हैं।
  • Sophisticated users — SQL अच्छी तरह जानते हैं और खुद queries लिखते हैं। उदाहरण: data analyst, engineer या researcher।
  • Standalone users — किसी तैयार package से अपना छोटा personal database रखते हैं। उदाहरण: teacher जो marks अपने personal app या छोटी LibreOffice Base file में रखते हैं।

पर्दे के पीछे काम करने वाले

कुछ लोग आपका database सीधे use नहीं करते, लेकिन DBMS को संभव बनाते हैं:

  • DBMS designers और implementers — खुद DBMS software बनाते हैं (जैसे MySQL की team)।
  • Tool developers — backup, design या reporting जैसे tools बनाते हैं।
  • Operators और maintenance staff — hardware और software को चलाते और ठीक रखते हैं।

करके देखें: हर तरह के user का अलग MySQL account

असली school system में DBA सबको root password नहीं देता। हर तरह के user को अलग account मिलता है जिसमें सिर्फ़ ज़रूरी permissions हों (principle of least privilege)। ये commands DBA (root) के रूप में चलाएँ:

CREATE USER 'dev_app'@'localhost' IDENTIFIED BY 'Dev#2026pass';
CREATE USER 'clerk'@'localhost'   IDENTIFIED BY 'Clerk#2026pass';
CREATE USER 'analyst'@'localhost' IDENTIFIED BY 'Ana#2026pass';

GRANT SELECT, INSERT, UPDATE, DELETE ON school.* TO 'dev_app'@'localhost';  -- application programmer's app
GRANT SELECT, INSERT ON school.fees TO 'clerk'@'localhost';                -- naive user (fee screen)
GRANT SELECT ON school.* TO 'analyst'@'localhost';                         -- sophisticated user: read-only

SHOW GRANTS FOR 'clerk'@'localhost';
+--------------------------------------------------------------------------------------------------------------+ | Grants for clerk@localhost | +--------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO `clerk`@`localhost` IDENTIFIED BY PASSWORD '*45264D796ABCFA6A128A565E8807E08176D22EC3' | | GRANT SELECT, INSERT ON `school`.`fees` TO `clerk`@`localhost` | +--------------------------------------------------------------------------------------------------------------+

अब clerk के रूप में login करके ऐसा काम करें जिसकी clerk को अनुमति नहीं:

-- logged in as clerk
DELETE FROM school.fees WHERE roll_no = 2;
SELECT * FROM school.students;
ERROR 1142 (42000): DELETE command denied to user 'clerk'@'localhost' for table `school`.`fees` ERROR 1142 (42000): SELECT command denied to user 'clerk'@'localhost' for table `school`.`students`

Clerk fees जोड़ और देख सकता है पर delete नहीं कर सकता और students के records नहीं देख सकता। Clerk नौकरी छोड़े तो DBA DROP USER 'clerk'@'localhost'; चलाता है – किसी और account पर असर नहीं।

MariaDB 10.11 (MySQL-compatible) पर tested। MySQL 8 में वही permissions और errors मिलते हैं; उसका SHOW GRANTS password hash नहीं छापता। और पढ़ें: GRANT और REVOKE।

तुलना तालिका

Userमुख्य कामSQL लिखता है?School उदाहरण
DBASecurity, users, backup, performanceहाँIT in-charge
Database designerTables और keys design करनाहाँ (DDL)students/fees tables बनाना
System analystUser requirements समझनाकभी-कभारFee module की planning
Application programmerApps और forms बनानाहाँ, code के अंदरResult software बनाना
Naive userतैयार screens use करनानहींOffice clerk
Casual userकभी-कभार अलग reportsकभी-कभीPrincipal
Sophisticated userअपनी queries खुद लिखनाहाँData analyst
Standalone userछोटा personal databaseआमतौर पर नहींTeacher की अपनी marks file

आम गलतियाँ

  • Application programmer को "end user" कहना — programmer app बनाता है, end user उसे use करता है।
  • Naive और casual users को एक समझना — naive users रोज़ एक ही काम तय screens से करते हैं; casual users कभी-कभार अलग जानकारी माँगते हैं।
  • यह सोचना कि DBA सिर्फ़ बड़ी companies में होता है — छोटे school में अक्सर एक ही व्यक्ति DBA, designer और programmer तीनों का काम करता है।

सारांश

DBMS users हैं: DBA, database designers, system analysts, application programmers और end users (naive, casual, sophisticated और standalone)। आगे पढ़ें: DBMS के advantages और limitations, या देखें कि DBA GRANT और REVOKE कैसे use करता है।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

DBMS users कितने प्रकार के होते हैं?
मुख्य DBMS users हैं: Database Administrator (DBA), database designers, system analysts, application programmers और end users। End users के भी चार प्रकार होते हैं: naive (parametric), casual, sophisticated और standalone।
DBA कौन होता है और क्या काम करता है?
DBA यानी Database Administrator पूरे database का ज़िम्मेदार व्यक्ति होता है। वह user accounts बनाता है, permissions देता और वापस लेता है (GRANT/REVOKE), backup लेता है, खराबी के बाद data recover करता है और database को सुरक्षित रखता है।
Naive और sophisticated users में क्या अंतर है?
Naive users सिर्फ़ तैयार screens या apps चलाते हैं, जैसे bank का cashier या railway booking clerk; वे कभी query नहीं लिखते। Sophisticated users, जैसे data analyst या engineer, खुद SQL queries लिखकर जानकारी निकालते हैं।
क्या application programmer भी end user है?
नहीं। Application programmer वे programs और forms बनाता है (जैसे PHP, Java या Python में) जिन्हें बाद में end users चलाते हैं। Programmer code के ज़रिए database से काम करता है, जबकि end user तैयार application के ज़रिए।
सबसे ज़रूरी DBMS user कौन है?
हर role ज़रूरी है, लेकिन DBA की ज़िम्मेदारी सबसे बड़ी होती है क्योंकि access, security, backup और recovery उसी के हाथ में होते हैं। छोटे school या दुकान में अक्सर एक ही व्यक्ति DBA, designer और programmer तीनों का काम करता है।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicDBMS के Advantages और Limitations आपकी प्रगति: 8 / 151 (5%) · Lesson 9 / 151 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें