DBMS — MCQ Practice

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

📚 136 Questions 🌐 Hindi + English ✅ Free
भाषा / Language:
136 questions
106
EN + हिं Easy
GB What does ON DELETE CASCADE in a FOREIGN KEY constraint specify?
IN विदेशी कुंजी बाधा में ऑन डिलीट कैस्केड क्या निर्दिष्ट करता है?
A
Prevent deletion of parent rows that have child references उन मूल पंक्तियों को हटाने से रोकें जिनमें बाल संदर्भ हैं
B
Delete the foreign key constraint when parent is deleted पेरेंट हटा दिए जाने पर विदेशी कुंजी बाधा हटा दें
C
When a referenced row in the parent table is deleted, automatically delete all corresponding rows in the child table that reference it जब मूल तालिका में एक संदर्भित पंक्ति हटा दी जाती है, तो चाइल्ड तालिका में इसका संदर्भ देने वाली सभी संबंधित पंक्तियाँ स्वचालित रूप से हटा दी जाती हैं
D
When a child row is deleted, automatically delete the parent row जब कोई चाइल्ड पंक्ति हटा दी जाती है, तो मूल पंक्ति स्वचालित रूप से हटा दी जाती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ON DELETE CASCADE: automatically propagates deletes from parent to child. When parent row is deleted, all child rows with matching FK are automatically deleted. Also: ON DELETE SET NULL (set FK to NULL), ON DELETE RESTRICT/NO ACTION (prevent parent deletion if child references exist).
व्याख्या (हिन्दी) डिलीट कैस्केड पर: स्वचालित रूप से माता-पिता से बच्चे तक डिलीट को प्रसारित करता है। जब मूल पंक्ति हटा दी जाती है, तो मिलान वाली FK वाली सभी चाइल्ड पंक्तियाँ स्वचालित रूप से हटा दी जाती हैं। इसके अलावा: डिलीट सेट शून्य पर (एफके को शून्य पर सेट करें), डिलीट प्रतिबंध/कोई कार्रवाई नहीं (यदि बच्चे के संदर्भ मौजूद हैं तो पैरेंट डिलीट को रोकें)।
107
EN + हिं Medium
GB What is the difference between ALTER TABLE MODIFY and ALTER TABLE CHANGE in MySQL?
IN MySQL में ALTER TABLE MODIFY और ALTER TABLE CHANGE के बीच क्या अंतर है?
A
They are identical operations वे समान परिचालन हैं
B
CHANGE only changes column names; MODIFY only changes data types परिवर्तन केवल स्तंभ नाम बदलता है; MODIFY केवल डेटा प्रकार बदलता है
C
MODIFY is for adding columns; CHANGE is for removing columns MODIFY कॉलम जोड़ने के लिए है; परिवर्तन स्तंभों को हटाने के लिए है
D
MODIFY changes a column definition (data type, constraints) but keeps the column name; CHANGE can rename the column AND change its definition (requires specifying the new column definition even if unchanged) MODIFY एक कॉलम परिभाषा (डेटा प्रकार, बाधाएं) बदलता है लेकिन कॉलम नाम रखता है; CHANGE कॉलम का नाम बदल सकता है और उसकी परिभाषा बदल सकता है (अपरिवर्तित होने पर भी नई कॉलम परिभाषा निर्दिष्ट करने की आवश्यकता है)
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) MySQL: ALTER TABLE t MODIFY col INT NOT NULL (changes type/constraints, keeps name). ALTER TABLE t CHANGE old_col new_col INT NOT NULL (renames AND modifies - must specify full new definition). ANSI SQL uses ALTER COLUMN. PostgreSQL uses ALTER COLUMN.
व्याख्या (हिन्दी) MySQL: ALTER TABLE t Modify col INT NOT NULL (प्रकार/बाधाओं को बदलता है, नाम रखता है)। तालिका में परिवर्तन करें और पुराने_कॉल को बदलें नया_कॉल पूर्णांक शून्य नहीं है (नाम बदलें और संशोधित करें - पूर्ण नई परिभाषा निर्दिष्ट करनी होगी)। ANSI SQL ALTER COLUMN का उपयोग करता है। PostgreSQL ALTER COLUMN का उपयोग करता है।
108
EN + हिं Medium
GB What is the purpose of CREATE TABLE AS SELECT (CTAS) and what is NOT copied?
IN CREATE TABLE AS SELECT (CTAS) का उद्देश्य क्या है और क्या कॉपी नहीं किया गया है?
A
Creates a new physical table populated with data from the SELECT query results - but does NOT copy constraints (primary keys, foreign keys, indexes, check constraints) from the source SELECT क्वेरी परिणामों के डेटा से भरी हुई एक नई भौतिक तालिका बनाता है - लेकिन स्रोत से बाधाओं (प्राथमिक कुंजी, विदेशी कुंजी, अनुक्रमित, चेक बाधाएं) की प्रतिलिपि नहीं बनाता है
B
Creates a temporary table with the SELECT schema SELECT स्कीमा के साथ एक अस्थायी तालिका बनाता है
C
Creates a view based on a SELECT query SELECT क्वेरी के आधार पर एक दृश्य बनाता है
D
Creates a materialized view from the SELECT चयन से एक भौतिक दृश्य बनाता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CTAS: creates a new table with the structure derived from the SELECT and populated with the SELECT result data. Copies: column names and data types. Does NOT copy: PRIMARY KEY, FOREIGN KEY, indexes, triggers, constraints (these must be added separately after creation).
व्याख्या (हिन्दी) CTAS: SELECT से प्राप्त संरचना के साथ एक नई तालिका बनाता है और SELECT परिणाम डेटा से भर जाता है। प्रतिलिपियाँ: स्तंभ नाम और डेटा प्रकार। प्रतिलिपि नहीं बनाता: प्राथमिक कुंजी, विदेशी कुंजी, अनुक्रमणिका, ट्रिगर, बाधाएं (इन्हें निर्माण के बाद अलग से जोड़ा जाना चाहिए)।
109
EN + हिं Medium
GB What is a SQL DOMAIN concept and how does it differ from a simple column data type?
IN SQL डोमेन अवधारणा क्या है और यह साधारण कॉलम डेटा प्रकार से कैसे भिन्न है?
A
A domain is a synonym for a database schema डोमेन डेटाबेस स्कीमा का पर्याय है
B
A domain is a named reusable column specification that combines a data type with optional constraints (DEFAULT, CHECK) allowing the domain to be used across multiple tables for consistency - defined with CREATE DOMAIN in standard SQL डोमेन एक नामित पुन: प्रयोज्य कॉलम विनिर्देश है जो डेटा प्रकार को वैकल्पिक बाधाओं (डिफ़ॉल्ट, चेक) के साथ जोड़ता है जो डोमेन को स्थिरता के लिए कई तालिकाओं में उपयोग करने की इजाजत देता है - मानक एसक्यूएल में क्रिएट डोमेन के साथ परिभाषित किया गया है
C
A domain is a database-level security boundary डोमेन एक डेटाबेस-स्तरीय सुरक्षा सीमा है
D
A domain is identical to a data type एक डोमेन एक डेटा प्रकार के समान है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CREATE DOMAIN EmailDomain AS VARCHAR(255) CHECK(VALUE LIKE \'%@%\'): defines a reusable domain. Tables can use: email EmailDomain. This ensures consistent type+constraints across tables. Supported in PostgreSQL; SQL Server/MySQL use user-defined types instead.
व्याख्या (हिन्दी) VARCHAR(255) चेक के रूप में डोमेन ईमेलडोमेन बनाएं (\'%@%\' जैसा मान): एक पुन: प्रयोज्य डोमेन को परिभाषित करता है। तालिकाएँ उपयोग कर सकती हैं: ईमेल ईमेलडोमेन। यह तालिकाओं में सुसंगत प्रकार+बाधाएँ सुनिश्चित करता है। PostgreSQL में समर्थित; SQL सर्वर/MySQL इसके बजाय उपयोगकर्ता-परिभाषित प्रकारों का उपयोग करता है।
110
EN + हिं Medium
GB What is the purpose of the DEFERRABLE INITIALLY DEFERRED constraint option in SQL?
IN SQL में प्रारंभिक रूप से विलंबित बाधा विकल्प का उद्देश्य क्या है?
A
Constraints are always enforced immediately प्रतिबंध हमेशा तुरंत लागू किए जाते हैं
B
Constraints are never enforced प्रतिबंध कभी भी लागू नहीं किये जाते
C
Constraints are checked at the end of a transaction (COMMIT) rather than after each statement allowing intermediate states to violate the constraint during a transaction बाधाओं की जाँच लेन-देन के अंत में की जाती है (COMMIT) न कि प्रत्येक कथन के बाद, जो मध्यवर्ती राज्यों को लेन-देन के दौरान बाधा का उल्लंघन करने की अनुमति देता है।
D
Constraints are enforced only for INSERT not UPDATE or DELETE बाधाएँ केवल INSERT के लिए लागू की जाती हैं, अद्यतन या DELETE के लिए नहीं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Deferrable constraints: DEFERRABLE INITIALLY DEFERRED = checked only at COMMIT. DEFERRABLE INITIALLY IMMEDIATE = checked after each statement but can be deferred per-session. NOT DEFERRABLE = always immediate (default). Useful for: circular FK references, bulk loading with interdependent tables.
व्याख्या (हिन्दी) आस्थगित बाधाएँ: आस्थगित प्रारंभ में आस्थगित = केवल COMMIT पर जाँच की गई। प्रारंभिक रूप से तत्काल स्थगित करने योग्य = प्रत्येक कथन के बाद जाँच की जाती है लेकिन प्रति सत्र स्थगित किया जा सकता है। टालने योग्य नहीं = सदैव तत्काल (डिफ़ॉल्ट)। इनके लिए उपयोगी: गोलाकार एफके संदर्भ, अन्योन्याश्रित तालिकाओं के साथ थोक लोडिंग।
111
EN + हिं Medium
GB What is CREATE INDEX and what is the difference between a unique index and a non-unique index?
IN क्रिएट इंडेक्स क्या है और यूनिक इंडेक्स और नॉन-यूनिक इंडेक्स के बीच क्या अंतर है?
A
Non-unique indexes are always faster than unique indexes गैर-अद्वितीय सूचकांक हमेशा अद्वितीय सूचकांक की तुलना में तेज़ होते हैं
B
Unique indexes are created automatically; non-unique indexes must be created manually अद्वितीय अनुक्रमणिकाएँ स्वचालित रूप से बनाई जाती हैं; गैर-अद्वितीय अनुक्रमणिका मैन्युअल रूप से बनाई जानी चाहिए
C
All indexes are unique by default सभी अनुक्रमणिकाएँ डिफ़ॉल्ट रूप से अद्वितीय हैं
D
A unique index enforces that no two rows have the same indexed column values (effectively a UNIQUE constraint); a non-unique index allows duplicate values and is used purely for query performance optimization एक अद्वितीय सूचकांक यह लागू करता है कि किसी भी दो पंक्तियों में समान अनुक्रमित कॉलम मान नहीं होते हैं (प्रभावी रूप से एक अद्वितीय बाधा); एक गैर-अद्वितीय सूचकांक डुप्लिकेट मानों की अनुमति देता है और इसका उपयोग विशुद्ध रूप से क्वेरी प्रदर्शन अनुकूलन के लिए किया जाता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Unique index: enforces uniqueness constraint (CREATE UNIQUE INDEX) - prevents duplicate values, used for alternate keys. Non-unique index: allows duplicates, created purely for query optimization (speed up WHERE, JOIN, ORDER BY operations). Both improve query performance.
व्याख्या (हिन्दी) अद्वितीय सूचकांक: विशिष्टता बाधा को लागू करता है (अद्वितीय सूचकांक बनाएं) - वैकल्पिक कुंजियों के लिए उपयोग किए जाने वाले डुप्लिकेट मानों को रोकता है। गैर-अद्वितीय सूचकांक: डुप्लिकेट की अनुमति देता है, जो पूरी तरह से क्वेरी अनुकूलन के लिए बनाया गया है (कहां गति बढ़ाएं, जुड़ें, संचालन द्वारा ऑर्डर करें)। दोनों क्वेरी प्रदर्शन में सुधार करते हैं।
112
EN + हिं Medium
GB What is the purpose of the GENERATED ALWAYS AS clause in CREATE TABLE (computed columns)?
IN क्रिएट टेबल (गणना किए गए कॉलम) में जेनरेटेड ऑलवेज एएस क्लॉज का उद्देश्य क्या है?
A
It generates random values for a column यह किसी कॉलम के लिए यादृच्छिक मान उत्पन्न करता है
B
It defines a column whose value is automatically computed from an expression and stored (STORED) or computed on-the-fly (VIRTUAL) cannot be manually set or updated यह एक कॉलम को परिभाषित करता है जिसका मान स्वचालित रूप से एक अभिव्यक्ति से गणना की जाती है और संग्रहीत (STORED) या ऑन-द-फ्लाई (VIRTUAL) की गणना मैन्युअल रूप से सेट या अपडेट नहीं की जा सकती है
C
It generates default values when INSERT does not specify the column जब INSERT कॉलम निर्दिष्ट नहीं करता है तो यह डिफ़ॉल्ट मान उत्पन्न करता है
D
It creates an auto-increment sequence for the column यह कॉलम के लिए एक ऑटो-इंक्रीमेंट अनुक्रम बनाता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Generated/computed column: CREATE TABLE t (a INT, b INT, c INT GENERATED ALWAYS AS (a+b) STORED). STORED: computed once and physically stored. VIRTUAL: computed on read, no storage. Value derived from expression, cannot be manually SET. Useful for derived attributes avoiding redundant storage.
व्याख्या (हिन्दी) जनरेट किया गया/गणना किया गया कॉलम: तालिका बनाएं (a INT, b INT, c INT हमेशा (a+b) संग्रहीत के रूप में उत्पन्न होता है)। संग्रहीत: एक बार गणना की गई और भौतिक रूप से संग्रहीत। आभासी: पढ़ने पर गणना, कोई भंडारण नहीं। अभिव्यक्ति से प्राप्त मूल्य, मैन्युअल रूप से सेट नहीं किया जा सकता। अनावश्यक भंडारण से बचने के लिए व्युत्पन्न विशेषताओं के लिए उपयोगी।
113
EN + हिं Medium
GB What does CREATE SCHEMA do and how does it relate to CREATE DATABASE?
IN क्रिएट स्कीमा क्या करती है और यह क्रिएट डेटाबेस से कैसे संबंधित है?
A
CREATE SCHEMA creates a temporary database CREATE SCHEMA एक अस्थायी डेटाबेस बनाता है
B
CREATE SCHEMA creates a logical namespace/grouping for database objects within a database; CREATE DATABASE creates an entirely new database instance. In some DBMS (PostgreSQL) SCHEMA is a namespace within a database; in MySQL SCHEMA and DATABASE are synonymous CREATE SCHEMA डेटाबेस के भीतर डेटाबेस ऑब्जेक्ट के लिए एक तार्किक नामस्थान/समूहन बनाता है; CREATE DATABASE एक पूरी तरह से नया डेटाबेस इंस्टेंस बनाता है। कुछ DBMS (PostgreSQL) में SCHEMA एक डेटाबेस के भीतर एक नेमस्पेस है; MySQL में SCHEMA और DATABASE पर्यायवाची हैं
C
CREATE SCHEMA is only for stored procedures; CREATE DATABASE for tables CREATE SCHEMA केवल संग्रहीत प्रक्रियाओं के लिए है; तालिकाओं के लिए डेटाबेस बनाएँ
D
They are always identical operations वे हमेशा समान संचालन होते हैं
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) PostgreSQL: CREATE DATABASE creates a new database cluster; CREATE SCHEMA creates a namespace (schema) within a database. MySQL: CREATE SCHEMA = CREATE DATABASE (synonyms). SQL Server: schemas are namespaces within a database (dbo, sales, hr).
व्याख्या (हिन्दी) PostgreSQL: CREATE DATABASE एक नया डेटाबेस क्लस्टर बनाता है; CREATE SCHEMA डेटाबेस के भीतर एक नेमस्पेस (स्कीमा) बनाता है। MySQL: स्कीमा बनाएं = डेटाबेस बनाएं (समानार्थी)। SQL सर्वर: स्कीमा एक डेटाबेस (डीबीओ, बिक्री, घंटा) के भीतर नामस्थान हैं।
114
EN + हिं Easy
GB What is the effect of adding a NOT NULL constraint to an existing column that already contains NULL values?
IN किसी मौजूदा कॉलम में NOT NULL बाधा जोड़ने का क्या प्रभाव होता है जिसमें पहले से ही NULL मान शामिल हैं?
A
It automatically replaces NULLs with 0 or empty string यह स्वचालित रूप से NULL को 0 या खाली स्ट्रिंग से बदल देता है
B
The constraint is added but only applies to new rows बाधा जोड़ी गई है लेकिन केवल नई पंक्तियों पर लागू होती है
C
The ALTER TABLE command fails with an error because existing NULLs would violate the constraint - you must first update NULLs to valid values before adding the NOT NULL constraint ALTER TABLE कमांड एक त्रुटि के साथ विफल हो जाता है क्योंकि मौजूदा NULLs बाधा का उल्लंघन करेंगे - आपको NOT NULL बाधा जोड़ने से पहले NULLs को मान्य मानों में अपडेट करना होगा
D
It silently converts NULLs to empty strings यह चुपचाप NULLs को खाली स्ट्रिंग्स में बदल देता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) Attempting to ALTER TABLE...MODIFY col INT NOT NULL when column has existing NULLs fails in most DBMS with Cannot be null error. Solution: first UPDATE table SET col=default_value WHERE col IS NULL, then add NOT NULL constraint.
व्याख्या (हिन्दी) तालिका में परिवर्तन करने का प्रयास... कॉलम में मौजूदा शून्य होने पर कॉलम को संशोधित करें INT NULL अधिकांश DBMS में शून्य नहीं हो सकता त्रुटि के साथ विफल हो जाता है। समाधान: पहले अद्यतन तालिका SET col=default_value जहाँ col शून्य है, फिर NOT NULL बाधा जोड़ें।
115
EN + हिं Easy
GB What does the RESTRICT option do in DROP TABLE RESTRICT?
IN ड्रॉप टेबल रेस्ट्रिक्ट में रेस्ट्रिक्ट विकल्प क्या करता है?
A
It restricts which users can drop the table यह प्रतिबंधित करता है कि कौन से उपयोगकर्ता तालिका को गिरा सकते हैं
B
It creates a restricted access table after dropping यह ड्रॉप करने के बाद एक प्रतिबंधित एक्सेस टेबल बनाता है
C
It restricts the number of rows deleted from the table यह तालिका से हटाई गई पंक्तियों की संख्या को प्रतिबंधित करता है
D
It prevents dropping the table if any other database objects depend on it (views, foreign keys, triggers) requiring dependencies to be removed first यदि कोई अन्य डेटाबेस ऑब्जेक्ट इस पर निर्भर करता है (दृश्य, विदेशी कुंजी, ट्रिगर) तो यह तालिका को छोड़ने से रोकता है, जिसके लिए पहले निर्भरता को हटाने की आवश्यकता होती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) DROP TABLE name RESTRICT: fails if any dependent objects exist (views referencing the table, FK constraints in other tables referencing this one, etc.). DROP TABLE name CASCADE: drops the table AND automatically drops all dependent objects. Most DBMS default to RESTRICT behavior.
व्याख्या (हिन्दी) ड्रॉप टेबल नाम प्रतिबंधित: यदि कोई आश्रित ऑब्जेक्ट मौजूद है तो विफल हो जाता है (तालिका को संदर्भित करने वाले दृश्य, इसे संदर्भित करने वाली अन्य तालिकाओं में एफके बाधाएं, आदि)। ड्रॉप टेबल नाम कैस्केड: टेबल को ड्रॉप करता है और स्वचालित रूप से सभी आश्रित वस्तुओं को ड्रॉप करता है। अधिकांश DBMS व्यवहार को प्रतिबंधित करने के लिए डिफ़ॉल्ट होते हैं।
116
EN + हिं Medium
GB What is a partitioned table in DDL and how is RANGE partitioning defined?
IN DDL में विभाजित तालिका क्या है और RANGE विभाजन को कैसे परिभाषित किया जाता है?
A
A table with multiple primary keys partitioning the data डेटा को विभाजित करने वाली एकाधिक प्राथमिक कुंजियों वाली एक तालिका
B
A table replicated across multiple servers एकाधिक सर्वरों पर दोहराई गई एक तालिका
C
A table divided into smaller physical storage units (partitions) based on partition key values; RANGE partitioning: each partition holds rows where partition key falls within specified ranges विभाजन कुंजी मानों के आधार पर छोटी भौतिक भंडारण इकाइयों (विभाजन) में विभाजित एक तालिका; रेंज विभाजन: प्रत्येक विभाजन में पंक्तियाँ होती हैं जहाँ विभाजन कुंजी निर्दिष्ट सीमाओं के भीतर आती है
D
A table split across multiple databases एक तालिका कई डेटाबेस में विभाजित है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) RANGE partitioning: rows assigned to partitions based on value ranges. CREATE TABLE orders (...) PARTITION BY RANGE (YEAR(order_date)) (PARTITION p2020 VALUES LESS THAN (2021), PARTITION p2021 VALUES LESS THAN (2022)...). Enables partition pruning - queries only scan relevant partitions.
व्याख्या (हिन्दी) रेंज विभाजन: मान श्रेणियों के आधार पर विभाजनों को पंक्तियाँ सौंपी गईं। तालिका आदेश बनाएं (...) श्रेणी के अनुसार विभाजन (वर्ष(ऑर्डर_दिनांक)) (विभाजन p2020 मान (2021) से कम, विभाजन p2021 मान (2022)...) से कम। विभाजन काट-छाँट सक्षम करता है - क्वेरीज़ केवल प्रासंगिक विभाजनों को स्कैन करती हैं।
117
EN + हिं Medium
GB What is the SQL CREATE TYPE statement used for in object-relational DBMS?
IN ऑब्जेक्ट-रिलेशनल डीबीएमएस में SQL क्रिएट टाइप स्टेटमेंट का उपयोग किस लिए किया जाता है?
A
To define user-defined types (UDTs) including structured types with attributes and methods array types row types and enum types - extending the built-in type system विशेषताओं और विधियों के साथ संरचित प्रकारों सहित उपयोगकर्ता-परिभाषित प्रकारों (यूडीटी) को परिभाषित करने के लिए, सरणी प्रकार, पंक्ति प्रकार और एनम प्रकार - अंतर्निहित प्रकार प्रणाली का विस्तार करना
B
To define a type of database user role एक प्रकार की डेटाबेस उपयोगकर्ता भूमिका को परिभाषित करने के लिए
C
To create a data type constraint डेटा प्रकार बाधा उत्पन्न करने के लिए
D
To create a new table with a specific structure type एक विशिष्ट संरचना प्रकार के साथ एक नई तालिका बनाने के लिए
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) CREATE TYPE allows: user-defined structured types (objects with attributes+methods), array types, multiset types, row types, enum types. E.g., CREATE TYPE Address AS OBJECT (street VARCHAR(100), city VARCHAR(50)). Then use as column type in tables.
व्याख्या (हिन्दी) क्रिएट प्रकार की अनुमति देता है: उपयोगकर्ता-परिभाषित संरचित प्रकार (विशेषताओं + विधियों के साथ ऑब्जेक्ट), सरणी प्रकार, मल्टीसेट प्रकार, पंक्ति प्रकार, एनम प्रकार। उदाहरण के लिए, ऑब्जेक्ट के रूप में टाइप एड्रेस बनाएं (स्ट्रीट वर्चर(100), सिटी वर्चर(50))। फिर तालिकाओं में कॉलम प्रकार के रूप में उपयोग करें।
118
EN + हिं Easy
GB What is DDL replication in the context of database replication architecture?
IN डेटाबेस प्रतिकृति आर्किटेक्चर के संदर्भ में डीडीएल प्रतिकृति क्या है?
A
Replicating the data dictionary tables डेटा शब्दकोश तालिकाओं की प्रतिकृति बनाना
B
A type of replication using DDL statements only केवल DDL कथनों का उपयोग करके एक प्रकार की प्रतिकृति
C
Replicating structural changes (CREATE TABLE, ALTER TABLE, DROP INDEX, etc.) from primary to replica databases ensuring schema stays synchronized - not all replication solutions support DDL replication प्राथमिक से प्रतिकृति डेटाबेस में संरचनात्मक परिवर्तनों (तालिका बनाएं, तालिका बदलें, ड्रॉप इंडेक्स इत्यादि) की प्रतिलिपि बनाना सुनिश्चित करें कि स्कीमा सिंक्रनाइज़ रहे - सभी प्रतिकृति समाधान डीडीएल प्रतिकृति का समर्थन नहीं करते हैं
D
Replicating only data changes प्रतिलिपि बनाने से केवल डेटा में परिवर्तन होता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) DDL replication: propagating schema changes to replicas. Challenge: ALTER TABLE on large tables may lock the primary; DDL replication must synchronize without blocking replicas. Some solutions use online schema change tools (pt-online-schema-change, gh-ost) to avoid downtime.
व्याख्या (हिन्दी) डीडीएल प्रतिकृति: स्कीमा परिवर्तनों को प्रतिकृतियों में प्रसारित करना। चुनौती: बड़ी तालिकाओं पर परिवर्तन तालिका प्राथमिक को लॉक कर सकती है; डीडीएल प्रतिकृति को प्रतिकृतियों को अवरुद्ध किए बिना सिंक्रनाइज़ करना होगा। कुछ समाधान डाउनटाइम से बचने के लिए ऑनलाइन स्कीमा परिवर्तन टूल (पीटी-ऑनलाइन-स्कीमा-चेंज, जीएच-ओस्ट) का उपयोग करते हैं।
119
EN + हिं Medium
GB What is the purpose of CREATE SEQUENCE in SQL and how does it differ from AUTO_INCREMENT?
IN SQL में CREATE SEQUENCE का उद्देश्य क्या है और यह AUTO_INCREMENT से किस प्रकार भिन्न है?
A
AUTO_INCREMENT is standard SQL; SEQUENCE is proprietary AUTO_INCREMENT मानक SQL है; अनुक्रम मालिकाना है
B
They are functionally identical in all DBMS वे सभी DBMS में कार्यात्मक रूप से समान हैं
C
SEQUENCE is only for negative numbers; AUTO_INCREMENT for positive अनुक्रम केवल ऋणात्मक संख्याओं के लिए है; सकारात्मक के लिए AUTO_INCREMENT
D
SEQUENCE is a database object that generates unique sequential numbers independently of any table - can be used across multiple tables allows fine-grained control (INCREMENT BY, START WITH, MINVALUE, MAXVALUE, CYCLE); AUTO_INCREMENT is a column property tied to a specific table SEQUENCE एक डेटाबेस ऑब्जेक्ट है जो किसी भी तालिका से स्वतंत्र रूप से अद्वितीय अनुक्रमिक संख्याएँ उत्पन्न करता है - कई तालिकाओं में उपयोग किया जा सकता है जो बारीक नियंत्रण की अनुमति देता है (वृद्धि द्वारा, प्रारंभ के साथ, न्यूनतम मूल्य, अधिकतम मूल्य, चक्र); AUTO_INCREMENT एक विशिष्ट तालिका से जुड़ी एक स्तंभ संपत्ति है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) SEQUENCE: standalone object, portable (standard SQL), can be shared across tables, supports CYCLE, INCREMENT BY, CACHE. AUTO_INCREMENT (MySQL)/SERIAL (PostgreSQL)/IDENTITY (SQL Server): column property, auto-increments per table, simpler but less flexible.
व्याख्या (हिन्दी) अनुक्रम: स्टैंडअलोन ऑब्जेक्ट, पोर्टेबल (मानक SQL), तालिकाओं में साझा किया जा सकता है, CYCLE, INCREMENT BY, CACHE का समर्थन करता है। AUTO_INCREMENT (MySQL)/SERIAL (PostgreSQL)/IDENTITY (SQL सर्वर): कॉलम प्रॉपर्टी, प्रति टेबल ऑटो-इंक्रीमेंट, सरल लेकिन कम लचीला।
120
EN + हिं Medium
GB What happens when you execute ALTER TABLE ADD COLUMN col INT DEFAULT 5 NOT NULL on a table with millions of existing rows?
IN क्या होता है जब आप लाखों मौजूदा पंक्तियों वाली तालिका पर ALTER TABLE ADD COLUMN col INT Default 5 NOT NULL निष्पादित करते हैं?
A
The DEFAULT value is only applied to new rows डिफ़ॉल्ट मान केवल नई पंक्तियों पर लागू होता है
B
The column is added instantly in all DBMS सभी DBMS में कॉलम तुरन्त जुड़ जाता है
C
In most DBMS this requires rewriting the entire table to add the column value to every row (table-level lock, long operation). PostgreSQL 11+ handles DEFAULT WITHOUT NULL as instant; MySQL 8.0+ supports instant ADD COLUMN for some cases अधिकांश DBMS में प्रत्येक पंक्ति में कॉलम मान जोड़ने के लिए संपूर्ण तालिका को फिर से लिखने की आवश्यकता होती है (तालिका-स्तरीय लॉक, लंबा ऑपरेशन)। PostgreSQL 11+ तत्काल के रूप में शून्य के बिना डिफ़ॉल्ट को संभालता है; MySQL 8.0+ कुछ मामलों के लिए तत्काल कॉलम जोड़ें का समर्थन करता है
D
The operation fails if the table has data यदि तालिका में डेटा है तो ऑपरेशन विफल हो जाता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English) ADD NOT NULL column with DEFAULT on large tables: traditionally requires full table rewrite (each existing row gets the default value). Modern DBMS improvements: PostgreSQL 11+ stores DEFAULT separately (no rewrite for constant defaults). MySQL 8.0+ ALGORITHM=INSTANT for some column additions.
व्याख्या (हिन्दी) बड़ी तालिकाओं पर डिफ़ॉल्ट के साथ शून्य कॉलम जोड़ें: परंपरागत रूप से पूर्ण तालिका को फिर से लिखने की आवश्यकता होती है (प्रत्येक मौजूदा पंक्ति को डिफ़ॉल्ट मान मिलता है)। आधुनिक DBMS सुधार: PostgreSQL 11+ डिफ़ॉल्ट को अलग से संग्रहीत करता है (निरंतर डिफ़ॉल्ट के लिए कोई पुनर्लेखन नहीं)। कुछ कॉलम परिवर्धन के लिए MySQL 8.0+ एल्गोरिदम=तत्काल।
106–120 of 136