UNIT 5: रिलेशनल डेटाबेस के लिए फंक्शनल डिपेंडेंसी और नॉर्मलाइजेशन

Hello Everyone, Welcome to Rajasthan Polytechnic Blogs.

Subject - Introduction to DBMS CS 4002(Same as CI/IT 4002)
Branch - Computer Science Engineering
Semester - 4th Semester

📍⚡ Important 
▶ Video PDF - Update Soon
👉 WhatsApp Group - Join Now
👉 Telegram Channel - Join Now
📄 Notes in Hindi - Click Here
📄 Notes in English - Click Here
🔥 4th Semester All Subjects Notes - Click Here

Please take a moment to share your Review in Comment Section.

UNIT 5: रिलेशनल डेटाबेस के लिए फंक्शनल डिपेंडेंसी और नॉर्मलाइजेशन

इस यूनिट में फंक्शनल डिपेंडेंसी और नॉर्मलाइजेशन के बारे में चर्चा की जाएगी, जो रिलेशनल डेटाबेस डिज़ाइन के महत्वपूर्ण अवधारणाएँ हैं। हम विभिन्न नॉर्मल फॉर्म्स (1NF, 2NF, 3NF, BCNF) और उन्नत डिपेंडेंसीज़ जैसे मल्टी-वैल्यू डिपेंडेंसी, जॉइन डिपेंडेंसी, और आगे के नॉर्मल फॉर्म्स (4NF और 5NF) पर भी विचार करेंगे। ये अवधारणाएँ डेटाबेस को कुशल, विश्वसनीय और अच्छी संरचित बनाने में मदद करती हैं।


5.1 फंक्शनल डिपेंडेंसी और रिलेशनल डेटाबेस के लिए नॉर्मलाइजेशन 🧠

5.1.1 नॉर्मलाइजेशन की अवधारणा 🔍

नॉर्मलाइजेशन एक प्रक्रिया है जिसमें रिलेशनल डेटाबेस के गुणसूत्र और तालिकाओं को इस प्रकार व्यवस्थित किया जाता है ताकि रिडंडेंसी और डिपेंडेंसी को कम किया जा सके। इसका उद्देश्य डेटा एनोमलीज़ (INSERT, UPDATE और DELETE ऑपरेशंस के दौरान होने वाली समस्याएँ) को समाप्त करना है।

नॉर्मलाइजेशन डेटाबेस की दक्षता में सुधार करता है और यह सुनिश्चित करता है कि डेटाबेस में अनावश्यक डिपेंडेंसीज़ नहीं हैं।

फंक्शनल डिपेंडेंसी (FD): जब एक विशेष एट्रिब्यूट (या एट्रिब्यूट्स का समूह) दूसरे एट्रिब्यूट को अनूठे रूप से निर्धारित करता है, तो इसे फंक्शनल डिपेंडेंसी कहा जाता है।

उदाहरण के लिए, अगर A → B है, तो इसका मतलब है कि B पूरी तरह से A पर डिपेंड है, अर्थात एट्रिब्यूट A के मूल्य से एट्रिब्यूट B का मूल्य निर्धारित होता है।

  • उदाहरण:
    यदि हमारे पास एक तालिका Employee(EmpID, Name, Department) है, और EmpID अनूठे रूप से Name और Department को निर्धारित करता है, तो हम कह सकते हैं EmpID → Name और EmpID → Department

5.1.2 नॉर्मल फॉर्म्स (1NF, 2NF, 3NF, BCNF) 🏗️

नॉर्मलाइजेशन में डेटाबेस स्कीमा को विभिन्न नॉर्मल फॉर्म्स (NF) में रूपांतरित किया जाता है ताकि डेटा को संरचित किया जा सके, रिडंडेंसी और डिपेंडेंसी को न्यूनतम किया जा सके।

  1. पहली नॉर्मल फॉर्म (1NF)

    • एक तालिका 1NF में होती है यदि उसमें कोई रिपीटिंग ग्रुप्स नहीं होते और सभी एट्रिब्यूट्स में परमाणु (अणुगत) मान होते हैं।
    • उदाहरण:
      यदि किसी एट्रिब्यूट में एक सूची या सेट के रूप में मान होते हैं (जैसे, "फोन नंबर" एट्रिब्यूट में कई नंबर होते हैं), तो तालिका 1NF में नहीं है। इसे प्रत्येक पंक्ति में अलग-अलग फोन नंबर में विभाजित किया जाना चाहिए।

    1NF की आवश्यकता:

    • प्रत्येक कॉलम में परमाणु मान होना चाहिए।
    • प्रत्येक रिकॉर्ड (पंक्ति) अद्वितीय होना चाहिए।

    1NF का उदाहरण:

    EmpIDNamePhone Numbers
    101John123-456, 789-012
    102Alice234-567

    इसे 1NF में बदलने के लिए हमें फोन नंबर को अलग-अलग पंक्तियों में विभाजित करना होगा:

    EmpIDNamePhone Number
    101John123-456
    101John789-012
    102Alice234-567
  2. दूसरी नॉर्मल फॉर्म (2NF)

    एक तालिका 2NF में होती है यदि वह 1NF में है और सभी नॉन-की एट्रिब्यूट्स पूरी तरह से प्राथमिक कुंजी पर निर्भर होते हैं।

    • उदाहरण:
      एक तालिका में यदि कोई संयुक्त प्राथमिक कुंजी है (जो दो या दो से अधिक कॉलमों से मिलकर बनती है), तो कोई भी नॉन-की एट्रिब्यूट पूरी संयुक्त कुंजी पर निर्भर होना चाहिए।

    2NF की आवश्यकता:

    • तालिका को 1NF में होना चाहिए।
    • हर नॉन-प्राइम एट्रिब्यूट पूरी प्राथमिक कुंजी पर निर्भर होना चाहिए (आंशिक निर्भरता को समाप्त करें)।

    2NF का उदाहरण:

    EmpIDDeptIDNameDepartment Name
    101D01JohnHR
    102D02AliceIT

    यहां, Department Name केवल DeptID पर निर्भर है, न कि पूरे संयुक्त कुंजी (EmpID, DeptID) पर। इसे 2NF में लाने के लिए हम इसे दो तालिकाओं में विभाजित करते हैं:

    EmpIDDeptIDName
    101D01John
    102D02Alice
    DeptIDDepartment Name
    D01HR
    D02IT
  3. तीसरी नॉर्मल फॉर्म (3NF)

    एक तालिका 3NF में होती है यदि वह 2NF में हो और उसमें कोई ट्रांजिटिव डिपेंडेंसी न हो।

    • उदाहरण:
      एक ट्रांजिटिव डिपेंडेंसी तब होती है जब एक नॉन-की एट्रिब्यूट दूसरे नॉन-की एट्रिब्यूट पर निर्भर होता है।

    3NF की आवश्यकता:

    • तालिका 2NF में होनी चाहिए।
    • कोई ट्रांजिटिव डिपेंडेंसी नहीं होनी चाहिए (नॉन-की एट्रिब्यूट्स अन्य नॉन-की एट्रिब्यूट्स पर निर्भर नहीं होने चाहिए)।

    3NF का उदाहरण:

    EmpIDNameDeptIDDeptHead
    101JohnD01Smith
    102AliceD02Brown

    यहां, DeptHead DeptID पर निर्भर है, जो EmpID पर निर्भर है, यह एक ट्रांजिटिव डिपेंडेंसी है। इसे 3NF में लाने के लिए हम DeptHead को अलग तालिका में डालते हैं:

    EmpIDNameDeptID
    101JohnD01
    102AliceD02
    DeptIDDeptHead
    D01Smith
    D02Brown
  4. बॉयस-कोड नॉर्मल फॉर्म (BCNF)

    एक तालिका BCNF में होती है यदि वह 3NF में हो और प्रत्येक फंक्शनल डिपेंडेंसी में बाईं ओर वाला हिस्सा सुपरकी हो (वह एट्रिब्यूट्स का समूह जो प्रत्येक रिकॉर्ड को अनूठे रूप से पहचानता है)।

    BCNF की आवश्यकता:

    • तालिका 3NF में होनी चाहिए।
    • हर फंक्शनल डिपेंडेंसी में बाईं ओर वाला हिस्सा सुपरकी होना चाहिए।

    BCNF का उदाहरण:

    EmpIDDeptIDDeptHead
    101D01Smith
    102D02Brown

    यहां, DeptID → DeptHead एक फंक्शनल डिपेंडेंसी है, लेकिन DeptID सुपरकी नहीं है। इसे BCNF में लाने के लिए हम DeptHead को नई तालिका में डालते हैं:

    EmpIDDeptID
    101D01
    102D02
    DeptIDDeptHead
    D01Smith
    D02Brown

5.2 रिलेशनल डेटाबेस डिज़ाइन एल्गोरिदम और आगे की डिपेंडेंसीज़ ⚙️

5.2.1 मल्टी-वैल्यू डिपेंडेंसी और 4NF 🔀

मल्टी-वैल्यू डिपेंडेंसी तब होती है जब एक एट्रिब्यूट एक साथ कई स्वतंत्र मानों को निर्धारित करता है। इसे समाप्त करने के लिए तालिका को 4NF में होना चाहिए।

  • 4NF: एक तालिका 4NF में होती है यदि वह BCNF में हो और उसमें कोई मल्टी-वैल्यू डिपेंडेंसी न हो।

4NF का उदाहरण:

EmpIDSkillLanguage
101ProgrammingEnglish
101DesignSpanish

यहां, EmpID दोनों Skill और Language को निर्धारित करता है, और ये एक दूसरे से स्वतंत्र हैं। इसे 4NF में लाने के लिए हम इसे दो तालिकाओं में विभाजित करते हैं:

EmpIDSkill
101Programming
101Design
EmpIDLanguage
101English
101Spanish

5.2.2 जॉइन डिपेंडेंसी और 5NF

जॉइन डिपेंडेंसी तब होती है जब एक तालिका को कई तालिकाओं में विभाजित किया जा सकता है, लेकिन मूल तालिका को फिर से जोड़ने पर उसे पुनः बनाया जा सकता है।

  • 5NF: एक तालिका 5NF में होती है यदि वह 4NF में हो और उसमें कोई जॉइन डिपेंडेंसी न हो, जिससे जानकारी खोने का खतरा हो।

निष्कर्ष 🎯

  • नॉर्मलाइजेशन डेटाबेस डिज़ाइन में एक महत्वपूर्ण प्रक्रिया है जो रिडंडेंसी और डिपेंडेंसी को कम करती है।
  • नॉर्मल फॉर्म्स (1NF, 2NF, 3NF, BCNF) डेटाबेस को संरचित करने और एनोमलीज़ को समाप्त करने के मार्गदर्शन प्रदान करते हैं।
  • उन्नत डिपेंडेंसीज़ जैसे मल्टी-वैल्यू डिपेंडेंसी और जॉइन डिपेंडेंसी 4NF और 5NF को सुनिश्चित करती हैं, जो डेटाबेस डिज़ाइन को कुशल और प्रभावी बनाती हैं।

Post a Comment

0 Comments