मुख्य सामग्री पर जाएँ

सिलेबस · CS कंप्यूटर विज्ञान और सूचना प्रौद्योगिकी

विषय के सभी टॉपिक
C प्रोग्रामिंग की बुनियाद7
ऐरे और पॉइंटर9
रिकर्शन6
प्रायिकता और सांख्यिकी की बुनियाद9
डेटाबेस सिस्टम की बुनियाद15
रैखिक बीजगणित की बुनियाद6
कंप्यूटर नेटवर्क की बुनियाद9
कलन की बुनियाद6
संगणना सिद्धांत की बुनियाद9
कंपाइलर डिज़ाइन की बुनियाद9
लिंक्ड लिस्ट, स्टैक और क्यू5
ट्री, बाइनरी सर्च ट्री और हीप4
ग्राफ की बुनियाद3
एल्गोरिदम की बुनियाद15
असतत गणित की बुनियाद18
डिजिटल लॉजिक की बुनियाद22
कंप्यूटर संगठन की बुनियाद12
ऑपरेटिंग सिस्टम की बुनियाद15

Normal forms: first normal form से BCNF तक

पाठ 133 / 1796 मिनटमुफ़्त

लक्ष्य और model

सभी candidate keys तथा implied FDs से schema classify करें, redundancy पहचानें और 3NF तथा BCNF अलग करें। Classical relations तथा प्रश्न के relevant constraints को बताने वाली given FDs मानें। Normal form FDs से तय होती है; छोटा instance redundancy छिपा सकता है।

1. Normalization क्यों

Enrol(sid,cid,sname,ctitle,grade) में एक student–course pair की एक row है और F={sid→sname,cid→ctitle,sid cid→grade}। Key (sid,cid) है। Student name हर course के साथ और course title हर student के साथ दोहरता है। केवल एक copy update करने से inconsistency; last enrollment delete करने से course information खो सकती है; student के enroll होने से पहले course insert करना awkward है। ये update, deletion और insertion anomalies हैं। Decomposition facts को उनके determinants के अनुसार अलग करता है, लेकिन losslessness तथा enforceability अलग जाँचनी पड़ती है।

2. First और second normal form

1NF में attributes अपने modeled domain की single values लेते हैं, किसी cell में repeating course list नहीं। Atomicity domain और operations पर निर्भर है; हर string को characters में तोड़ना जरूरी नहीं। यहाँ सभी listed schemas पहले से 1NF हैं।

जो attribute कम-से-कम एक candidate key में है वह prime है। जो किसी key में नहीं वह non-prime है। 1NF relation 2NF में तब है जब कोई non-prime attribute किसी candidate key के proper subset पर depend न करे। केवल primary key नहीं, हर candidate key देखें। सभी keys singleton हों तो usual partial-dependency pattern बनाने वाला nonempty proper subset नहीं होता; fully general formal case में empty-determinant dependencies को फिर भी ध्यान देना पड़ता है।

Enrol में sid→sname तथा cid→ctitle, key (sid,cid) के proper subsets की partial dependencies हैं और right attributes non-prime हैं। इसलिए 2NF नहीं। Natural decomposition Student(sid,sname), Course(cid,ctitle), EnrolGrade(sid,cid,grade) है। केवल नई tables देखकर decomposition correct न मानें; उसकी जाँच अगले lesson में है।

3. Third normal form

F+ की हर nontrivial singleton-right FD X→a के लिए 3NF कहता है: X superkey हो या a prime हो। दूसरा विकल्प महत्वपूर्ण है। Overlapping keys में केवल “transitive dependencies हटाएँ” पूरी definition नहीं है।

R(A,B,C), F={A→B,B→C} लें। केवल A candidate key है। B→C में determinant non-superkey और C non-prime है, इसलिए 3NF fail। A singleton key है और empty-determinant FD implied नहीं, इसलिए 2NF है। A→B→C chain, non-key fact B→C को दोहराती है। AB तथा BC decomposition इसे अलग करती है।

4. BCNF

BCNF में F+ की हर nontrivial FD X→Y का X superkey होना चाहिए। इसमें prime-right-side exception नहीं। इसलिए BCNF से 3NF मिलता है, लेकिन उलटा जरूरी नहीं। दिए generating FD set की हर nontrivial FD में determinant superkey हो तो BCNF जाँच के लिए पर्याप्त है; keys और implications फिर भी पूरे set से निकालें।

3NF लेकिन BCNF नहीं वाला उदाहरण: R(A,B,C), F={AB→C,C→B}। AB+ पूरा ABC है; AC+ भी C→B से ABC है। A, B, C कोई singleton key नहीं। Candidate keys AB और AC हैं, इसलिए तीनों attributes prime हैं। AB→C में key determinant; C→B में non-key determinant लेकिन prime B है, इसलिए 3NF allowed। BCNF fail क्योंकि C+={B,C}, A missing है। सभी attributes prime होने से हर implied FD के लिए भी 3NF condition पूरी है।

5. Classification का क्रम

  1. 1NF तथा relevant dependency model स्पष्ट करें।
  2. सभी candidate keys और prime attributes निकालें।
  3. 2NF के लिए proper key subset से non-prime dependency खोजें।
  4. 3NF के लिए non-superkey X और non-prime a वाली X→a खोजें।
  5. BCNF के लिए कोई भी nontrivial non-superkey determinant violation है।

उदाहरण: R(A,B,C,D), F={AB→C,C→D}। A और B किसी right side पर नहीं, इसलिए दोनों mandatory। AB सभी चार देता है और अकेली key है। AB का कोई proper subset C या D नहीं देता, इसलिए 2NF है। C→D में C superkey नहीं और D non-prime, इसलिए 3NF fail। इन चार forms में highest 2NF है। Implied AB→D, C→D की समस्या नहीं हटाता।

सावधानियाँ और सीमा

  • Prime का अर्थ किसी भी candidate key में होना है, केवल primary key में नहीं।
  • Non-key determinant की हर nontrivial FD, 3NF violation नहीं; prime right side exception है।
  • Independent multivalued facts की redundancy BCNF में भी हो सकती है; MVD तथा 4NF अलग extension हैं।
  • अधिक decomposition हमेशा बेहतर नहीं; lossless reconstruction और dependency preservation अलग requirements हैं।

मौलिक अभ्यास: छह single-correct MCQ

ये मौलिक शिक्षण प्रश्न हैं, पिछले वर्षों के प्रश्न नहीं। ठीक एक उत्तर चुनें।

P01. Attribute prime कब है?

A. हर candidate key B. कम-से-कम एक candidate key C. केवल primary key D. किसी superkey में नहीं

उत्तर: B

A: हर key में होना जरूरी नहीं।

B: किसी candidate key में होना पर्याप्त है।

C: Alternate candidate keys भी गिनते हैं।

D: Prime attribute candidate key यानी superkey में आता है।

P02. R(A,B,C), F={AB→C,A→C}; sole key AB है। 1NF मानकर highest form?

A. 1NF B. 2NF C. 3NF D. BCNF

उत्तर: A

A: Proper key subset A से non-prime C आता है, इसलिए 2NF fail।

B: Partial dependency A→C, 2NF रोकती है।

C: A superkey नहीं और C non-prime, इसलिए 3NF भी fail।

D: A→C का determinant non-superkey है।

P03. R(A,B,C), F={A→B,B→C}, अन्य non-implied FD नहीं। Highest form?

A. केवल 1NF B. 2NF C. 3NF D. BCNF

उत्तर: B

A: Singleton key A की partial non-prime dependency यहाँ नहीं।

B: 2NF है, लेकिन B→C से 3NF fail।

C: B superkey नहीं और C non-prime है।

D: B→C से BCNF भी fail।

P04. 3NF में nontrivial X→a, X superkey न हो तो कब allowed है?

A. a prime हो B. a non-prime हो C. हर case में X empty हो D. Relation में कम rows हों

उत्तर: A

A: यह prime-right-side exception है।

B: Non-prime a से 3NF violation है।

C: Empty determinant को automatic exception नहीं।

D: Row count schema normal form नहीं तय करता।

P05. R(A,B,C), F={AB→C,C→B}, keys AB तथा AC। क्या सही है?

A. BCNF है B. 3NF है लेकिन BCNF नहीं C. 2NF fail है D. C superkey है

उत्तर: B

A: C से A नहीं आता, इसलिए C→B BCNF तोड़ता है।

B: सभी attributes prime हैं, लेकिन C superkey नहीं।

C: सभी prime हैं, इसलिए non-prime partial dependency नहीं।

D: C+={B,C}; A missing है।

P06. Classical FD-based hierarchy में कौन हमेशा सही है?

A. 3NF से BCNF B. 2NF से 3NF C. BCNF से 3NF D. 1NF से 2NF

उत्तर: C

A: 3NF में prime-right-side exception है।

B: Non-key transitive dependency 3NF तोड़ सकती है।

C: हर BCNF determinant, 3NF का superkey विकल्प पूरा करता है।

D: 1NF में partial dependencies रह सकती हैं।

स्रोत और दायरा

यह 2026 course के बताए भाग का पाठ है, पूरे Databases syllabus की समाप्ति नहीं। सभी गणनात्मक उदाहरण और प्रश्न मौलिक हैं। 2027 की पूर्णता का दावा नहीं।

प्रगति सहेजने के लिए साइन इन करें। साइन इन