बॉयस-कॉड नॉर्मल फॉर्म का लक्ष्य डेटाबेस सामान्यीकरण को प्राप्त करने के लिए एक रिलेशनल डेटाबेस के कॉलम और टेबल को व्यवस्थित करके डेटा अखंडता को बढ़ाना है। डेटाबेस सामान्यीकरण तब होता है जब तालिकाओं के बीच स्थापित संबंध होते हैं और जब तालिकाओं ने डेटाबेस को अधिक लचीला बनाने और डेटा को संरक्षित करने के लिए नियमों को परिभाषित किया होता है।
डेटाबेस सामान्यीकरण का लक्ष्य अनावश्यक डेटा को खत्म करना और डेटा निर्भरता को सुनिश्चित करना है। एक डेटाबेस को सामान्यीकृत किया जाता है जब एक ही डेटा को एक से अधिक टेबल में संग्रहीत नहीं किया जाता है और जब केवल संबंधित डेटा एक तालिका में संग्रहीत किया जाता है।
बॉयस-कॉड नॉर्मल फॉर्म की उत्पत्ति
दिशानिर्देशों की एक श्रृंखला के बाद सुनिश्चित करें कि डेटाबेस सामान्यीकृत हैं। इन दिशानिर्देशों को सामान्य रूपों के रूप में संदर्भित किया जाता है और इन्हें एक से पांच तक क्रमांकित किया जाता है। एक रिलेशनल डेटाबेस को सामान्यीकृत के रूप में वर्णित किया जाता है यदि यह पहले तीन रूपों से मिलता है: 1NF, 2NF, और 3NF।
BCNF को रेमंड बॉयस और एडगर कोड द्वारा 1974 में तीसरे सामान्य रूप, या 3NF के विस्तार के रूप में बनाया गया था। पुरुष डेटाबेस स्कीमा बनाने के लिए काम कर रहे थे जो कम्प्यूटेशनल समय को कम करने के लक्ष्य के साथ अतिरेक को कम करते हैं। तीसरा सामान्य प्रपत्र उन स्तंभों को हटा देता है जो पहले और दूसरे सामान्य रूपों में दिशानिर्देशों को पूरा करने के अलावा प्राथमिक कुंजी पर निर्भर नहीं हैं। BCNF, जिसे कभी-कभी 3.5NF के रूप में संदर्भित किया जाता है, 3NF की सभी आवश्यकताओं को पूरा करता है और इसके लिए आवश्यक है कि उम्मीदवार कुंजियों की तालिका में अन्य विशेषताओं पर कोई निर्भरता न हो।
बीसीएनएफ के निर्माण के समय, बॉयस स्ट्रक्चर्ड इंग्लिश क्वेरी लैंग्वेज के प्रमुख डेवलपर्स में से एक था, जिसे बाद में एसक्यूएल के रूप में मानकीकृत किया गया, जिसने कॉड के रिलेशनल मॉडल का उपयोग करके डेटा पुनर्प्राप्ति में सुधार किया।इस मॉडल में, कॉड ने कहा कि डेटाबेस की संरचनात्मक जटिलता को कम किया जा सकता है, जिसका अर्थ है कि प्रश्न अधिक शक्तिशाली और लचीले हो सकते हैं।
अपने रिलेशनल डेटाबेस इनसाइट्स का उपयोग करते हुए, Codd ने 1NF, 2NF, और 3NF दिशानिर्देशों को परिभाषित किया। उन्होंने बीसीएनएफ को परिभाषित करने के लिए बॉयस के साथ मिलकर काम किया।
उम्मीदवार कुंजी और बीसीएनएफ
उम्मीदवार कुंजी एक स्तंभ या तालिका में स्तंभों का संयोजन है जो डेटाबेस में एक अद्वितीय कुंजी बनाती है। विशेषताओं का संयोजन किसी अन्य डेटा को संदर्भित किए बिना डेटाबेस रिकॉर्ड की पहचान करता है। प्रत्येक तालिका में कई उम्मीदवार कुंजी हो सकती हैं, जिनमें से कोई भी प्राथमिक कुंजी के रूप में योग्य हो सकती है। एक तालिका में केवल एक प्राथमिक कुंजी होती है।
उम्मीदवार की कुंजी अद्वितीय होनी चाहिए।
एक संबंध बीसीएनएफ में है यदि प्रत्येक निर्धारक एक उम्मीदवार कुंजी है। एक डेटाबेस तालिका पर विचार करें जो कर्मचारी जानकारी संग्रहीत करती है और इसमें,,, और. विशेषताएँ होती हैं।
इस तालिका में, फ़ील्ड first_name और last_name निर्धारित करती है। इसी प्रकार, टपल (,) निर्धारित करता है.
कर्मचारी आईडी | पहला नाम | अंतिम नाम | शीर्षक |
13133 | एमिली | स्मिथ | प्रबंधक |
13134 | जिम | स्मिथ | सहयोगी |
13135 | एमिली | जोन्स | सहयोगी |
इस डेटाबेस के लिए उम्मीदवार कुंजी है क्योंकि यह एकमात्र मान है जिसका उपयोग दूसरी पंक्ति द्वारा नहीं किया जा सकता है।
अक्सर पूछे जाने वाले प्रश्न
बॉयस-कॉड नॉर्मल फॉर्म के लिए क्या आवश्यकताएं हैं?
यदि सभी निर्धारक उम्मीदवार कुंजी हैं और संबंध तीसरे सामान्य फॉर्म (3NF) में है, तो एक तालिका बॉयस-कॉड नॉर्मल फॉर्म (BCNF) आवश्यकताओं को पूरा करती है। 3NF पहले नॉर्मल फॉर्म (1NF) और सेकेंड नॉर्मल फॉर्म (2NF) के नियमों को पूरा करता है, और सभी कॉलम प्राइमरी की पर निर्भर होते हैं।
चौथे नॉर्मल फॉर्म और बॉयस-कॉड नॉर्मल फॉर्म में क्या अंतर है?
चौथा नॉर्मल फॉर्म (4NF) डेटाबेस नॉर्मलाइजेशन में बॉयस-कॉड नॉर्मल फॉर्म (BCNF) के बाद एक लेवल है। 4NF, BCNF की तरह ही 3NF आवश्यकताओं को पूरा करता है। हालाँकि, 4NF तालिकाओं में कोई बहु-मूल्यवान निर्भरताएँ या कई-से-एक संबंध नहीं होते हैं, जबकि BCNF तालिकाओं में ये निर्भरताएँ हो सकती हैं।