DBMS — MCQ Practice

Hindi aur English dono mein practice karo — click karo answer check karne ke liye

📚 2982 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
2982 questions
1816
EN + हिं Easy
GB What are Codds 12 rules and what is Rule 0 (the foundation rule)?
IN कॉड्स 12 नियम क्या हैं और नियम 0 (आधार नियम) क्या है?
A
Codds 12 rules define what constitutes a truly relational DBMS; Rule 0 (Foundation Rule): a system that claims to be a relational database management system must be able to manage databases entirely through its relational capabilities - no special non-relational mechanisms should be required कॉड्स 12 नियम परिभाषित करते हैं कि वास्तव में संबंधपरक डीबीएमएस क्या है; नियम 0 (आधार नियम): एक प्रणाली जो एक रिलेशनल डेटाबेस प्रबंधन प्रणाली होने का दावा करती है, उसे अपनी रिलेशनल क्षमताओं के माध्यम से डेटाबेस को पूरी तरह से प्रबंधित करने में सक्षम होना चाहिए - किसी विशेष गैर-रिलेशनल तंत्र की आवश्यकता नहीं होनी चाहिए
B
Rules for writing efficient SQL queries in a relational database रिलेशनल डेटाबेस में कुशल SQL क्वेरी लिखने के नियम
C
Rules for database security and access control mechanisms डेटाबेस सुरक्षा और अभिगम नियंत्रण तंत्र के लिए नियम
D
Rules defining the minimum number of tables in a relational database रिलेशनल डेटाबेस में तालिकाओं की न्यूनतम संख्या को परिभाषित करने वाले नियम
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Key Codd rules: Rule 1 (Information Rule): all data represented as values in tables. Rule 2 (Guaranteed Access): every value accessible by table+column+PK. Rule 6 (View Updating): all theoretically updatable views must be updatable. Rule 9 (Logical Data Independence): app programs unaffected by logical schema changes. No DBMS fully satisfies all 12 rules.
व्याख्या (हिन्दी) मुख्य कोड नियम: नियम 1 (सूचना नियम): सभी डेटा को तालिकाओं में मान के रूप में दर्शाया गया है। नियम 2 (गारंटीकृत पहुंच): प्रत्येक मान तालिका+कॉलम+पीके द्वारा पहुंच योग्य है। नियम 6 (दृश्य अद्यतन करना): सभी सैद्धांतिक रूप से अद्यतन करने योग्य दृश्य अद्यतन करने योग्य होने चाहिए। नियम 9 (तार्किक डेटा स्वतंत्रता): ऐप प्रोग्राम तार्किक स्कीमा परिवर्तनों से अप्रभावित रहते हैं। कोई भी DBMS सभी 12 नियमों को पूरी तरह से संतुष्ट नहीं करता है।
1817
EN + हिं Medium
GB What is domain calculus in relational databases and how does it differ from tuple calculus?
IN रिलेशनल डेटाबेस में डोमेन कैलकुलस क्या है और यह टुपल कैलकुलस से कैसे भिन्न है?
A
They are performance optimization techniques for large datasets वे बड़े डेटासेट के लिए प्रदर्शन अनुकूलन तकनीक हैं
B
Two different types of SQL query optimization techniques दो अलग-अलग प्रकार की SQL क्वेरी अनुकूलन तकनीकें
C
Domain calculus is for NoSQL; tuple calculus is for relational databases only डोमेन कैलकुलस NoSQL के लिए है; टपल कैलकुलस केवल रिलेशनल डेटाबेस के लिए है
D
Both are non-procedural query languages equivalent in power to relational algebra. Tuple relational calculus: variables range over tuples (rows). Domain relational calculus: variables range over individual attribute values (domains). Both are the theoretical foundation for SQL दोनों गैर-प्रक्रियात्मक क्वेरी भाषाएं हैं जो संबंधपरक बीजगणित की शक्ति के बराबर हैं। टुपल रिलेशनल कैलकुलस: वेरिएबल टुपल्स (पंक्तियों) पर आधारित होते हैं। डोमेन रिलेशनल कैलकुलस: वैरिएबल व्यक्तिगत विशेषता मानों (डोमेन) पर आधारित होते हैं। दोनों SQL के लिए सैद्धांतिक आधार हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Tuple calculus: {t | t IN Employee AND t.salary > 50000} - variable t ranges over Employee tuples. Domain calculus: {n,s | n,s IN Employee AND s > 50000} - variables n,s range over name and salary domains. QBE (Query by Example) is based on domain calculus. SQL most resembles tuple calculus. Safe expression: must produce finite results.
व्याख्या (हिन्दी) टुपल कैलकुलस: {t | t IN कर्मचारी और t.वेतन > 50000} - परिवर्तनीय t कर्मचारी टुपल्स पर होता है। डोमेन कैलकुलस: {n,s | n,s कर्मचारी और s > 50000} - नाम और वेतन डोमेन पर चर n,s की सीमा होती है। क्यूबीई (उदाहरण द्वारा क्वेरी) डोमेन कैलकुलस पर आधारित है। SQL अधिकांशतः टुपल कैलकुलस से मिलता जुलता है। सुरक्षित अभिव्यक्ति: निश्चित परिणाम देने चाहिए।
1818
EN + हिं Easy
GB What is relational completeness and what does it mean for a query language?
IN संबंधपरक पूर्णता क्या है और क्वेरी भाषा के लिए इसका क्या अर्थ है?
A
A relational database that has passed all benchmark tests for completeness एक संबंधपरक डेटाबेस जिसने पूर्णता के लिए सभी बेंचमार्क परीक्षण पास कर लिए हैं
B
A query language is relationally complete if it is at least as expressive as relational algebra; i.e., it can express any query that relational algebra can express. SQL is relationally complete (and more, with aggregate functions, recursion, etc.). A language that cannot express certain relational algebra operations is not relationally complete एक क्वेरी भाषा संबंधपरक रूप से पूर्ण होती है यदि वह कम से कम संबंधपरक बीजगणित जितनी अभिव्यंजक हो; यानी, यह किसी भी प्रश्न को व्यक्त कर सकता है जिसे संबंधपरक बीजगणित व्यक्त कर सकता है। एसक्यूएल सापेक्ष रूप से पूर्ण है (और अधिक, समग्र कार्यों, रिकर्सन इत्यादि के साथ)। एक भाषा जो कुछ संबंधपरक बीजगणित परिचालनों को व्यक्त नहीं कर सकती, वह संबंधपरक रूप से पूर्ण नहीं है
C
A database that contains all possible data relationships and constraints एक डेटाबेस जिसमें सभी संभावित डेटा संबंध और बाधाएं शामिल हैं
D
A query language that can answer absolutely all possible questions एक क्वेरी भाषा जो बिल्कुल सभी संभावित प्रश्नों का उत्तर दे सकती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Relational completeness test: can the language express: selection (WHERE), projection (SELECT), union (UNION), difference (EXCEPT/MINUS), Cartesian product (CROSS JOIN)? If yes: relationally complete. SQL exceeds relational completeness with: aggregation (GROUP BY, SUM), recursion (WITH RECURSIVE), window functions (OVER). Simple key-value stores are NOT relationally complete.
व्याख्या (हिन्दी) संबंधपरक पूर्णता परीक्षण: क्या भाषा व्यक्त कर सकती है: चयन (कहां), प्रक्षेपण (चयन), संघ (संघ), अंतर (छोड़कर/माइनस), कार्टेशियन उत्पाद (क्रॉस जॉइन)? यदि हाँ: संबंधपरक रूप से पूर्ण। एसक्यूएल संबंधपरक पूर्णता को पार कर जाता है: एकत्रीकरण (ग्रुप बाय, एसयूएम), रिकर्सन (रिकर्सिव के साथ), विंडो फ़ंक्शन (ओवर)। सरल कुंजी-मूल्य भंडार सापेक्ष रूप से पूर्ण नहीं हैं।
1819
EN + हिं Medium
GB What is query containment in relational databases and why is it important for query optimization?
IN संबंधपरक डेटाबेस में क्वेरी नियंत्रण क्या है और क्वेरी अनुकूलन के लिए यह महत्वपूर्ण क्यों है?
A
Limiting the size of query result sets to prevent resource exhaustion संसाधन की कमी को रोकने के लिए क्वेरी परिणाम सेट के आकार को सीमित करना
B
The maximum number of nested subqueries allowed in a single SQL statement एकल SQL कथन में अनुमत नेस्टेड सबक्वेरीज़ की अधिकतम संख्या
C
Checking that a query does not return more rows than the application expects यह जाँचना कि कोई क्वेरी एप्लिकेशन की अपेक्षा से अधिक पंक्तियाँ तो नहीं लौटा रही है
D
Query Q1 is contained in Q2 (Q1 <= Q2) if for every database instance D the result of Q1 on D is a subset of the result of Q2 on D; important for: query optimization (replace Q1 with cheaper equivalent Q2), semantic caching (if cached result of Q2 contains all results of Q1 use cache), and query rewriting using materialized views क्वेरी Q1, Q2 (Q1) में समाहित है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Query equivalence (mutual containment): SELECT * FROM emp WHERE dept=5 AND salary>50K is equivalent to SELECT * FROM emp WHERE salary>50K AND dept=5 (predicate order irrelevant). Materialized view matching: SELECT dept, SUM(sales) FROM orders GROUP BY dept is contained in the MV mv_dept_sales(dept, total_sales) - optimizer can rewrite to use the MV. Query containment for conjunctive queries is NP-complete.
व्याख्या (हिन्दी) क्वेरी समतुल्यता (पारस्परिक नियंत्रण): चुनें * नियोक्ता से जहां विभाग = 5 और वेतन> 50K, चयन के बराबर है * कर्मचारियों से जहां वेतन> 50 हजार और विभाग = 5 (विधेय आदेश अप्रासंगिक)। भौतिक दृश्य मिलान: ऑर्डर ग्रुप से चयन विभाग, एसयूएम (बिक्री) ग्रुप बाय विभाग एमवी एमवी_डिप्ट_सेल्स (डिप्ट, टोटल_सेल्स) में समाहित है - ऑप्टिमाइज़र एमवी का उपयोग करने के लिए फिर से लिख सकता है। संयोजी प्रश्नों के लिए क्वेरी नियंत्रण एनपी-पूर्ण है।
1820
EN + हिं Easy
GB What is over-normalization and how can it harm database performance?
IN अति-सामान्यीकरण क्या है और यह डेटाबेस प्रदर्शन को कैसे नुकसान पहुंचा सकता है?
A
Over-normalization means violating normal forms accidentally अति-सामान्यीकरण का अर्थ है आकस्मिक रूप से सामान्य रूपों का उल्लंघन करना
B
Having too many normal forms applied to a single table simultaneously एक ही तालिका में एक साथ बहुत सारे सामान्य फॉर्म लागू होना
C
Normalizing beyond what is practically necessary, resulting in too many tables that require expensive JOIN operations for every query; symptoms include 5+ table joins for common queries, poor OLTP performance due to join overhead, complex application code to reconstruct objects, and negligible storage savings that do not justify the performance cost व्यावहारिक रूप से जो आवश्यक है उससे परे सामान्यीकरण, जिसके परिणामस्वरूप बहुत सारी तालिकाएँ बनती हैं जिनके लिए प्रत्येक क्वेरी के लिए महंगे JOIN संचालन की आवश्यकता होती है; लक्षणों में सामान्य प्रश्नों के लिए 5+ टेबल जॉइन, ओवरहेड में शामिल होने के कारण खराब ओएलटीपी प्रदर्शन, वस्तुओं के पुनर्निर्माण के लिए जटिल एप्लिकेशन कोड और नगण्य भंडारण बचत शामिल है जो प्रदर्शन लागत को उचित नहीं ठहराती है।
D
Over-normalization only occurs in very large databases with millions of rows अति-सामान्यीकरण केवल लाखों पंक्तियों वाले बहुत बड़े डेटाबेस में होता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Example: splitting customer address into city, state, country tables requiring 3 JOINs to get full address. If address is always queried together and city names rarely change, storing city/state/country as VARCHAR columns in customer table is more practical. Rule: normalize until it hurts (anomalies), then denormalize until it works (performance).
व्याख्या (हिन्दी) उदाहरण: ग्राहक के पते को शहर, राज्य, देश तालिकाओं में विभाजित करने के लिए पूरा पता प्राप्त करने के लिए 3 JOIN की आवश्यकता होती है। यदि पता हमेशा एक साथ पूछा जाता है और शहर के नाम शायद ही कभी बदलते हैं, तो ग्राहक तालिका में शहर/राज्य/देश को VARCHAR कॉलम के रूप में संग्रहीत करना अधिक व्यावहारिक है। नियम: जब तक दर्द न हो (विसंगतियाँ) तब तक सामान्य करें, फिर तब तक असामान्य करें जब तक यह काम न करे (प्रदर्शन)।
1821
EN + हिं Medium
GB What is the difference between lossless join and dependency-preserving decomposition and why might you choose one over the other?
IN दोषरहित जुड़ाव और निर्भरता-संरक्षण अपघटन के बीच क्या अंतर है और आप एक को दूसरे के स्थान पर क्यों चुन सकते हैं?
A
Both properties are optional extras in database design दोनों गुण डेटाबेस डिज़ाइन में वैकल्पिक अतिरिक्त हैं
B
They are identical properties of a decomposition with different names वे विभिन्न नामों वाले अपघटन के समान गुण हैं
C
Lossless join only applies to 3NF; dependency-preserving only to BCNF दोषरहित जुड़ाव केवल 3NF पर लागू होता है; केवल बीसीएनएफ पर निर्भरता-संरक्षण
D
Lossless join: joining decomposed relations returns exactly the original relation (no spurious tuples) - mandatory for correctness. Dependency-preserving: all original FDs can be verified in decomposed relations without joins - desirable but not always achievable with BCNF. 3NF always achieves both but BCNF may sacrifice dependency preservation for stronger redundancy elimination दोषरहित जुड़ाव: विघटित संबंधों को जोड़ने से बिल्कुल मूल संबंध वापस आ जाता है (कोई नकली टुपल्स नहीं) - शुद्धता के लिए अनिवार्य। निर्भरता-संरक्षण: सभी मूल एफडी को बिना जोड़ के विघटित संबंधों में सत्यापित किया जा सकता है - वांछनीय लेकिन बीसीएनएफ के साथ हमेशा प्राप्त करने योग्य नहीं। 3NF हमेशा दोनों हासिल करता है लेकिन BCNF मजबूत अतिरेक उन्मूलन के लिए निर्भरता संरक्षण का त्याग कर सकता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) When to choose BCNF (stronger, may lose FD preservation): when data anomalies are more problematic than constraint enforcement overhead, when violating FDs are rarely checked. When to choose 3NF (weaker, always both properties): when all constraints must be locally enforceable, when the BCNF-sacrificed FDs are business-critical and cannot be checked via application logic.
व्याख्या (हिन्दी) बीसीएनएफ कब चुनें (मजबूत, एफडी संरक्षण खो सकता है): जब डेटा विसंगतियां बाधा प्रवर्तन ओवरहेड की तुलना में अधिक समस्याग्रस्त होती हैं, जब एफडी का उल्लंघन होता है तो शायद ही कभी जांच की जाती है। 3NF (कमजोर, हमेशा दोनों गुण) कब चुनें: जब सभी बाधाएं स्थानीय रूप से लागू होनी चाहिए, जब BCNF-बलिदान एफडी व्यवसाय-महत्वपूर्ण हैं और एप्लिकेशन लॉजिक के माध्यम से जांच नहीं की जा सकती हैं।
1822
EN + हिं Easy
GB What is normalization by synthesis vs normalization by decomposition?
IN संश्लेषण द्वारा सामान्यीकरण बनाम अपघटन द्वारा सामान्यीकरण क्या है?
A
Two methods of creating database backups during schema design स्कीमा डिज़ाइन के दौरान डेटाबेस बैकअप बनाने की दो विधियाँ
B
Synthesis (3NF synthesis algorithm): constructs normalized relations from scratch using minimal cover of FDs; bottom-up approach that creates one relation per FD in canonical cover and ensures lossless plus dependency-preserving result. Decomposition (BCNF decomposition): starts with one large unnormalized relation and repeatedly splits it by finding violating FDs; top-down approach संश्लेषण (3NF संश्लेषण एल्गोरिथ्म): एफडी के न्यूनतम कवर का उपयोग करके खरोंच से सामान्यीकृत संबंध बनाता है; बॉटम-अप दृष्टिकोण जो कैनोनिकल कवर में प्रति एफडी एक संबंध बनाता है और दोषरहित प्लस निर्भरता-संरक्षण परिणाम सुनिश्चित करता है। अपघटन (बीसीएनएफ अपघटन): एक बड़े असामान्य संबंध से शुरू होता है और बार-बार उल्लंघनकारी एफडी का पता लगाकर इसे विभाजित करता है; शीर्ष पाद उपागम
C
They produce identical results through different computational paths वे विभिन्न कम्प्यूटेशनल पथों के माध्यम से समान परिणाम उत्पन्न करते हैं
D
Synthesis is for small databases; decomposition for large ones संश्लेषण छोटे डेटाबेस के लिए है; बड़े लोगों के लिए अपघटन
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) 3NF synthesis steps: (1) Find minimal cover Fc. (2) Create relation Ri(X,Y) for each X->Y in Fc with X as key. (3) If no Ri contains a CK, add one. (4) Remove redundant Ri. Result: lossless + dep-preserving 3NF. BCNF decomposition: find R with X->Y violating BCNF (X not superkey), split into R1(X,Y) and R2(R-Y+X), recurse. Result: lossless BCNF but may violate dep-preservation.
व्याख्या (हिन्दी) 3एनएफ संश्लेषण चरण: (1) न्यूनतम कवर एफसी ढूंढें। (2) कुंजी के रूप में X के साथ Fc में प्रत्येक X->Y के लिए संबंध Ri(X,Y) बनाएं। (3) यदि किसी आरआई में सीके नहीं है, तो एक जोड़ें। (4) अनावश्यक ऋ को हटा दें। परिणाम: दोषरहित + डीप-संरक्षण 3NF। बीसीएनएफ अपघटन: बीसीएनएफ (एक्स सुपरकी नहीं) का उल्लंघन करने वाले एक्स->वाई के साथ आर ढूंढें, आर 1 (एक्स, वाई) और आर 2 (आर-वाई + एक्स) में विभाजित करें, रिकर्स करें। परिणाम: दोषरहित बीसीएनएफ लेकिन डिप-संरक्षण का उल्लंघन कर सकता है।
1823
EN + हिं Medium
GB What is the SQL standard window frame specification and how does ROWS differ from RANGE?
IN SQL मानक विंडो फ़्रेम विनिर्देश क्या है और ROWS RANGE से किस प्रकार भिन्न है?
A
Window frame only applies to ranking functions like ROW_NUMBER विंडो फ़्रेम केवल ROW_NUMBER जैसे रैंकिंग फ़ंक्शंस पर लागू होता है
B
Window frame is only used with non-aggregate window functions विंडो फ़्रेम का उपयोग केवल गैर-एग्रीगेट विंडो फ़ंक्शंस के साथ किया जाता है
C
Window frame defines the subset of rows within a partition considered for each calculation. ROWS: physical row offset (always a fixed number of rows). RANGE: logical value range (all rows within a specified value distance of current row's ORDER BY value, which may include many rows if duplicates exist) विंडो फ़्रेम प्रत्येक गणना के लिए विचार किए गए विभाजन के भीतर पंक्तियों के सबसेट को परिभाषित करता है। पंक्तियाँ: भौतिक पंक्ति ऑफ़सेट (हमेशा पंक्तियों की एक निश्चित संख्या)। रेंज: तार्किक मान सीमा (वर्तमान पंक्ति के ORDER BY मान की एक निर्दिष्ट मान दूरी के भीतर सभी पंक्तियाँ, जिसमें डुप्लिकेट मौजूद होने पर कई पंक्तियाँ शामिल हो सकती हैं)
D
ROWS and RANGE are interchangeable in all scenarios ROWS और RANGE सभी परिदृश्यों में विनिमेय हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ROWS vs RANGE example: sales data with dates [Jan 1, Jan 1, Jan 2]. SUM OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT): Jan1-row2 sums exactly 2 rows. SUM OVER (ORDER BY date RANGE BETWEEN 1 PRECEDING AND CURRENT): Jan1-row2 sums ALL Jan1 rows + all rows within 1 day. RANGE with duplicates can produce unexpected results. GROUPS (SQL:2011 3rd option) counts peer groups.
व्याख्या (हिन्दी) पंक्तियाँ बनाम रेंज उदाहरण: दिनांकों के साथ बिक्री डेटा [जनवरी 1, जनवरी 1, जनवरी 2]। कुल योग (तिथि के अनुसार क्रम 1 पूर्ववर्ती और वर्तमान के बीच की पंक्तियाँ): Jan1-पंक्ति2 ठीक 2 पंक्तियों का योग है। कुल योग (1 पूर्ववर्ती और वर्तमान के बीच दिनांक सीमा के अनुसार क्रमबद्ध करें): जनवरी1-पंक्ति2 सभी जनवरी1 पंक्तियों + 1 दिन के भीतर सभी पंक्तियों का योग। डुप्लिकेट के साथ RANGE अप्रत्याशित परिणाम उत्पन्न कर सकता है। समूह (एसक्यूएल:2011 तीसरा विकल्प) सहकर्मी समूहों की गणना करता है।
1824
EN + हिं Medium
GB What is SQL grouping sets feature and how does it extend GROUP BY?
IN SQL ग्रुपिंग सेट सुविधा क्या है और यह GROUP BY का विस्तार कैसे करती है?
A
GROUPING SETS allows computing multiple GROUP BY aggregations in a single query pass; ROLLUP generates subtotals and grand total for a hierarchy; CUBE generates all possible combinations of group-by columns; more efficient than multiple UNION ALL queries because the data is scanned only once ग्रुपिंग सेट एक ही क्वेरी पास में एकत्रीकरण द्वारा एकाधिक ग्रुप की गणना करने की अनुमति देता है; रोलअप पदानुक्रम के लिए उप-योग और कुल योग उत्पन्न करता है; CUBE समूह-दर-स्तंभों के सभी संभावित संयोजन उत्पन्न करता है; एकाधिक यूनियन सभी क्वेरीज़ की तुलना में अधिक कुशल क्योंकि डेटा केवल एक बार स्कैन किया जाता है
B
Grouping sets are only available in Oracle and SQL Server databases ग्रुपिंग सेट केवल Oracle और SQL सर्वर डेटाबेस में उपलब्ध हैं
C
A way to group results into fixed sets of 10 rows each परिणामों को 10 पंक्तियों के निश्चित सेटों में समूहित करने का एक तरीका
D
Grouping sets are identical to regular GROUP BY with HAVING clause ग्रुपिंग सेट HAVING क्लॉज के साथ नियमित ग्रुप BY के समान हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) GROUPING SETS((dept),(region),(dept,region),()) = GROUP BY dept UNION ALL GROUP BY region UNION ALL GROUP BY dept,region UNION ALL grand total. ROLLUP(year,quarter,month) = (year,quarter,month)+(year,quarter)+(year)+(). CUBE(gender,dept) = all 4 combinations. GROUPING() function returns 1 for NULL from aggregation (vs actual NULL in data). Used in reporting/OLAP queries.
व्याख्या (हिन्दी) ग्रुपिंग सेट((विभाग),(क्षेत्र),(विभाग,क्षेत्र),()) = विभाग के अनुसार समूह यूनियन सभी क्षेत्र के अनुसार समूह यूनियन सभी समूह विभाग के अनुसार, क्षेत्र संघ सभी कुल मिलाकर। रोलअप(वर्ष,तिमाही,महीना) = (वर्ष,तिमाही,महीना)+(वर्ष,तिमाही)+(वर्ष)+(). घन (लिंग, विभाग) = सभी 4 संयोजन। ग्रुपिंग() फ़ंक्शन एकत्रीकरण से NULL के लिए 1 लौटाता है (डेटा में वास्तविक NULL बनाम)। रिपोर्टिंग/ओएलएपी प्रश्नों में उपयोग किया जाता है।
1825
EN + हिं Easy
GB What is a lateral join or APPLY operator in SQL and what makes it different from a regular join?
IN SQL में लेटरल जॉइन या APPLY ऑपरेटर क्या है और इसे नियमित जॉइन से क्या अलग बनाता है?
A
LATERAL joins only work with aggregate functions in the subquery LATERAL केवल सबक्वेरी में समग्र कार्यों के साथ कार्य को जोड़ता है
B
LATERAL (PostgreSQL/SQL standard) or CROSS APPLY/OUTER APPLY (SQL Server): allows a subquery or table-valued function in the FROM clause to reference columns from preceding tables in the same FROM clause; a regular derived table subquery cannot reference outer columns - LATERAL enables correlated subqueries in the FROM clause लेटरल (पोस्टग्रेएसक्यूएल/एसक्यूएल मानक) या क्रॉस अप्लाई/आउटर अप्लाई (एसक्यूएल सर्वर): FROM क्लॉज में एक सबक्वेरी या टेबल-वैल्यू फ़ंक्शन को उसी FROM क्लॉज में पूर्ववर्ती तालिकाओं से संदर्भ कॉलम की अनुमति देता है; एक नियमित व्युत्पन्न तालिका सबक्वेरी बाहरी स्तंभों को संदर्भित नहीं कर सकती - LATERAL FROM क्लॉज में सहसंबद्ध सबक्वेरी को सक्षम करता है
C
A join that only works with lateral (side) tables in a schema एक जुड़ाव जो स्कीमा में केवल पार्श्व (साइड) तालिकाओं के साथ काम करता है
D
LATERAL is a synonym for NATURAL JOIN in SQL standard LATERAL SQL मानक में NATURAL JOIN का पर्याय है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) LATERAL example: SELECT c.name, recent.amount FROM customers c JOIN LATERAL (SELECT amount FROM orders WHERE cust_id=c.id ORDER BY date DESC LIMIT 3) recent ON true. Without LATERAL: cannot reference c.id in the subquery FROM. SQL Server: CROSS APPLY (like INNER JOIN LATERAL), OUTER APPLY (like LEFT JOIN LATERAL). Enables: top-N per group, unnesting arrays, calling TVFs with per-row args.
व्याख्या (हिन्दी) लेटरल उदाहरण: सी.नाम चुनें, ग्राहकों से हाल की राशि सी जॉइन लैटरल (ऑर्डर से राशि चुनें जहां cust_id=c.id दिनांक DESC LIMIT 3 के अनुसार ऑर्डर करें) हाल ही में सत्य पर। LATERAL के बिना: सबक्वेरी FROM में c.id का संदर्भ नहीं दिया जा सकता। एसक्यूएल सर्वर: क्रॉस अप्लाई (इनर जॉइन लेटरल की तरह), आउटर अप्लाई (लेफ्ट जॉइन लेटरल की तरह)। सक्षम करता है: प्रति समूह टॉप-एन, अननेस्टिंग ऐरे, प्रति-पंक्ति आर्ग के साथ टीवीएफ को कॉल करना।
1826
EN + हिं Easy
GB What is a deferred constraint and when is it used in DDL?
IN विलंबित बाधा क्या है और इसका उपयोग डीडीएल में कब किया जाता है?
A
A constraint that applies only to deferred (future) inserts एक बाधा जो केवल स्थगित (भविष्य) प्रविष्टियों पर लागू होती है
B
A constraint added to the table after its initial creation प्रारंभिक निर्माण के बाद तालिका में एक बाधा जोड़ी गई
C
A constraint that is only checked on a monthly schedule एक बाधा जिसकी जाँच केवल मासिक शेड्यूल पर की जाती है
D
A constraint declared with DEFERRABLE INITIALLY DEFERRED is checked at COMMIT time rather than after each statement; used for circular foreign key references, bulk loading where intermediate states temporarily violate constraints, and complex multi-step operations where the final committed state is valid प्रारंभिक रूप से विलंबित के साथ घोषित बाधा की जाँच प्रत्येक कथन के बाद के बजाय COMMIT समय पर की जाती है; परिपत्र विदेशी कुंजी संदर्भों के लिए उपयोग किया जाता है, थोक लोडिंग जहां मध्यवर्ती राज्य अस्थायी रूप से बाधाओं का उल्लंघन करते हैं, और जटिल बहु-चरण संचालन जहां अंतिम प्रतिबद्ध राज्य मान्य है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Example: tables A and B with FK A.b_id -> B and FK B.a_id -> A. Inserting A first violates B FK (B not yet inserted). With DEFERRABLE: SET CONSTRAINTS ALL DEFERRED; INSERT INTO A...; INSERT INTO B...; COMMIT (constraints checked now - both exist, no violation). PostgreSQL supports DEFERRABLE constraints natively. MySQL: no native deferred constraint support.
व्याख्या (हिन्दी) उदाहरण: तालिका A और B FK A.b_id -> B और FK B.a_id -> A के साथ। पहले A डालने से B FK का उल्लंघन होता है (B अभी तक नहीं डाला गया है)। आस्थगित के साथ: सेट बाधाएं सभी आस्थगित; एक में डालें...; बी में डालें...; प्रतिबद्ध (अब बाधाओं की जाँच की गई - दोनों मौजूद हैं, कोई उल्लंघन नहीं)। PostgreSQL मूल रूप से DEFERRABLE बाधाओं का समर्थन करता है। MySQL: कोई मूल आस्थगित बाधा समर्थन नहीं।
1827
EN + हिं Medium
GB What is the difference between DROP TABLE and DROP TABLE IF EXISTS?
IN यदि मौजूद है तो ड्रॉप टेबल और ड्रॉप टेबल के बीच क्या अंतर है?
A
DROP TABLE fails with an error if the specified table does not exist; DROP TABLE IF EXISTS silently succeeds (no error) if the table does not exist - useful in scripts that should be idempotent (safe to run multiple times) like migration scripts or setup scripts that may run on databases where the table may or may not already exist यदि निर्दिष्ट तालिका मौजूद नहीं है तो ड्रॉप तालिका एक त्रुटि के साथ विफल हो जाती है; यदि मौजूद है तो ड्रॉप टेबल चुपचाप सफल हो जाती है (कोई त्रुटि नहीं) यदि टेबल मौजूद नहीं है - उन स्क्रिप्ट्स में उपयोगी जो निष्क्रिय होनी चाहिए (कई बार चलाने के लिए सुरक्षित) जैसे माइग्रेशन स्क्रिप्ट या सेटअप स्क्रिप्ट जो डेटाबेस पर चल सकती हैं जहां तालिका पहले से मौजूद हो सकती है या नहीं भी हो सकती है
B
They produce identical behavior in all database systems वे सभी डेटाबेस सिस्टम में समान व्यवहार उत्पन्न करते हैं
C
IF EXISTS only works for temporary tables not permanent tables IF EXISTS केवल अस्थायी तालिकाओं के लिए काम करता है, स्थायी तालिकाओं के लिए नहीं
D
IF EXISTS drops only empty tables without any rows IF EXISTS बिना किसी पंक्ति के केवल खाली तालिकाएँ छोड़ता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Idempotent migration script: DROP TABLE IF EXISTS old_table; DROP INDEX IF EXISTS old_index ON another_table; CREATE TABLE new_table (...); Safe to run multiple times: first run drops and creates, subsequent runs: IF EXISTS prevents error when old objects already gone. Standard in: MySQL 5.x+, PostgreSQL 9.x+. Without IF EXISTS: wrap in exception handler.
व्याख्या (हिन्दी) इडेम्पोटेंट माइग्रेशन स्क्रिप्ट: यदि पुराना_टेबल मौजूद है तो ड्रॉप टेबल; यदि अन्य_टेबल पर पुराना_इंडेक्स मौजूद है तो इंडेक्स छोड़ें; तालिका बनाएं new_table (...); कई बार चलाने के लिए सुरक्षित: पहले रन ड्रॉप और बनाता है, बाद में रन: IF EXISTS पुरानी वस्तुओं के पहले ही चले जाने पर त्रुटि को रोकता है। मानक में: MySQL 5.x+, PostgreSQL 9.x+। IF EXISTS के बिना: अपवाद हैंडलर में लपेटें।
1828
EN + हिं Easy
GB What is a computed or generated column and what are the restrictions on expressions that can be used?
IN एक परिकलित या जनरेट किया गया कॉलम क्या है और जिन अभिव्यक्तियों का उपयोग किया जा सकता है उन पर क्या प्रतिबंध हैं?
A
A column whose value is automatically derived from an expression involving other columns in the same row; restrictions include: expression must be deterministic (no RAND() or NOW()), cannot reference other generated columns, cannot reference other tables, STORED generated columns cannot be updated directly by users एक स्तंभ जिसका मान स्वचालित रूप से उसी पंक्ति में अन्य स्तंभों को शामिल करने वाले अभिव्यक्ति से प्राप्त होता है; प्रतिबंधों में शामिल हैं: अभिव्यक्ति नियतात्मक होनी चाहिए (कोई RAND() या NOW() नहीं), अन्य जेनरेट किए गए कॉलम का संदर्भ नहीं दे सकता, अन्य तालिकाओं का संदर्भ नहीं दे सकता, STORED जेनरेट किए गए कॉलम सीधे उपयोगकर्ताओं द्वारा अपडेट नहीं किए जा सकते
B
A column generated only during INSERT operations not during UPDATE एक कॉलम केवल INSERT संचालन के दौरान उत्पन्न होता है, अद्यतन के दौरान नहीं
C
A column whose value is entered manually by the database administrator एक कॉलम जिसका मान डेटाबेस व्यवस्थापक द्वारा मैन्युअल रूप से दर्ज किया जाता है
D
A column that stores the result of aggregate functions like SUM or AVG एक कॉलम जो SUM या AVG जैसे समग्र कार्यों के परिणाम संग्रहीत करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) MySQL generated columns: full_name VARCHAR(200) GENERATED ALWAYS AS (CONCAT(first_name, ' ', last_name)) STORED. STORED: computed and persisted on disk (can index, takes space). VIRTUAL: computed on access (no storage, cannot always index). Restrictions: no subqueries, no non-deterministic functions. PostgreSQL: no native generated columns before v12; use function-based indexes instead.
व्याख्या (हिन्दी) MySQL द्वारा जेनरेट किए गए कॉलम: पूरा नाम VARCHAR(200) हमेशा जेनरेट किया जाता है (CONCAT(first_name, '', Last_name)) स्टोर किया गया। संग्रहीत: गणना की गई और डिस्क पर कायम रखी गई (अनुक्रमणिका बनाई जा सकती है, स्थान लिया जा सकता है)। आभासी: पहुंच पर गणना की जाती है (कोई भंडारण नहीं, हमेशा अनुक्रमित नहीं किया जा सकता)। प्रतिबंध: कोई उपश्रेणी नहीं, कोई गैर-नियतात्मक कार्य नहीं। PostgreSQL: v12 से पहले कोई मूल जनरेट किया गया कॉलम नहीं; इसके बजाय फ़ंक्शन-आधारित इंडेक्स का उपयोग करें।
1829
EN + हिं Easy
GB What is the INSERT IGNORE vs INSERT OR REPLACE behavior on a unique key constraint violation in MySQL?
IN MySQL में अद्वितीय कुंजी बाधा उल्लंघन पर INSERT IGNORE बनाम INSERT या REPLACE व्यवहार क्या है?
A
They produce identical results with just different syntax वे केवल भिन्न वाक्यविन्यास के साथ समान परिणाम उत्पन्न करते हैं
B
INSERT IGNORE deletes the duplicate; REPLACE preserves the original row INSERT IGNORE डुप्लिकेट को हटा देता है; REPLACE मूल पंक्ति को सुरक्षित रखता है
C
INSERT IGNORE: on unique key violation, silently skips the insert and keeps the original row unchanged (no error); INSERT OR REPLACE (REPLACE INTO): on unique key violation, deletes the conflicting row then inserts the new one (old row is gone, new auto-increment value generated, ON DELETE triggers fire) इंसर्ट इग्नोर: अद्वितीय कुंजी उल्लंघन पर, चुपचाप इंसर्ट छोड़ देता है और मूल पंक्ति को अपरिवर्तित रखता है (कोई त्रुटि नहीं); डालें या बदलें (इसमें बदलें): अद्वितीय कुंजी उल्लंघन पर, विरोधाभासी पंक्ति को हटा देता है और फिर नई पंक्ति डालता है (पुरानी पंक्ति चली जाती है, नया ऑटो-वृद्धि मान उत्पन्न होता है, डिलीट करने पर आग लग जाती है)
D
Both operations always succeed regardless of duplicates डुप्लिकेट की परवाह किए बिना दोनों ऑपरेशन हमेशा सफल होते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) INSERT IGNORE vs REPLACE vs ON DUPLICATE KEY UPDATE: IGNORE: keep old. REPLACE: delete old + insert new (loses old column values not in INSERT list, new auto-id). ON DUPLICATE KEY UPDATE SET col=val: partial update of specific columns only (most flexible, atomic). REPLACE loses the email column of the original row if email not in INSERT list. ON DUPLICATE KEY UPDATE name='Bob' preserves email.
व्याख्या (हिन्दी) इन्सर्ट इग्नोर बनाम रिप्लेस बनाम ऑन डुप्लिकेट कुंजी अपडेट: इग्नोर: पुराना रखें। प्रतिस्थापित करें: पुराना हटाएं + नया डालें (पुराने कॉलम मान खो देते हैं जो INSERT सूची में नहीं हैं, नई ऑटो-आईडी)। डुप्लिकेट कुंजी अद्यतन सेट पर col=val: केवल विशिष्ट स्तंभों का आंशिक अद्यतन (सबसे लचीला, परमाणु)। यदि ईमेल INSERT सूची में नहीं है तो REPLACE मूल पंक्ति का ईमेल कॉलम खो देता है। डुप्लिकेट कुंजी अद्यतन नाम पर = 'बॉब' ईमेल को सुरक्षित रखता है।
1830
EN + हिं Medium
GB What is row locking vs table locking in the context of DML operations and how does it affect concurrency?
IN डीएमएल संचालन के संदर्भ में पंक्ति लॉकिंग बनाम टेबल लॉकिंग क्या है और यह समवर्तीता को कैसे प्रभावित करता है?
A
Row-level locking: only the rows being modified are locked allowing other transactions to modify different rows concurrently (high concurrency, higher overhead). Table-level locking: the entire table is locked during DML (simple, low overhead, but blocks all other DML on the table); appropriate for bulk operations पंक्ति-स्तरीय लॉकिंग: केवल संशोधित की जा रही पंक्तियों को लॉक किया जाता है, जिससे अन्य लेनदेन एक साथ विभिन्न पंक्तियों को संशोधित कर सकते हैं (उच्च संगामिति, उच्च ओवरहेड)। टेबल-स्तरीय लॉकिंग: डीएमएल के दौरान पूरी टेबल लॉक हो जाती है (सरल, कम ओवरहेड, लेकिन टेबल पर अन्य सभी डीएमएल को ब्लॉक कर देती है); थोक संचालन के लिए उपयुक्त
B
They provide identical concurrency guarantees with different performance वे अलग-अलग प्रदर्शन के साथ समान समवर्ती गारंटी प्रदान करते हैं
C
Table locking provides better isolation guarantees than row locking टेबल लॉकिंग पंक्ति लॉकिंग की तुलना में बेहतर आइसोलेशन गारंटी प्रदान करती है
D
Row locking is always better than table locking in every scenario प्रत्येक परिदृश्य में रो लॉकिंग हमेशा टेबल लॉकिंग से बेहतर होती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) MySQL InnoDB: row-level locks via next-key locking. MySQL MyISAM: table-level locks only. Row lock benefits: T1 updates row 1, T2 updates row 2 simultaneously - no conflict. Table lock: T1 locks table, T2 waits. Row lock drawback: deadlock more likely (T1 holds row1 wants row2, T2 holds row2 wants row1). Explicit table lock: LOCK TABLES t WRITE useful for bulk import.
व्याख्या (हिन्दी) MySQL InnoDB: अगली-कुंजी लॉकिंग के माध्यम से पंक्ति-स्तरीय लॉक। MySQL MyISAM: केवल टेबल-स्तरीय लॉक। पंक्ति लॉक लाभ: T1 पंक्ति 1 को अद्यतन करता है, T2 पंक्ति 2 को एक साथ अद्यतन करता है - कोई विरोध नहीं। टेबल लॉक: T1 टेबल को लॉक करता है, T2 प्रतीक्षा करता है। पंक्ति लॉक दोष: गतिरोध की अधिक संभावना है (T1 पंक्ति 1 को पकड़कर रखता है, पंक्ति 2 चाहता है, T2 पंक्ति 2 को रखता है, पंक्ति 1 चाहता है)। स्पष्ट टेबल लॉक: लॉक टेबल्स टी राइट थोक आयात के लिए उपयोगी है।
1816–1830 of 2982