Database MCQ – Set 11 | Indexes, Transactions and ACID Properties (MySQL) में Index, CREATE INDEX, DROP INDEX, Transaction, COMMIT, ROLLBACK, START TRANSACTION, InnoDB, Implicit Commit तथा ACID Properties (Atomicity, Consistency, Isolation, Durability) पर 20 प्रश्न सरल हिंदी व्याख्या के साथ दिए गए हैं। DCA, PGDCA, BCA, ITI COPA और अन्य कंप्यूटर परीक्षाओं की तैयारी के लिए उपयोगी।
बहुविकल्पीय प्रश्नों के लिए निर्देश
- हर प्रश्न को ध्यान से पढ़ें।
- चार विकल्पों में से एक सही उत्तर चुनें।
- सही उत्तर पर ✅ और गलत उत्तर पर ❌ का चिन्ह दिखाई देगा।
- गलत उत्तर मिलने पर आप दोबारा प्रयास कर सकते हैं।
- सभी प्रश्नों को हल करने के पश्चात् कृपया Show Score बटन पर क्लिक करें। उत्तीर्ण होने के लिए न्यूनतम अंक प्रतिशत 60% है।
- अपने स्कोर को सुधारने के लिए Try Again बटन का उपयोग करें।
MySQL Indexes, Transactions and ACID Properties MCQ – Set 11
1. MySQL में Index का मुख्य उद्देश्य क्या है? (What is the main purpose of an index in MySQL?)
सही उत्तर : (A) डेटा खोजने की गति बढ़ाना (To improve data retrieval speed)
Explanation: Index किसी किताब की विषय-सूची (index page) की तरह काम करता है। जैसे किताब में पेज नंबर से विषय तुरंत मिल जाता है, वैसे ही Index से MySQL को row ढूँढने के लिए पूरी टेबल नहीं पढ़नी पड़ती। इससे SELECT क्वेरी तेज हो जाती है। यह डेटा डिलीट नहीं करता, टेबल का नाम नहीं बदलता और डेटाबेस बंद नहीं करता।
2. MySQL में सामान्य Index बनाने के लिए कौन-सा statement उपयोग होता है? (Which statement is used to create a regular index in MySQL?)
सही उत्तर : (C) CREATE INDEX
Explanation: CREATE INDEX कमांड से इंडेक्स बनता है, जैसे CREATE INDEX idx_name ON Student(Name);। यहाँ idx_name इंडेक्स का नाम है, Student टेबल है और Name वह कॉलम है जिस पर इंडेक्स बन रहा है। MAKE INDEX, ADD INDEX ONLY और NEW INDEX SQL के मान्य कमांड नहीं हैं।
3. Index का एक संभावित नुकसान क्या है? (What is a possible disadvantage of an index?)
सही उत्तर : (B) यह अतिरिक्त स्टोरेज लेता है और डेटा मॉडिफिकेशन को धीमा कर सकता है (It uses extra storage and can slow data modifications)
Explanation: Index खोज (SELECT) को तेज करता है, पर उसकी अपनी अलग जगह (storage) लगती है। जब भी INSERT, UPDATE या DELETE होता है, MySQL को इंडेक्स भी अपडेट करना पड़ता है, जिससे ये काम थोड़े धीमे हो जाते हैं। इसलिए हर कॉलम पर इंडेक्स नहीं बनाया जाता।
4. MySQL में किसी Index को हटाने के लिए कौन-सा स्टेटमेंट उपयोग किया जाता है? (Which statement is used to remove an index in MySQL?)
सही उत्तर : (D) DROP INDEX
Explanation: DROP INDEX कमांड से इंडेक्स हटाया जाता है, जैसे DROP INDEX idx_name ON Student;। ध्यान रखें—डेटा हटाने के लिए DELETE और टेबल हटाने के लिए DROP TABLE का उपयोग होता है, पर इंडेक्स हटाने के लिए DROP INDEX ही सही है। DELETE INDEX, REMOVE KEY और CLEAR INDEX मान्य कमांड नहीं हैं।
5. Database transaction क्या है? (What is a database transaction?)
सही उत्तर : (A) SQL स्टेटमेंट्स का एक लॉजिकल ग्रुप, जिसे एक यूनिट के रूप में मैनेज किया जाता है (A logical group of SQL statements managed as one unit)
Explanation: Transaction कई SQL कामों को एक साथ जोड़कर एक यूनिट बनाता है। इसका सबसे अच्छा उदाहरण बैंक ट्रांसफर है—एक खाते से पैसे कटना और दूसरे खाते में जमा होना, दोनों काम एक ही transaction में होते हैं। अगर बीच में कोई समस्या आए तो पूरा काम वापस (rollback) हो जाता है। Transaction न डेटाबेस का नाम है, न कॉलम, न इंडेक्स।
6. Transaction में COMMIT का क्या कार्य है? (What does COMMIT do in a transaction?)
सही उत्तर : (B) Transaction के changes को स्थायी रूप से सेव करना (To permanently save transaction changes)
Explanation: COMMIT transaction के सारे बदलावों को पक्का (permanent) कर देता है। COMMIT के बाद वे बदलाव डेटाबेस में स्थायी रूप से सेव हो जाते हैं। यह डेटाबेस नहीं हटाता, टेबल का नाम नहीं बदलता और इंडेक्स नहीं बनाता।
7. ROLLBACK का उपयोग क्यों किया जाता है? (Why is ROLLBACK used?)
सही उत्तर : (C) Transaction के uncommitted changes को वापस लेने के लिए (To undo uncommitted transaction changes)
Explanation: ROLLBACK transaction के उन बदलावों को रद्द कर देता है जो अभी COMMIT नहीं हुए। जैसे बैंक ट्रांसफर में पैसे कटने के बाद दूसरे खाते में जमा होने में गड़बड़ी हो जाए, तो ROLLBACK से सब कुछ पहले जैसा हो जाता है। यह डेटाबेस या इंडेक्स नहीं बनाता और टेबल का नाम नहीं बदलता।
8. ACID में A का अर्थ क्या है? (What does A stand for in ACID?)
सही उत्तर : (B) Atomicity
Explanation: ACID चार गुणों का संक्षिप्त रूप है—Atomicity, Consistency, Isolation और Durability। ये transaction को भरोसेमंद बनाते हैं। यहाँ A का अर्थ Atomicity है, Access, Allocation या Accuracy नहीं।
9. Transaction में Atomicity का क्या अर्थ है? (What does atomicity mean in a transaction?)
सही उत्तर : (A) Transaction पूरा लागू होगा या लागू नहीं होगा (A transaction is applied completely or not at all)
Explanation: Atomicity का अर्थ है "सब या कुछ नहीं" (all or nothing)। Transaction के सभी स्टेप्स या तो पूरे सफल होंगे या पूरे रद्द हो जाएँगे—आधे-अधूरे नहीं रहेंगे। बैंक ट्रांसफर में पैसे कट गए पर जमा न हों, ऐसा नहीं हो सकता। इसका टेबल में rows की संख्या या कॉलम की uniqueness से कोई संबंध नहीं।
10. ACID में Consistency क्या सुनिश्चित करती है? (What does consistency ensure in ACID?)
सही उत्तर : (C) Transaction के बाद डेटाबेस valid rules का पालन करता है (The database follows valid rules after a transaction)
Explanation: Consistency यह सुनिश्चित करती है कि transaction के बाद डेटाबेस सभी नियमों (constraints, Primary Key, Foreign Key आदि) का पालन करे। जैसे बैंक में कुल पैसे का जोड़ हमेशा सही रहे—एक खाते से कटे तो दूसरे में जुड़े। यह क्वेरी के समय, टेबल के नाम या users के administrator होने से संबंधित नहीं है।
11. ACID में Isolation का उद्देश्य क्या है? (What is the purpose of isolation in ACID?)
सही उत्तर : (D) Concurrent transactions के एक-दूसरे पर अनचाहे प्रभाव को नियंत्रित करना (To control unwanted interference between concurrent transactions)
Explanation: Isolation का अर्थ है कि जब कई transactions एक साथ (concurrently) चल रहे हों, तो एक transaction का अधूरा काम दूसरे transaction के परिणाम को गलत न करे। हर transaction अपना काम अलग-थलग कर रहा हो, ऐसा महसूस हो। यह users हटाने, डेटाबेस ऑफलाइन करने या transactions रोकने के लिए नहीं है।
12. ACID में Durability का क्या अर्थ है? (What does durability mean in ACID?)
सही उत्तर : (A) ट्रांजेक्शन्स commit होने के बाद उसके changes सुरक्षित रहते हैं (Changes remain preserved after a transaction commits)
Explanation: Durability का अर्थ है टिकाऊपन। COMMIT के बाद बदलाव स्थायी हो जाते हैं—चाहे सिस्टम क्रैश हो जाए या बिजली चली जाए, सेव किया हुआ डेटा सुरक्षित रहता है। यह डेटाबेस खाली होने, सब rollback होने या इंडेक्स हटने से संबंधित नहीं है।
13. MySQL में START TRANSACTION का उपयोग किसलिए होता है? (What is START TRANSACTION used for in MySQL?)
सही उत्तर : (B) Transaction शुरू करने के लिए (To start a transaction)
Explanation: START TRANSACTION कमांड एक नया transaction शुरू करता है। इसके बाद जो भी SQL काम होंगे, वे तब तक पक्के नहीं होंगे जब तक COMMIT न हो, और ROLLBACK से वापस लिए जा सकते हैं। यह टेबल डिलीट करने, यूजर बनाने या कॉलम rename करने के लिए नहीं है।
14. InnoDB storage engine में सामान्यतः कौन-सी सुविधा उपलब्ध है? (Which feature is generally available in the InnoDB storage engine?)
सही उत्तर : (B) Transaction support (Transaction support)
Explanation: MySQL में InnoDB डिफ़ॉल्ट storage engine है और यह transaction support देता है—COMMIT, ROLLBACK और ACID properties के साथ। यह read-only नहीं है, केवल टेक्स्ट फाइल्स नहीं है और SQL पूरी तरह सपोर्ट करता है।
15. यदि transaction में कई statements हों और उनमें से कोई एक विफल हो जाए, तो Atomicity का उद्देश्य क्या है? (If one statement in a multi-statement transaction fails, what does atomicity aim to ensure?)
सही उत्तर : (C) Transaction पूरा लागू हो या उसके प्रभाव वापस लिए जाएँ (The transaction is fully applied or its effects are rolled back)
Explanation: Atomicity यह सुनिश्चित करती है कि अगर transaction के किसी एक statement में भी गड़बड़ी हो, तो पहले हुए सभी बदलाव ROLLBACK से वापस ले लिए जाएँ। इससे डेटाबेस आधे-अधूरे बदलावों की स्थिति में नहीं रहता। यह टेबल्स rename, indexes डिलीट या डेटाबेस बंद होने से संबंधित नहीं है।
16. MySQL में DDL statement चलाने पर सामान्यतः क्या हो सकता है? (What may generally happen when a DDL statement is executed in MySQL?)
सही उत्तर : (A) Implicit commit हो सकता है (An implicit commit may occur)
Explanation: MySQL में DDL statements (जैसे CREATE, ALTER, DROP) चलाने पर implicit commit हो जाता है, यानी उससे पहले के transaction के बदलाव अपने आप COMMIT हो जाते हैं। इसलिए DDL के बाद उन बदलावों को ROLLBACK नहीं किया जा सकता। यह डेटाबेस डिलीट, users हटाने या स्कीमा बदलने से संबंधित नहीं है।
17. यदि किसी transaction को COMMIT नहीं किया गया और ROLLBACK किया गया, तो क्या होगा? (What happens if an uncommitted transaction is rolled back?)
सही उत्तर : (D) Transaction के uncommitted changes वापस लिए जाते हैं (The uncommitted transaction changes are undone)
Explanation: जो बदलाव अभी COMMIT नहीं हुए थे, ROLLBACK उन सबको वापस ले लेता है और डेटाबेस transaction शुरू होने से पहले की स्थिति में आ जाता है। इससे databases डिलीट नहीं होते, indexes नहीं हटते और टेबल का नाम नहीं बदलता।
18. जिस column पर अक्सर WHERE condition लगाई जाती है, उस पर Index क्यों उपयोगी हो सकता है? (Why can an index be useful on a column frequently used in a WHERE condition?)
सही उत्तर : (B) वह मैचिंग records खोजने में मदद कर सकता है (It can help find matching records)
Explanation: WHERE क्लॉज में जिस कॉलम पर बार-बार शर्त लगती है, उस पर Index बनाने से MySQL को मिलती-जुलती (matching) rows जल्दी मिल जाती हैं, क्योंकि उसे पूरी टेबल स्कैन नहीं करनी पड़ती। यह रिकॉर्ड डिलीट नहीं करता, डेटाबेस का नाम नहीं बदलता और कॉलम को हमेशा unique भी नहीं बनाता (unique के लिए UNIQUE INDEX चाहिए)।
19. MySQL में transaction से संबंधित statements का सही समूह कौन-सा है? (Which is the correct group of MySQL transaction statements?)
सही उत्तर : (A) COMMIT, ROLLBACK, START TRANSACTION
Explanation: Transaction को नियंत्रित करने वाले कमांड START TRANSACTION (शुरू करना), COMMIT (पक्का करना) और ROLLBACK (वापस लेना) हैं। CREATE, DROP, RENAME DDL कमांड हैं; SELECT, SHOW, DESCRIBE डेटा देखने के कमांड हैं; और GRANT, REVOKE, CREATE USER permission (DCL) से संबंधित हैं।
20. Index और transaction में क्या अंतर है? (What is the difference between an index and a transaction?)
सही उत्तर : (B) इंडेक्स data retrieval में मदद करता है, जबकि ट्रांजेक्शन operations को एक यूनिट के रूप में मैनेज करता है (An index helps retrieve data, while a transaction manages operations as a unit)
Explanation: Index खोज (SELECT) को तेज करने वाली संरचना है—यह डेटा नहीं बदलता, बस जल्दी ढूँढने में मदद करता है। Transaction कई SQL कामों को एक यूनिट में जोड़कर उन्हें COMMIT या ROLLBACK से नियंत्रित करता है। दोनों पूरी तरह अलग अवधारणाएँ हैं—Index न डेटाबेस का नाम है और न ही केवल rows डिलीट करता है।