डेटाबेस सामान्यीकरण

From Vigyanwiki

आँकड़ासंचय सामान्यीकरण या आँकड़ासंचय सामान्यीकरण (देखें अमेरिकी और ब्रिटिश अंग्रेजी वर्तनी अंतर) तथाकथित सामान्य रूपों की एक श्रृंखला के अनुसार एक संबंधात्मक आँकड़ासंचय को संरचित करने की प्रक्रिया है। 'आँकड़े अतिरेक को कम करने और आँकड़े अखंडता में सुधार करने की प्रक्रिया है। यह पहली बार ब्रिटिश कंप्यूटर वैज्ञानिक एडगर एफ. कॉड द्वारा उनके संबंधपरक प्रतिरूप के हिस्से के रूप में प्रस्तावित किया गया था।

सामान्यीकरण एक आँकड़ासंचय के पंक्ति (आँकड़ासंचय) (गुण) और संबंध (आँकड़ासंचय) को व्यवस्थित करने के लिए यह सुनिश्चित करता है कि उनका निर्भरता सिद्धांत (आँकड़ासंचय सिद्धांत) आँकड़ासंचय अखंडता बाधाओं द्वारा ठीक से लागू किया जाता है। यह कुछ औपचारिक नियमों को या तो संश्लेषण (एक नया आँकड़ासंचय अभिकल्पना बनाना) या अपघटन (उपस्थिता आँकड़ासंचय अभिकल्पना में सुधार) की प्रक्रिया द्वारा लागू करके पूरा किया जाता है।

उद्देश्य

1970 में कॉड द्वारा परिभाषित पहले सामान्य रूप का एक मूल उद्देश्य आंकड़ों को प्रथम-क्रम तर्क में आधारित एक सार्वभौमिक आँकड़े उप-भाषा का उपयोग करके क्वेरी और युक्तियोजित करने की अनुमति देना था।[1] ऐसी भाषा का एक उदाहरण SQL है, हालांकि यह एक ऐसी भाषा है जिसे कॉड गंभीर रूप से त्रुटिपूर्ण मानता है।[2]

1NF (प्रथम सामान्य रूप) से अतिरिक्त सामान्यीकरण के उद्देश्यों को कॉड द्वारा इस प्रकार बताया गया था:

1. संबंधों के संग्रह को अवांछित प्रविष्टि, अद्यतन और विलोपन निर्भरता से मुक्त करने के लिए।

2, संबंधों के संग्रह के पुनर्गठन की आवश्यकता को कम करने के लिए, क्योंकि नए प्रकार के आँकड़े प्रस्तुत किए जाते हैं, और इस प्रकार अनुप्रयोग क्रमादेश के जीवन काल में वृद्धि होती है।

3, संबंधपरक प्रतिरूप को उपयोगकर्ताओं के लिए अधिक जानकारीपूर्ण बनाने के लिए। 4, क्वेरी आँकड़ों के लिए संबंधों के संग्रह को तटस्थ बनाने के लिए, जहाँ ये आँकड़े समय बीतने के साथ बदलने के लिए उत्तरदायी हैं।

— ई.एफ. कोड, "डाटा बेस रिलेशनल मॉडल का और अधिक सामान्यीकरण"[3]
एक सम्मिलन विसंगति। जब तक नए संकाय सदस्य, डॉ. न्यूजोम को कम से कम एक पाठ्यक्रम पढ़ाने के लिए नियुक्त नहीं किया जाता है, तब तक उनका विवरण अभिलेखित नहीं किया जा सकता है।
एक अद्यतन विसंगति। कर्मचारी 519 को अलग-अलग अभिलेख पर अलग-अलग पते के रूप में दिखाया गया है।
एक विलोपन विसंगति। डॉ. गिड्डेंस के बारे में सारी जानकारी खो जाती है यदि वे अस्थायी रूप से किसी भी पाठ्यक्रम को आवंटित करना बंद कर देते हैं।

जब किसी संबंध को संशोधित करने (अद्यतन करने, सम्मिलित करने, या उससे हटाने) का प्रयास किया जाता है, तो उन संबंधों में निम्नलिखित अवांछनीय दुष्प्रभाव उत्पन्न हो सकते हैं जो पर्याप्त रूप से सामान्य नहीं हुए हैं:

  • सम्मिलन विसंगति. ऐसी परिस्थितियाँ होती हैं जिनमें कुछ तथ्यों को बिल्कुल भी अभिलेखित नहीं किया जा सकता है। उदाहरण के लिए, एक संकाय और उनके पाठ्यक्रम संबंध में प्रत्येक अभिलेख में एक संकाय ID, संकाय का नाम, संकाय किराया तिथि और पाठ्यक्रम क्रमांक हो सकता है। इसलिए, किसी भी संकाय सदस्य का विवरण अभिलेखित किया जा सकता है जो कम से कम एक पाठ्यक्रम पढ़ाता है, लेकिन एक नए किराए पर लिया गया संकाय सदस्य जिसे अभी तक किसी भी पाठ्यक्रम को पढ़ाने के लिए नियुक्त नहीं किया गया है, पाठ्यक्रम क्रमांक को शून्य (SQL) लिपिबद्ध करने के अतिरिक्त अभिलेख नहीं किया जा सकता है।
  • अद्यतन विसंगति. एक ही जानकारी को कई पंक्तियों में व्यक्त किया जा सकता है; इसलिए संबंध में अद्यतन के परिणामस्वरूप तार्किक असंगतता हो सकती है। उदाहरण के लिए, कर्मचारी कौशल संबंध में प्रत्येक अभिलेख में एक कर्मचारी ID, कर्मचारी का पता और कौशल हो सकता है; इस प्रकार किसी विशेष कर्मचारी के पते में परिवर्तन को कई अभिलेख (प्रत्येक कौशल के लिए एक) पर लागू करने की आवश्यकता हो सकती है। यदि अद्यतन केवल आंशिक रूप से सफल होता है - कर्मचारी का पता कुछ अभिलेखों पर अद्यतन किया जाता है, लेकिन अन्य नहीं - तो संबंध असंगत स्थिति में छोड़ दिया जाता है। विशेष रूप से, संबंध इस प्रश्न के परस्पर विरोधी उत्तर प्रदान करता है कि इस विशेष कर्मचारी का पता क्या है।
  • विलोपन विसंगति. कुछ परिस्थितियों में, कुछ तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने के लिए पूरी तरह से अलग तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने की आवश्यकता होती है। पिछले उदाहरण में वर्णित संकाय और उनके पाठ्यक्रम संबंध इस प्रकार की विसंगति से ग्रस्त हैं, यदि एक संकाय सदस्य अस्थायी रूप से किसी भी पाठ्यक्रम को सौंपा जाना बंद कर देता है, तो अंतिम अभिलेख जिस पर वह संकाय सदस्य दिखाई देता है, जब तक कि पाठ्यक्रम कूट क्षेत्र शून्य पर निर्धारित न हो संकाय सदस्य को प्रभावी रूप से हटा दिया जाना चाहिए।

आँकड़ासंचय संरचना का विस्तार करते समय पुनर्रचना को छोटा करें

एक पूरी तरह से सामान्यीकृत आँकड़ासंचय उपस्थिता संरचना को बहुत अधिक बदले बिना नए प्रकार के आँकड़े को समायोजित करने के लिए इसकी संरचना को विस्तारित करने की अनुमति देता है। नतीजतन, आँकड़ासंचय के साथ बातचीत करने वाले एप्लिकेशन न्यूनतम रूप से प्रभावित होते हैं।

सामान्यीकृत संबंध, और एक सामान्यीकृत संबंध और दूसरे के बीच संबंध, वस्तुतःिक दुनिया की अवधारणाओं और उनके अंतर्संबंधों को प्रतिबिंबित करते हैं।

सामान्य रूप

कॉड ने सामान्यीकरण की अवधारणा प्रस्तुत की और जिसे अब 1970 में पहले सामान्य रूप (1NF) के रूप में जाना जाता है।[4] कॉड ने 1971 में दूसरे सामान्य रूप (2NF) और तीसरे सामान्य रूप (3NF) को परिभाषित किया,[5] और कॉड और रेमंड एफ. बॉयस ने 1974 में बॉयस-कॉड प्रसामान्य रूप (BCNF) को परिभाषित किया।[6]

अनौपचारिक रूप से, एक संबंधपरक आँकड़ासंचय संबंध को प्रायः सामान्यीकृत के रूप में वर्णित किया जाता है यदि यह तीसरे सामान्य रूप से मिलता है।[7] अधिकांश 3NF संबंध सम्मिलन, अद्यतन और विलोपन विसंगतियों से मुक्त हैं।

सामान्य रूप (कम से कम सामान्यीकृत से सबसे सामान्यीकृत) हैं:

प्रतिबंध
(कोष्ठक में अनौपचारिक विवरण)
UNF
(1970)
1NF
(1970)
2NF
(1971)
3NF
(1971)
EKNF
(1982)
BCNF
(1974)
4NF
(1977)
ETNF
(2012)
5NF
(1979)
DKNF
(1981)
6NF
(2003)
अद्वितीय पंक्तियाँ (कोई समरूप अभिलेख नहीं)[4] Maybe Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
अदिश स्तंभ (स्तंभ में संबंध या मिश्रित मान नहीं हो सकते)[5] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
प्रत्येक गैर-प्रमुख विशेषता में एक पदान्वेषी कुंजी पर पूर्ण कार्यात्मक निर्भरता होती है (विशेषताएँ पूर्ण प्राथमिक कुंजी पर निर्भर करती हैं)[5] No No Yes Yes Yes Yes Yes Yes Yes Yes Yes
प्रत्येक गैर-साधारण कार्यात्मक निर्भरता या तो एक उत्कृष्ट कुंजी के साथ प्रारम्भ होती है या एक प्रमुख विशेषता के साथ समाप्त होती है (विशेषताएँ केवल प्राथमिक कुंजी पर निर्भर करती हैं)[5] No No No Yes Yes Yes Yes Yes Yes Yes Yes
प्रत्येक गैर-साधारण कार्यात्मक निर्भरता या तो एक उत्कृष्ट कुंजी के साथ प्रारम्भ होती है या एक प्राथमिक प्रधान विशेषता (3NF का एक कठोर रूप) के साथ समाप्त होती है। No No No No Yes Yes Yes Yes Yes Yes
प्रत्येक गैर-साधारण कार्यात्मक निर्भरता एक उत्कृष्ट कुंजी (3NF का एक कठोर रूप) से प्रारम्भ होती है No No No No No Yes Yes Yes Yes Yes
प्रत्येक गैर-साधारण बहु-मूल्यवान निर्भरता एक उत्कृष्ट कुंजी से प्रारम्भ होती है No No No No No No Yes Yes Yes Yes
प्रत्येक सम्मिलित निर्भरता में एक उत्कृष्ट कुंजी घटक होता है[8] No No No No No No No Yes Yes Yes
प्रत्येक सम्मिलित निर्भरता में केवल उत्कृष्ट कुंजी घटक होते हैं No No No No No No No No Yes Yes
प्रत्येक प्रतिबंध कार्यक्षेत्र प्रतिबंध और कुंजी प्रतिबंध का परिणाम है No No No No No No No No No Yes No
प्रत्येक सम्मिलित निर्भरता साधारण है No No No No No No No No No No Yes


चरण दर चरण सामान्यीकरण का उदाहरण

सामान्यीकरण एक आँकड़ासंचय अभिकल्पना तकनीक है, जिसका उपयोग संबंधपरक आँकड़ासंचय तालिका को उच्च सामान्य रूप तक अभिकल्पना करने के लिए किया जाता है।[9] प्रक्रिया प्रगतिशील है, और आँकड़ासंचय सामान्यीकरण का एक उच्च स्तर तब तक प्राप्त नहीं किया जा सकता जब तक कि पिछले स्तर संतुष्ट न हों।[10]

इसका अर्थ यह है कि, असामान्य रूप में आँकड़े (कम से कम सामान्यीकृत) और सामान्यीकरण के उच्चतम स्तर को प्राप्त करने का लक्ष्य रखते हुए, पहला कदम पहले सामान्य रूप का अनुपालन सुनिश्चित करना होगा, दूसरा कदम यह सुनिश्चित करना होगा कि दूसरा सामान्य रूप संतुष्ट हो, और इसी तरह ऊपर वर्णित क्रम में, जब तक कि आँकड़े छठे सामान्य रूप के अनुरूप न हो।

हालांकि, यह ध्यान देने योग्य है कि 4NF से अतिरिक्त सामान्य रूप मुख्य रूप से अकादमिक रुचि के हैं, क्योंकि वे जिन समस्याओं को हल करने के लिए उपस्थित हैं, वे कदाचित ही कभी व्यवहार में दिखाई देती हैं।[11]

निम्नलिखित उदाहरण में आँकड़े साभिप्राय अधिकांश सामान्य रूपों का खंडन करने के लिए अभिकल्पना की गई थी। वस्तुतःिक जीवन में, सामान्यीकरण के कुछ चरणों को छोड़ना काफी संभव है क्योंकि तालिका में दिए गए सामान्य रूप के विपरीत कुछ भी नहीं है। यह सामान्यतः भी होता है कि एक सामान्य रूप का उल्लंघन ठीक करने से प्रक्रिया में एक उच्च सामान्य रूप का उल्लंघन भी ठीक हो जाता है। साथ ही प्रत्येक चरण पर सामान्यीकरण के लिए एक तालिका का चयन किया गया है, जिसका अर्थ है कि इस उदाहरण प्रक्रिया के अंत में, अभी भी कुछ तालिकाएँ उच्चतम सामान्य रूप को संतुष्ट नहीं कर सकती हैं।

प्रारंभिक आँकड़े

निम्नलिखित संरचना के साथ आँकड़ासंचय तालिका उपस्थित होने दें:[10]

शीर्षक लेखक लेखक राष्ट्रीयता प्रारूप मूल्य विषय पृष्ठ मोटाई प्रकाशक प्रकाशक राष्ट्र प्रकाशन

प्रकार

विधा ID विधा का नाम
MySQL आँकड़ासंचय अभिकल्पन और अनुकूलन का प्रारम्भ चाड रसेल अमेरीका हार्डकवर 49.99
MySQL
आँकड़ासंचय
अभिकल्पना
520 मोटा अप्रेस अमेरीका E-पुस्तक 1 अनुशिक्षण

इस उदाहरण के लिए, यह माना जाता है कि प्रत्येक पुस्तक का केवल एक लेखक है।

संबंधपरक प्रतिरूप के अनुरूप होने के लिए एक परिस्थिति के रूप में, एक तालिका में एक प्राथमिक कुंजी होनी चाहिए, जो विशिष्ट रूप से एक पंक्ति की पहचान करती है। दो पुस्तकों का शीर्षक समान हो सकता है, लेकिन एक ISBN विशिष्ट रूप से एक पुस्तक की पहचान करता है, इसलिए इसे प्राथमिक कुंजी के रूप में उपयोग किया जा सकता है:

संतोषजनक 1NF

प्रथम सामान्य रूप को संतुष्ट करने के लिए, तालिका के प्रत्येक स्तंभ का एक मान होना चाहिए। मूल्यों के सम्मुच्चय या स्थिर अभिलेख वाले पंक्ति की अनुमति नहीं है।

प्रारंभिक तालिका में, विषय में विषय मूल्यों का एक सम्मुच्चय होता है, जिसका अर्थ है कि यह अनुपालन नहीं करता है।

समस्या को हल करने के लिए, विषयों को एक अलग विषय तालिका में निकाला जाता है:[10]

पुस्तक
ISBN शीर्षक प्रारूप लेखक लेखक राष्ट्रीयता मूल्य पृष्ठ मोटाई प्रकाशक प्रकाशक राष्ट्र शैली ID विधा का नाम
1590593324 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन की आरंभ हार्डकवर चाड रसेल अमरीकी 49.99 520 मोटा अप्रेस USA 1 शिक्षण
विषय
ISBN विषय का नाम
1590593324 MySQL
1590593324 आँकड़ासंचय
1590593324 अभिकल्पना

विषय-सारणी में एक विदेशी कुंजी स्तंभ जोड़ा जाता है, जो जिससे विषय निकाला गया था उस पंक्ति की प्राथमिक कुंजी को संदर्भित करता है। इसलिए गैर-साधारण कार्यक्षेत्र के उपयोग के बिना समान जानकारी का प्रतिनिधित्व किया जाता है।

असामान्य रूप में एक तालिका के स्थान पर, अब 1NF के अनुरूप दो तालिकाएँ हैं।

संतोषजनक 2NF

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

नीचे दी गई पुस्तक तालिका में {शीर्षक, प्रारूप} (रेखांकन द्वारा इंगित) की एक समग्र कुंजी है, इसलिए यह 2NF को संतुष्ट नहीं कर सकती है। इस बिंदु पर हमारे अभिकल्पना में कुंजी को प्राथमिक कुंजी के रूप में अंतिम रूप नहीं दिया गया है, इसलिए इसे पदान्वेषी कुंजी कहा जाता है। निम्न तालिका पर विचार करें:

पुस्तक
शीर्षक प्रारूप लेखक लेखक राष्ट्रीयता मूल्य पृष्ठ मोटाई शैली ID विधा का नाम प्रकाशक ID
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ हार्डकवर चाड रसेल अमरीकी 49.99 520 मोटा 1 शिक्षण 1
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ E-पुस्तक चाड रसेल अमरीकी 22.34 520 मोटा 1 शिक्षण 1
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 E-पुस्तक ई.एफ. कोडड ब्रिटेन 13.88 538 मोटा 2 लोकप्रिय विज्ञान 2
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 पत्रावरणबद्ध ई.एफ. कोडड ब्रिटेन 39.99 538 मोटा 2 लोकप्रिय विज्ञान 2

पदान्वेषी कुंजी का हिस्सा नहीं होने वाले सभी गुण शीर्षक पर निर्भर करते हैं, लेकिन केवल मूल्य भी प्रारूप पर निर्भर करता है। दूसरे सामान्य रूप के अनुरूप होने और दोहराव को दूर करने के लिए, प्रत्येक गैर-पदान्वेषी-कुंजी विशेषता को न कि केवल इसका हिस्सा बल्कि पूरी पदान्वेषी कुंजी पर निर्भर होना चाहिए।

इस तालिका को सामान्य करने के लिए, '{शीर्षक}' को एक (सरल) पदान्वेषी कुंजी (प्राथमिक कुंजी) बनाएं ताकि प्रत्येक गैर-पदान्वेषी-कुंजी विशेषता पूरी पदान्वेषी कुंजी पर निर्भर हो, और मूल्य को एक अलग तालिका में हटा दें ताकि इसकी निर्भरता प्रारूप संरक्षित किया जा सकता है:

पुस्तक
शीर्षक लेखक लेखक राष्ट्रीयता पृष्ठ मोटाई शैली ID विधा का नाम प्रकाशक ID
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ चाड रसेल अमरीकी 520 मोटा 1 शिक्षण 1
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 ई.एफ. कोडड ब्रिटेन 538 मोटा 2 लोकप्रिय विज्ञान 2
प्रारूप - मूल्य
शीर्षक प्रारूप मूल्य
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ हार्डकवर 49.99
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ E-पुस्तक 22.34
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 E-पुस्तक 13.88
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 पत्रावरणबद्ध 39.99
प्रकाशक
प्रकाशक ID नाम राष्ट्र
1 अप्रेस USA
2 एडिसन-वेस्ले USA

अब, पुस्तक तालिका दूसरे सामान्य रूप के अनुरूप है।

संतोषजनक 3NF

पुस्तक तालिका में अभी भी सकर्मक कार्यात्मक निर्भरता है ({लेखक राष्ट्रीयता} {लेखक} पर निर्भर है, जो {शीर्षक} पर निर्भर है)। शैली के लिए एक समान उल्लंघन उपस्थित है ({शैली का नाम} {शैली ID} पर निर्भर है, जो {शीर्षक} पर निर्भर है)। इसलिए, पुस्तक तालिका 3NF में नहीं है। इसे 3NF में बनाने के लिए, निम्न तालिका संरचना का उपयोग करते हैं, जिससे {लेखक राष्ट्रीयता} और {विधा का नाम} को उनकी संबंधित तालिकाओं में रखकर सकर्मक कार्यात्मक निर्भरता समाप्त हो जाती है:

पुस्तक
शीर्षक लेखक पृष्ठ मोटाई शैली ID प्रकाशक ID
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ चाड रसेल 520 मोटा 1 1
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 ई.एफ. कोडड 538 मोटा 2 2
मूल्य
शीर्षक प्रारूप मूल्य
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ हार्डकवर 49.99
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ E-पुस्तक 22.34
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 E-पुस्तक 13.88
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 पत्रावरणबद्ध 39.99

| वर्ग = विकिटेबल |+लेखक !लेखक !लेखक राष्ट्रीयता |- |चाड रसेल |अमेरिकी |- |ई.एफ. कॉड |ब्रिटिश |}

| वर्ग = विकिटेबल |+शैली !लिंग आईडी !शैली का नाम |- |- |1 |अनुशिक्षण |- |- |2 | लोकप्रिय विज्ञान |}

संतोषजनक EKNF

प्राथमिक कुंजी सामान्य रूप (EKNF) अनुशासनपूर्वक 3 NF और BCNF के बीच आता है और साहित्य में अधिक चर्चा नहीं की जाती है। इसका उद्देश्य दोनों की समस्याओं से बचने के दौरान 3NF और BCNF दोनों के मुख्य गुणों को पकड़ना है (अर्थात्, 3NF बहुत क्षमाशील है और BCNF संगणनात्मक जटिलता से ग्रस्त है)। चूंकि यह साहित्य में कदाचित ही कभी उल्लेख किया गया है, यह इस उदाहरण में सम्मिलित नहीं है।[12]


संतोषजनक 4NF

मान लें कि आँकड़ासंचय का स्वामित्व एक पुस्तक खुदरा फ्रेंचाइजी (नामाधिकार) के पास है जिसमें कई फ़्रैंचाइज़ी हैं जो विभिन्न स्थानों में अपनी दुकानें रखते हैं। और इसलिए खुदरा विक्रेता ने एक तालिका जोड़ने का निर्णय लिया जिसमें विभिन्न स्थानों पर पुस्तकों की उपलब्धता के बारे में आँकड़े सम्मिलित है:

नामाधिकारी - पुस्तक - स्थान
नामाधिकारी ID शीर्षक स्थान
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ कैलिफ़ोर्निया
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ फ्लोरिडा
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ टेक्सस
1 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 कैलिफ़ोर्निया
1 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 फ्लोरिडा
1 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 टेक्सस
2 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ कैलिफ़ोर्निया
2 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ फ्लोरिडा
2 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ टेक्सस
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 कैलिफ़ोर्निया
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 फ्लोरिडा
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 टेक्सस
3 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ टेक्सस

चूंकि इस तालिका संरचना में एक यौगिक कुंजी होती है, इसमें कोई गैर-कुंजी विशेषता नहीं होती है और यह पहले से ही बॉयस-कॉड सामान्य रूप में है (और इसलिए सभी पिछले सामान्य रूपों को भी संतुष्ट करता है)। हालाँकि, यह मानते हुए कि सभी उपलब्ध पुस्तकें प्रत्येक क्षेत्र में प्रस्तुत की जाती हैं, शीर्षक स्पष्ट रूप से एक निश्चित स्थान के लिए बाध्य नहीं है और इसलिए तालिका चौथे सामान्य रूप को संतुष्ट नहीं करती है।

इसका अर्थ है कि, चौथे सामान्य रूप को संतुष्ट करने के लिए, इस तालिका को भी विघटित करने की आवश्यकता है:

नामाधिकारी - पुस्तक
नामाधिकारी ID शीर्षक
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ
1 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2
2 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2
3 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ
नामाधिकारी - स्थान
नामाधिकारी ID स्थान
1 कैलिफ़ोर्निया
1 फ्लोरिडा
1 टेक्सस
2 कैलिफ़ोर्निया
2 फ्लोरिडा
2 टेक्सस
3 टेक्सस

अब, प्रत्येक अभिलेख स्पष्ट रूप से एक कुंजी द्वारा पहचाना जाता है, इसलिए 4NF संतुष्ट है।

संतोषजनक ETNF

मान लीजिए कि फ़्रैंचाइजी विभिन्न आपूर्तिकर्ताओं से किताबें मंगवा सकते हैं। संबंध को निम्नलिखित प्रतिबंध के अधीन भी होने दें:

  • यदि एक निश्चित आपूर्तिकर्ता एक निश्चित शीर्षक की आपूर्ति करता है
  • और शीर्षक फ्रेंचाइजी को प्रदान किया जाता है
  • और फ्रेंचाइजी आपूर्तिकर्ता द्वारा आपूर्ति की जा रही है,
  • फिर आपूर्तिकर्ता फ़्रैंचाइजी को शीर्षक की आपूर्ति करता है।[13]
संभरक - पुस्तक - नामाधिकारी
संभरक ID शीर्षक नामाधिकारी ID
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ 1
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 2
3 SQL सीखना 3

यह तालिका चौथे सामान्य रूप में है, लेकिन प्रदायक ID इसके अनुमानों के जुड़ने के बराबर है: {{संभरक ID, शीर्षक}, {शीर्षक, नामाधिकारी ID}, {नामाधिकारी ID, संभरक ID}}. उस ज्वाइन डिपेंडेंसी का कोई भी घटक उत्कृष्ट कुंजी नहीं है (एकमात्र उत्कृष्ट कुंजी संपूर्ण शीर्षक है), इसलिए तालिका ETNF को संतुष्ट नहीं करती है और इसे और विघटित किया जा सकता है:[13]

संभरक - पुस्तक
संभरक ID शीर्षक
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2
3 SQL सीखना
पुस्तक - नामाधिकारी
शीर्षक नामाधिकारी ID
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ 1
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 2
SQL सीखना 3
नामाधिकारी - संभरक
संभरक ID नामाधिकारी ID
1 1
2 2
3 3

अपघटन ETNF अनुपालन उत्पन्न करता है।

संतोषजनक 5NF

किसी तालिका को पांचवें सामान्य रूप से संतुष्ट नहीं करने के लिए, सामान्यतः आँकड़े की पूरी तरह से जांच करना आवश्यक होता है। मान लीजिए आँकड़ासंचय सामान्यीकरण से आँकड़े में थोड़ा संशोधन के साथ 4NF को संतुष्ट करना और यह जाँचता है कि क्या यह पांचवें सामान्य रूप को संतुष्ट करता है:

नामाधिकारी - पुस्तक - स्थान
नामाधिकारी ID शीर्षक स्थान
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ कैलिफ़ोर्निया
1 SQL सीखना कैलिफ़ोर्निया
1 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 टेक्सस
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 कैलिफ़ोर्निया

इस तालिका को विघटित करने से अतिरेक कम होता है, जिसके परिणामस्वरूप निम्नलिखित दो तालिकाएँ बनती हैं:

नामाधिकारी - पुस्तक
नामाधिकारी ID शीर्षक
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ
1 SQL सीखना
1 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2
नामाधिकारी - स्थान
नामाधिकारी ID स्थान
1 कैलिफ़ोर्निया
1 टेक्सस
2 कैलिफ़ोर्निया

इन तालिकाओं में सम्मिलित होने वाली क्वेरी निम्न आँकड़े वापस कर देगी:

| वर्ग = विकिटेबल |+ संरेखित = शीर्ष |फ्रेंचाइजी - पुस्तक - स्थान सम्मिलित हुआ !फ़्रैंचाइज़ी आईडी !शीर्षक !स्थान |- |1 |MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ |कैलिफोर्निया |- |1 |एसक्यूएल सीखना |कैलिफोर्निया |- |1 |आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 |कैलिफ़ोर्निया |- |1 |आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 |टेक्सास |- |1 |SQL सीखना |टेक्सस |- |1 |शुरुआत MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन |टेक्सस |- |2 |आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 |कैलिफोर्निया |- |}

JOIN तीन पंक्तियों को जितना चाहिए उससे अधिक लौटाता है; तीन अलग-अलग तालिकाओं में संबंध परिणामों को स्पष्ट करने के लिए एक और तालिका जोड़ी जाती है:

नामाधिकारी - पुस्तक
नामाधिकारी ID शीर्षक
1 MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ
1 SQL सीखना
1 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2
2 आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2

|

नामाधिकारी - स्थान
नामाधिकारी ID स्थान
1 कैलिफ़ोर्निया
1 टेक्सस
2 कैलिफ़ोर्निया

|

स्थान - पुस्तक
स्थान शीर्षक
कैलिफ़ोर्निया MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ
कैलिफ़ोर्निया SQL सीखना
कैलिफ़ोर्निया आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2
टेक्सस आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2

JOIN अब क्या लौटाएगा? वस्तुतः में इन तीन तालिकाओं में सम्मिलित होना संभव नहीं है। इसका अर्थ यह है कि फ्रेंचाइजी - पुस्तक - स्थान को आँकड़े हानि के बिना विघटित करना संभव नहीं था, इसलिए तालिका पहले से ही 5NF को संतुष्ट करती है।

सी.जे. दिनांक ने तर्क दिया है कि केवल 5NF में एक आँकड़ासंचय वस्तुतः में सामान्यीकृत है।[14]


संतोषजनक DKNF

आइए पिछले उदाहरणों से पुस्तक तालिका पर एक दृष्टि डालें और देखें कि क्या यह कार्यक्षेत्र-कुंजी के सामान्य रूप को संतुष्ट करती है:

पुस्तक
शीर्षक पृष्ठ मोटाई शैली ID प्रकाशक ID
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ 520 मोटा 1 1
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 538 मोटा 2 2
SQL सीखना 338 पतला 1 3
SQL कुकबुक 636 मोटा 1 3

तार्किक रूप से, मोटाई पृष्ठों की संख्या से निर्धारित होती है। इसका अर्थ है कि यह उन पेजों पर निर्भर करता है जो आधारक नहीं है। आइए एक उदाहरण परंपरा निर्धारित करें कि 350 पृष्ठों तक की पुस्तक को पतला माना जाता है और 350 पृष्ठों से अधिक की पुस्तक को मोटा माना जाता है।

यह चलन तकनीकी रूप से एक बाधा है लेकिन यह न तो कार्यक्षेत्र बाधा है और न ही मुख्य बाधा है; इसलिए हम आँकड़े अखंडता को बनाए रखने के लिए कार्यक्षेत्र बाधाओं और प्रमुख बाधाओं पर भरोसा नहीं कर सकते हैं।

इसे हल करने के लिए, मोटाई को परिभाषित करने वाली एक तालिका धारण गणना बनाई गई है, और उस पंक्ति को मूल तालिका से हटा दिया गया है:

मोटाई Enum
मोटाई Min पृष्ठ Max पृष्ठ
पतला 1 350
मोटा 351 999,999,999,999
पुस्तक - पृष्ठ - शैली - प्रकाशक
शीर्षक पृष्ठ शैली ID प्रकाशक ID
MySQL आँकड़ासंचय अभिकल्पना और अनुकूलन का प्रारम्भ 520 1 1
आँकड़ासंचय प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 538 2 2
SQL सीखना 338 1 3
SQL कुकबुक 636 1 3

इस तरह, कार्यक्षेत्र अखंडता उल्लंघन समाप्त हो गया है, और तालिका कार्यक्षेत्र-कुंजी सामान्य रूप में है।

संतोषजनक 6NF

छठे सामान्य रूप की एक सरल और सहज परिभाषा यह है कि एक तालिका छठे सामान्य रूप में होती है जब 'पंक्ति में प्राथमिक कुंजी होती है, और अधिक से अधिक एक अन्य विशेषता '' होती है।[15]

इसका अर्थ है, उदाहरण के लिए, #संतोषजनक_1NF के दौरान अभिकल्पित की गई प्रकाशक तालिका

प्रकाशक
प्रकाशक ID नाम राष्ट्र
1 अप्रेस USA

आगे दो तालिकाओं में विघटित करने की जरूरत है:

प्रकाशक
प्रकाशक ID नाम
1 अप्रेस
प्रकाशक राष्ट्र
प्रकाशक ID राष्ट्र
1 USA

6NF का स्पष्ट दोष एक इकाई पर सूचना का प्रतिनिधित्व करने के लिए आवश्यक तालिकाओं का प्रसार है। यदि 5NF में एक तालिका में एक प्राथमिक कुंजी स्तंभ और N विशेषताएँ हैं, तो 6NF में समान जानकारी का प्रतिनिधित्व करने के लिए N तालिकाओं की आवश्यकता होगी; एकल वैचारिक अभिलेख के लिए बहु-क्षेत्र अद्यतनों के लिए एकाधिक तालिकाओं के अद्यतनों की आवश्यकता होगी; और सम्मिलित करने और हटाने के लिए समान रूप से कई तालिकाओं में संचालन की आवश्यकता होगी। इस कारण से, आँकड़ासंचय में OLTP जरूरतों को पूरा करने के लिए, 6NF का उपयोग नहीं किया जाना चाहिए।

हालाँकि, आँकड़े भाण्डागार में, जो पारस्परिक अद्यतन की अनुमति नहीं देते हैं और जो बड़े आँकड़े आयतन पर शीघ्र परिप्रश्न के लिए विशिष्ट हैं, कुछ DBMS एक आंतरिक 6NF प्रतिनिधित्व का उपयोग करते हैं - जिसे पंक्ति-उन्मुख DBMS के रूप में जाना जाता है। ऐसी स्थितियों में जहां स्तंभ के अद्वितीय मानों की संख्या तालिका में पंक्तियों की संख्या से बहुत कम है, स्तंभ-उन्मुख भंडारण आँकड़े संपीड़न के माध्यम से अंतरिक्ष में महत्वपूर्ण बचत की अनुमति देता है। स्तंभकार भंडारण भी श्रेणी प्रश्नों के शीघ्रता से निष्पादन की अनुमति देता है (उदाहरण के लिए, सभी अभिलेख दिखाएं जहां एक विशेष स्तंभ X और Y के बीच है, या X से कम है।)

इन सभी स्तिथियों में, हालाँकि, आँकड़ासंचय अभिकल्पनार को अलग-अलग तालिकाएँ बनाकर स्वतः रूप से 6NF सामान्यीकरण नहीं करना पड़ता है। कुछ DBMS जो भण्डारण के लिए विशिष्ट हैं, जैसे कि साइबेस IQ, स्वतः निर्धारित रूप से पंक्तिर संचयन का उपयोग करते हैं, लेकिन अभिकल्पनार अभी भी केवल एक बहु-पंक्ति तालिका देखता है। अन्य DBMSs, जैसे कि माइक्रोसॉफ्ट SQL परिवेषक 2012 और बाद में, आपको किसी विशेष तालिका के लिए एक पंक्तिसंचय तालिका निर्दिष्ट करने देते हैं।[16]


यह भी देखें

नोट्स और संदर्भ

  1. "The adoption of a relational model of data ... permits the development of a universal data sub-language based on an applied predicate calculus. A first-order predicate calculus suffices if the collection of relations is in first normal form. Such a language would provide a yardstick of linguistic power for all other proposed data languages, and would itself be a strong candidate for embedding (with appropriate syntactic modification) in a variety of host languages (programming, command- or problem-oriented)." Codd, "A Relational Model of Data for Large Shared Data Banks" Archived June 12, 2007, at the Wayback Machine, p. 381
  2. Codd, E.F. Chapter 23, "Serious Flaws in SQL", in The Relational Model for Database Management: Version 2. Addison-Wesley (1990), pp. 371–389
  3. Codd, E.F. "Further Normalisation of the Data Base Relational Model", p. 34
  4. 4.0 4.1 Codd, E. F. (June 1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM. 13 (6): 377–387. doi:10.1145/362384.362685. S2CID 207549016.
  5. 5.0 5.1 5.2 5.3 Codd, E. F. "Further Normalization of the Data Base Relational Model". (Presented at Courant Computer Science Symposia Series 6, "Data Base Systems", New York City, May 24–25, 1971.) IBM Research Report RJ909 (August 31, 1971). Republished in Randall J. Rustin (ed.), Data Base Systems: Courant Computer Science Symposia Series 6. Prentice-Hall, 1972.
  6. Codd, E. F. "Recent Investigations into Relational Data Base Systems". IBM Research Report RJ1385 (April 23, 1974). Republished in Proc. 1974 Congress (Stockholm, Sweden, 1974), N.Y.: North-Holland (1974).
  7. Date, C. J. (1999). An Introduction to Database Systems. Addison-Wesley. p. 290.
  8. Darwen, Hugh; Date, C. J.; Fagin, Ronald (2012). "A Normal Form for Preventing Redundant Tuples in Relational Databases" (PDF). Proceedings of the 15th International Conference on Database Theory. EDBT/ICDT 2012 Joint Conference. ACM International Conference Proceeding Series. Association for Computing Machinery. p. 114. doi:10.1145/2274576.2274589. ISBN 978-1-4503-0791-8. OCLC 802369023. Archived (PDF) from the original on 2016-03-06. Retrieved 2018-05-22.
  9. Kumar, Kunal; Azad, S. K. (October 2017). Database normalization design pattern. doi:10.1109/upcon.2017.8251067. ISBN 9781538630044. S2CID 24491594. {{cite book}}: |journal= ignored (help)
  10. 10.0 10.1 10.2 "Database normalization in MySQL: Four quick and easy steps". ComputerWeekly.com (in English). Archived from the original on 2017-08-30. Retrieved 2021-03-23.
  11. "Database Normalization: 5th Normal Form and Beyond". MariaDB KnowledgeBase. Retrieved 2019-01-23.
  12. "Additional Normal Forms - Database Design and Relational Theory - page 151". what-when-how.com. Retrieved 2019-01-22.
  13. 13.0 13.1 Date, C. J. (December 21, 2015). The New Relational Database Dictionary: Terms, Concepts, and Examples (in English). "O'Reilly Media, Inc.". p. 138. ISBN 9781491951699.
  14. Date, C. J. (December 21, 2015). The New Relational Database Dictionary: Terms, Concepts, and Examples (in English). "O'Reilly Media, Inc.". p. 163. ISBN 9781491951699.
  15. "normalization - Would like to Understand 6NF with an Example". Stack Overflow. Retrieved 2019-01-23.
  16. Microsoft Corporation. Columnstore Indexes: Overview. https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-overview . Accessed March 23, 2020.


अग्रिम पठन


बाहरी संबंध