Bcnf क्या होता है?
BCNF in DBMS in Hindi: BCNF (Boyce-Codd Normal Form) एक डेटाबेस डिज़ाइन की स्थिति है जो डेटाबेस में डेटा को structure करने के लिए उपयोग की जाती है। BCNF एक डेटाबेस टेबल के डेटा को उन नियमों के अनुसार संरचित करता है जिन्हें डेटाबेस डिज़ाइन में पालन करना होता है।
BCNF में निम्नलिखित दो मुख्य शर्तें होती हैं:
Key Attribute (Superkey): BCNF में, हर टेबल की हर row को एक यूनिक आईडी (key) से पहचाना जाता है, जिसका उपयोग डेटा को प्राप्त करने के लिए किया जा सकता है।
Functional Dependency: इसमें, टेबल के सभी गुणगुणात्मक विशेषताएँ प्राप्त करने के लिए पर्याप्त होती हैं और कोई भी गुणगुणात्मक विशेषता अनिवार्यत: नहीं होती है।
यदि एक टेबल BCNF में है, तो यह डेटाबेस में डेटा को बेहतर ढंग से संगठित करता है और अनमान्य डेटा ट्रेंड्स से बचाता है। BCNF का पालन करना डेटाबेस की अच्छी अद्भुतता और डेटा को हासिल करने और अद्भुतता का सही तरीके से उपयोग करने में मदद करता है।
Bcnf के प्रकार
BCNF (Boyce-Codd Normal Form) के आधार पर, डेटाबेस table को विभिन्न प्रकार की विशेषताओं में वर्गीकृत किया जा सकता है, जो निम्नलिखित हैं:
Multi-valued Dependency: इस प्रकार की विशेषता में, table की पंक्तियों के बीच किसी भी डेटा आइटम के संबंध में एक पंक्ति का आपसी संबंध होता है, और एक पंक्ति के मान के बिना अन्य पंक्तियों के मानों पर कोई प्रभाव नहीं पड़ता है।
Partial Dependency: इस प्रकार की विशेषता में, table के गुणगुणात्मक विशेषताएँ किसी हीसे के आधार पर होती हैं और दूसरे हिस्सों पर नहीं। यहाँ, कुछ विशेषताएँ केवल key के आधार पर होती हैं।
Transitive Dependency: इस प्रकार की विशेषता में, एक table में विशेषताएँ key से केवल आगंतुक विशेषता के माध्यम से प्राप्त की जाती हैं। यह तीनों table के बीच संबंधों का प्रतिनिधित्व करता है।
जब एक table BCNF को पूरा करता है, तो यह सभी उपर्युक्त संबंधों को ध्यान में रखता है और सुनिश्चित करता है कि कोई अनावश्यक डेटा अनमान्य तरीके से संगठित नहीं है। इसके परिणामस्वरूप, BCNF डेटाबेस की उपयुक्तता और कार्यान्वयन को बेहतर बनाने में मदद कर सकता है।
- Join Dependency in DBMS in Hindi – Join Dependency क्या है? इसके प्रकार व उपयोग
- Transitive Dependency in DBMS in Hindi – Transitive Dependency क्या है?
- Functional Dependency in DBMS in Hindi – Functional Dependency क्या है? इसके नियम और प्रकार?
- Normalization in DBMS in Hindi – Normalization क्या है व इसके प्रकार?
- Keys in DBMS in Hindi। DBMS में कितने Keys होते है? DBMS क्या है?
Bcnf के उदाहरण
ठीक है, BCNF के उदाहरण के लिए हम एक टेबल देखते हैं और दिखाते हैं कि कैसे यह BCNF में रूप में परिवर्तित हो सकता है।
चलिए, हम एक व्यक्ति (Person) टेबल के उदाहरण को देखते हैं:
Person
Person_ID | First_Name | Last_Name | Address | Phone_Number |
---|---|---|---|---|
1 | John | Doe | 123 Main St | 555-123-4567 |
2 | Jane | Smith | 456 Elm St | 555-183-4567 |
3 | Bob | Johnson | 789 Oak St | 555-127-4867 |
4 | Alice | Brown | 111 Maple St | 555-823-4967 |
5 | Charlie | Devis | 232 Pine St | 555-193-4517 |
इस टेबल में, Person_ID फ़ील्ड को कुंजी (Key) के रूप में पहचाना जा सकता है, जो इसे प्राधिकृत करता है।
हम यहाँ Address और Phone_Number के बीच एकाधिक संगठन (multi-valued dependency) देख सकते हैं, क्योंकि एक व्यक्ति के Person_ID के बिना इन विशेषताओं के मान पर कोई प्रभाव नहीं पड़ता है।
अब, हम इस टेबल को BCNF में परिवर्तित करने का प्रयास करते हैं:
Person_Info
Person_ID | First_Name | Last_Name |
---|---|---|
1 | John | Doe |
2 | Jane | Smith |
3 | Bob | Johnson |
4 | Alice | Brown |
5 | Charlie | Devis |
Contact_Info
Person_ID | Address | Phone_Number |
---|---|---|
1 | 123 Main St | 555-123-4567 |
2 | 456 Elm St | 555-183-4567 |
3 | 789 Oak St | 555-127-4867 |
4 | 111 Maple St | 555-823-4967 |
5 | 232 Pine St | 555-193-4517 |
यहाँ, हमने व्यक्ति की जानकारी को Person_Info टेबल में स्थानांतरित किया और संपर्क जानकारी को Contact_Info टेबल में स्थानांतरित किया है, जिससे हमने multiple organization को दूर किया है। अब यह टेबल BCNF की शर्तों को पूरा करता है।