डेटाबेस सामान्यीकरण: Difference between revisions
m (6 revisions imported from alpha:डेटाबेस_सामान्यीकरण) |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
'''डेटाबेस सामान्यीकरण''' (देखें अमेरिकी और ब्रिटिश अंग्रेजी वर्तनी अंतर) तथाकथित ''सामान्य रूपों'' की एक श्रृंखला के अनुसार एक [[संबंध का डेटाबेस|संबंधात्मक डेटाबेस]] को संरचित करने की प्रक्रिया है। 'आँकड़े अतिरेक को कम करने और आँकड़े अखंडता में सुधार करने की प्रक्रिया है। यह पहली बार [[ब्रिटिश लोग|ब्रिटिश]] कंप्यूटर वैज्ञानिक एडगर एफ. कॉड द्वारा उनके [[संबंधपरक मॉडल|संबंधपरक प्रतिरूप]] के हिस्से के रूप में प्रस्तावित किया गया था। | |||
सामान्यीकरण एक | सामान्यीकरण एक डेटाबेस के पंक्ति (डेटाबेस) (गुण) और [[संबंध (डेटाबेस)]] को व्यवस्थित करने के लिए यह सुनिश्चित करता है कि उनका [[निर्भरता सिद्धांत (डेटाबेस सिद्धांत)]] डेटाबेस अखंडता बाधाओं द्वारा ठीक से लागू किया जाता है। यह कुछ औपचारिक नियमों को या तो ''संश्लेषण'' (एक नया डेटाबेस अभिकल्पना बनाना) या ''अपघटन'' (उपस्थिता डेटाबेस अभिकल्पना में सुधार) की प्रक्रिया द्वारा लागू करके पूरा किया जाता है। | ||
== उद्देश्य == | == उद्देश्य == | ||
Line 24: | Line 24: | ||
* '''विलोपन विसंगति.''' कुछ परिस्थितियों में, कुछ तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने के लिए पूरी तरह से अलग तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने की आवश्यकता होती है। पिछले उदाहरण में वर्णित संकाय और उनके पाठ्यक्रम संबंध इस प्रकार की विसंगति से ग्रस्त हैं, यदि एक संकाय सदस्य अस्थायी रूप से किसी भी पाठ्यक्रम को सौंपा जाना बंद कर देता है, तो अंतिम अभिलेख जिस पर वह संकाय सदस्य दिखाई देता है, जब तक कि पाठ्यक्रम कूट क्षेत्र शून्य पर निर्धारित न हो संकाय सदस्य को प्रभावी रूप से हटा दिया जाना चाहिए। | * '''विलोपन विसंगति.''' कुछ परिस्थितियों में, कुछ तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने के लिए पूरी तरह से अलग तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने की आवश्यकता होती है। पिछले उदाहरण में वर्णित संकाय और उनके पाठ्यक्रम संबंध इस प्रकार की विसंगति से ग्रस्त हैं, यदि एक संकाय सदस्य अस्थायी रूप से किसी भी पाठ्यक्रम को सौंपा जाना बंद कर देता है, तो अंतिम अभिलेख जिस पर वह संकाय सदस्य दिखाई देता है, जब तक कि पाठ्यक्रम कूट क्षेत्र शून्य पर निर्धारित न हो संकाय सदस्य को प्रभावी रूप से हटा दिया जाना चाहिए। | ||
=== | === डेटाबेस संरचना का विस्तार करते समय पुनर्रचना को छोटा करें === | ||
एक पूरी तरह से सामान्यीकृत | एक पूरी तरह से सामान्यीकृत डेटाबेस उपस्थिता संरचना को बहुत अधिक बदले बिना नए प्रकार के आँकड़े को समायोजित करने के लिए इसकी संरचना को विस्तारित करने की अनुमति देता है। नतीजतन, डेटाबेस के साथ बातचीत करने वाले एप्लिकेशन न्यूनतम रूप से प्रभावित होते हैं। | ||
सामान्यीकृत संबंध, और एक सामान्यीकृत संबंध और दूसरे के बीच संबंध, वस्तुतःिक दुनिया की अवधारणाओं और उनके अंतर्संबंधों को प्रतिबिंबित करते हैं। | सामान्यीकृत संबंध, और एक सामान्यीकृत संबंध और दूसरे के बीच संबंध, वस्तुतःिक दुनिया की अवधारणाओं और उनके अंतर्संबंधों को प्रतिबिंबित करते हैं। | ||
Line 32: | Line 32: | ||
कॉड ने सामान्यीकरण की अवधारणा प्रस्तुत की और जिसे अब 1970 में पहले सामान्य रूप (1NF) के रूप में जाना जाता है।<ref name="Codd1970">{{cite journal |first=E. F. |last=Codd |author-link=Edgar F. Codd |title=A Relational Model of Data for Large Shared Data Banks |journal=[[Communications of the ACM]] |volume=13 |issue=6 |date=June 1970 |pages=377–387 |doi=10.1145/362384.362685 |s2cid=207549016 |doi-access=free }}</ref> कॉड ने 1971 में दूसरे सामान्य रूप (2NF) और तीसरे सामान्य रूप (3NF) को परिभाषित किया,<ref name="Codd, E.F 1971">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.</ref> और कॉड और रेमंड एफ. बॉयस ने 1974 में बॉयस-कॉड प्रसामान्य रूप (BCNF) को परिभाषित किया।<ref name="CoddBCNF">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).</ref> | कॉड ने सामान्यीकरण की अवधारणा प्रस्तुत की और जिसे अब 1970 में पहले सामान्य रूप (1NF) के रूप में जाना जाता है।<ref name="Codd1970">{{cite journal |first=E. F. |last=Codd |author-link=Edgar F. Codd |title=A Relational Model of Data for Large Shared Data Banks |journal=[[Communications of the ACM]] |volume=13 |issue=6 |date=June 1970 |pages=377–387 |doi=10.1145/362384.362685 |s2cid=207549016 |doi-access=free }}</ref> कॉड ने 1971 में दूसरे सामान्य रूप (2NF) और तीसरे सामान्य रूप (3NF) को परिभाषित किया,<ref name="Codd, E.F 1971">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.</ref> और कॉड और रेमंड एफ. बॉयस ने 1974 में बॉयस-कॉड प्रसामान्य रूप (BCNF) को परिभाषित किया।<ref name="CoddBCNF">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).</ref> | ||
अनौपचारिक रूप से, एक संबंधपरक | अनौपचारिक रूप से, एक संबंधपरक डेटाबेस संबंध को प्रायः सामान्यीकृत के रूप में वर्णित किया जाता है यदि यह तीसरे सामान्य रूप से मिलता है।<ref name="DateIntroDBSys">{{cite book |first=C. J. |last=Date |title=An Introduction to Database Systems |publisher=Addison-Wesley |year=1999 |page=290}}</ref> अधिकांश 3NF संबंध सम्मिलन, अद्यतन और विलोपन विसंगतियों से मुक्त हैं। | ||
सामान्य रूप (कम से कम सामान्यीकृत से सबसे सामान्यीकृत) हैं: | सामान्य रूप (कम से कम सामान्यीकृत से सबसे सामान्यीकृत) हैं: | ||
Line 89: | Line 89: | ||
== चरण दर चरण सामान्यीकरण का उदाहरण == | == चरण दर चरण सामान्यीकरण का उदाहरण == | ||
सामान्यीकरण एक | सामान्यीकरण एक डेटाबेस अभिकल्पना तकनीक है, जिसका उपयोग संबंधपरक डेटाबेस तालिका को उच्च सामान्य रूप तक अभिकल्पना करने के लिए किया जाता है।<ref>{{Cite book|last1=Kumar|first1=Kunal|last2=Azad|first2=S. K.|date=October 2017|title=Database normalization design pattern|journal=2017 4th IEEE Uttar Pradesh Section International Conference on Electrical, Computer and Electronics (UPCON)|publisher=IEEE|doi=10.1109/upcon.2017.8251067|isbn=9781538630044|s2cid=24491594}}</ref> प्रक्रिया प्रगतिशील है, और डेटाबेस सामान्यीकरण का एक उच्च स्तर तब तक प्राप्त नहीं किया जा सकता जब तक कि पिछले स्तर संतुष्ट न हों।<ref name=":0">{{Cite web |url=https://www.computerweekly.com/tutorial/Database-normalization-in-MySQL-Four-quick-and-easy-steps |title=Database normalization in MySQL: Four quick and easy steps |website=ComputerWeekly.com |language=en |access-date=2021-03-23 |archive-url=https://web.archive.org/web/20170830224213/https://www.computerweekly.com/tutorial/Database-normalization-in-MySQL-Four-quick-and-easy-steps |archive-date=2017-08-30}}</ref> | ||
इसका अर्थ यह है कि, असामान्य रूप में आँकड़े (कम से कम सामान्यीकृत) और सामान्यीकरण के उच्चतम स्तर को प्राप्त करने का लक्ष्य रखते हुए, पहला कदम पहले सामान्य रूप का अनुपालन सुनिश्चित करना होगा, दूसरा कदम यह सुनिश्चित करना होगा कि दूसरा सामान्य रूप संतुष्ट हो, और इसी तरह ऊपर वर्णित क्रम में, जब तक कि आँकड़े छठे सामान्य रूप के अनुरूप न हो। | इसका अर्थ यह है कि, असामान्य रूप में आँकड़े (कम से कम सामान्यीकृत) और सामान्यीकरण के उच्चतम स्तर को प्राप्त करने का लक्ष्य रखते हुए, पहला कदम पहले सामान्य रूप का अनुपालन सुनिश्चित करना होगा, दूसरा कदम यह सुनिश्चित करना होगा कि दूसरा सामान्य रूप संतुष्ट हो, और इसी तरह ऊपर वर्णित क्रम में, जब तक कि आँकड़े छठे सामान्य रूप के अनुरूप न हो। | ||
Line 98: | Line 98: | ||
=== प्रारंभिक आँकड़े === | === प्रारंभिक आँकड़े === | ||
निम्नलिखित संरचना के साथ | निम्नलिखित संरचना के साथ डेटाबेस तालिका उपस्थित होने दें:<ref name=":0" /> | ||
{| class="wikitable" | {| class="wikitable" | ||
!शीर्षक | !शीर्षक | ||
Line 115: | Line 115: | ||
!विधा का नाम | !विधा का नाम | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पन और अनुकूलन का प्रारम्भ | ||
|चाड रसेल | |चाड रसेल | ||
|अमेरीका | |अमेरीका | ||
Line 124: | Line 124: | ||
|MySQL | |MySQL | ||
|- | |- | ||
| | |डेटाबेस | ||
|- | |- | ||
| अभिकल्पना | | अभिकल्पना | ||
Line 163: | Line 163: | ||
|- | |- | ||
|1590593324 | |1590593324 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन की आरंभ | ||
|हार्डकवर | |हार्डकवर | ||
|चाड रसेल | |चाड रसेल | ||
Line 184: | Line 184: | ||
|- | |- | ||
|1590593324 | |1590593324 | ||
| | |डेटाबेस | ||
|- | |- | ||
|1590593324 | |1590593324 | ||
Line 210: | Line 210: | ||
!''प्रकाशक ID'' | !''प्रकाशक ID'' | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|हार्डकवर | |हार्डकवर | ||
|चाड रसेल | |चाड रसेल | ||
Line 221: | Line 221: | ||
|''1'' | |''1'' | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|E-पुस्तक | |E-पुस्तक | ||
|चाड रसेल | |चाड रसेल | ||
Line 232: | Line 232: | ||
|''1'' | |''1'' | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|E-पुस्तक | |E-पुस्तक | ||
|ई.एफ. कोडड | |ई.एफ. कोडड | ||
Line 243: | Line 243: | ||
|''2'' | |''2'' | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|पत्रावरणबद्ध | |पत्रावरणबद्ध | ||
|ई.एफ. कोडड | |ई.एफ. कोडड | ||
Line 270: | Line 270: | ||
!''प्रकाशक ID'' | !''प्रकाशक ID'' | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|चाड रसेल | |चाड रसेल | ||
|अमरीकी | |अमरीकी | ||
Line 279: | Line 279: | ||
|''1'' | |''1'' | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|ई.एफ. कोडड | |ई.एफ. कोडड | ||
|ब्रिटेन | |ब्रिटेन | ||
Line 295: | Line 295: | ||
!मूल्य | !मूल्य | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|हार्डकवर | |हार्डकवर | ||
|49.99 | |49.99 | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|E-पुस्तक | |E-पुस्तक | ||
|22.34 | |22.34 | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|E-पुस्तक | |E-पुस्तक | ||
|13.88 | |13.88 | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|पत्रावरणबद्ध | |पत्रावरणबद्ध | ||
|39.99 | |39.99 | ||
Line 342: | Line 342: | ||
!''प्रकाशक ID'' | !''प्रकाशक ID'' | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|चाड रसेल | |चाड रसेल | ||
|520 | |520 | ||
Line 349: | Line 349: | ||
|''1'' | |''1'' | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|ई.एफ. कोडड | |ई.एफ. कोडड | ||
|538 | |538 | ||
Line 365: | Line 365: | ||
!मूल्य | !मूल्य | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|हार्डकवर | |हार्डकवर | ||
|49.99 | |49.99 | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|E-पुस्तक | |E-पुस्तक | ||
|22.34 | |22.34 | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|E-पुस्तक | |E-पुस्तक | ||
|13.88 | |13.88 | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|पत्रावरणबद्ध | |पत्रावरणबद्ध | ||
|39.99 | |39.99 | ||
Line 414: | Line 414: | ||
=== संतोषजनक 4NF === | === संतोषजनक 4NF === | ||
मान लें कि | मान लें कि डेटाबेस का स्वामित्व एक पुस्तक खुदरा फ्रेंचाइजी (नामाधिकार) के पास है जिसमें कई फ़्रैंचाइज़ी हैं जो विभिन्न स्थानों में अपनी दुकानें रखते हैं। और इसलिए खुदरा विक्रेता ने एक तालिका जोड़ने का निर्णय लिया जिसमें विभिन्न स्थानों पर पुस्तकों की उपलब्धता के बारे में आँकड़े सम्मिलित है: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ align="top" |'''नामाधिकारी - पुस्तक - स्थान''' | |+ align="top" |'''नामाधिकारी - पुस्तक - स्थान''' | ||
Line 422: | Line 422: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|फ्लोरिडा | |फ्लोरिडा | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|टेक्सस | |टेक्सस | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|फ्लोरिडा | |फ्लोरिडा | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|टेक्सस | |टेक्सस | ||
|- | |- | ||
|2 | |2 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
|- | |- | ||
|2 | |2 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|फ्लोरिडा | |फ्लोरिडा | ||
|- | |- | ||
|2 | |2 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|टेक्सस | |टेक्सस | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|फ्लोरिडा | |फ्लोरिडा | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|टेक्सस | |टेक्सस | ||
|- | |- | ||
|3 | |3 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|टेक्सस | |टेक्सस | ||
|- | |- | ||
Line 485: | Line 485: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|2 | |2 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|3 | |3 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|- | |- | ||
|} | |} | ||
Line 546: | Line 546: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|1 | |1 | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|2 | |2 | ||
|- | |- | ||
Line 566: | Line 566: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|3 | |3 | ||
Line 580: | Line 580: | ||
!<u>नामाधिकारी ID</u> | !<u>नामाधिकारी ID</u> | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|1 | |1 | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|2 | |2 | ||
|- | |- | ||
Line 608: | Line 608: | ||
=== संतोषजनक 5NF === | === संतोषजनक 5NF === | ||
किसी तालिका को पांचवें सामान्य रूप से संतुष्ट नहीं करने के लिए, सामान्यतः आँकड़े की पूरी तरह से जांच करना आवश्यक होता है। मान लीजिए | किसी तालिका को पांचवें सामान्य रूप से संतुष्ट नहीं करने के लिए, सामान्यतः आँकड़े की पूरी तरह से जांच करना आवश्यक होता है। मान लीजिए डेटाबेस सामान्यीकरण से आँकड़े में थोड़ा संशोधन के साथ 4NF को संतुष्ट करना और यह जाँचता है कि क्या यह पांचवें सामान्य रूप को संतुष्ट करता है: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ align="top" |'''नामाधिकारी - पुस्तक - स्थान''' | |+ align="top" |'''नामाधिकारी - पुस्तक - स्थान''' | ||
Line 616: | Line 616: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
|- | |- | ||
Line 624: | Line 624: | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|टेक्सस | |टेक्सस | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
|- | |- | ||
Line 641: | Line 641: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|- | |- | ||
|1 | |1 | ||
Line 647: | Line 647: | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|} | |} | ||
Line 679: | Line 679: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|कैलिफोर्निया | |कैलिफोर्निया | ||
|- | |- | ||
Line 687: | Line 687: | ||
|- | |- | ||
|<span style= color:red >1</span> | |<span style= color:red >1</span> | ||
|<span style= color:red > | |<span style= color:red >डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2</span> | ||
|<span style= color:red >कैलिफ़ोर्निया</span> | |<span style= color:red >कैलिफ़ोर्निया</span> | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|टेक्सास | |टेक्सास | ||
|- | |- | ||
Line 699: | Line 699: | ||
|- | |- | ||
|<span style= color:red >1</span> | |<span style= color:red >1</span> | ||
|<span style= color:red >शुरुआत MySQL | |<span style= color:red >शुरुआत MySQL डेटाबेस अभिकल्पना और अनुकूलन</span> | ||
|<span style= color:red >टेक्सस</span> | |<span style= color:red >टेक्सस</span> | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|कैलिफोर्निया | |कैलिफोर्निया | ||
|- | |- | ||
Line 715: | Line 715: | ||
|- | |- | ||
|1 | |1 | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|- | |- | ||
|1 | |1 | ||
Line 721: | Line 721: | ||
|- | |- | ||
|1 | |1 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|2 | |2 | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|} | |} | ||
Line 750: | Line 750: | ||
|- | |- | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|- | |- | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
Line 756: | Line 756: | ||
|- | |- | ||
|कैलिफ़ोर्निया | |कैलिफ़ोर्निया | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|टेक्सस | |टेक्सस | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|- | |- | ||
|} | |} | ||
JOIN अब क्या लौटाएगा? वस्तुतः में इन तीन तालिकाओं में सम्मिलित होना संभव नहीं है। इसका अर्थ यह है कि फ्रेंचाइजी - पुस्तक - स्थान को आँकड़े हानि के बिना विघटित करना संभव नहीं था, इसलिए तालिका पहले से ही [[5NF]] को संतुष्ट करती है। | JOIN अब क्या लौटाएगा? वस्तुतः में इन तीन तालिकाओं में सम्मिलित होना संभव नहीं है। इसका अर्थ यह है कि फ्रेंचाइजी - पुस्तक - स्थान को आँकड़े हानि के बिना विघटित करना संभव नहीं था, इसलिए तालिका पहले से ही [[5NF]] को संतुष्ट करती है। | ||
सी.जे. दिनांक ने तर्क दिया है कि केवल 5NF में एक | सी.जे. दिनांक ने तर्क दिया है कि केवल 5NF में एक डेटाबेस वस्तुतः में सामान्यीकृत है।<ref>{{Cite book|url=https://books.google.com/books?id=Jx5UCwAAQBAJ&q=etnf%20normalization&pg=PT163|title=The New Relational Database Dictionary: Terms, Concepts, and Examples|last=Date|first=C. J.|date=December 21, 2015|publisher="O'Reilly Media, Inc."|isbn=9781491951699|pages=163|language=en}}</ref> | ||
Line 777: | Line 777: | ||
!''प्रकाशक ID'' | !''प्रकाशक ID'' | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|520 | |520 | ||
|मोटा | |मोटा | ||
Line 783: | Line 783: | ||
|''1'' | |''1'' | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|538 | |538 | ||
|मोटा | |मोटा | ||
Line 830: | Line 830: | ||
!''प्रकाशक ID'' | !''प्रकाशक ID'' | ||
|- | |- | ||
|MySQL | |MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | ||
|520 | |520 | ||
|''1'' | |''1'' | ||
|''1'' | |''1'' | ||
|- | |- | ||
| | |डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ||
|538 | |538 | ||
|''2'' | |''2'' | ||
Line 890: | Line 890: | ||
|} | |} | ||
6NF का स्पष्ट दोष एक इकाई पर सूचना का प्रतिनिधित्व करने के लिए आवश्यक तालिकाओं का प्रसार है। यदि 5NF में एक तालिका में एक प्राथमिक कुंजी स्तंभ और N विशेषताएँ हैं, तो 6NF में समान जानकारी का प्रतिनिधित्व करने के लिए N तालिकाओं की आवश्यकता होगी; एकल वैचारिक अभिलेख के लिए बहु-क्षेत्र अद्यतनों के लिए एकाधिक तालिकाओं के अद्यतनों की आवश्यकता होगी; और सम्मिलित करने और हटाने के लिए समान रूप से कई तालिकाओं में संचालन की आवश्यकता होगी। इस कारण से, | 6NF का स्पष्ट दोष एक इकाई पर सूचना का प्रतिनिधित्व करने के लिए आवश्यक तालिकाओं का प्रसार है। यदि 5NF में एक तालिका में एक प्राथमिक कुंजी स्तंभ और N विशेषताएँ हैं, तो 6NF में समान जानकारी का प्रतिनिधित्व करने के लिए N तालिकाओं की आवश्यकता होगी; एकल वैचारिक अभिलेख के लिए बहु-क्षेत्र अद्यतनों के लिए एकाधिक तालिकाओं के अद्यतनों की आवश्यकता होगी; और सम्मिलित करने और हटाने के लिए समान रूप से कई तालिकाओं में संचालन की आवश्यकता होगी। इस कारण से, डेटाबेस में [[OLTP]] जरूरतों को पूरा करने के लिए, 6NF का उपयोग नहीं किया जाना चाहिए। | ||
हालाँकि, [[डेटा गोदाम|आँकड़े भाण्डागार]] में, जो पारस्परिक अद्यतन की अनुमति नहीं देते हैं और जो बड़े आँकड़े आयतन पर शीघ्र परिप्रश्न के लिए विशिष्ट हैं, कुछ DBMS एक आंतरिक 6NF प्रतिनिधित्व का उपयोग करते हैं - जिसे पंक्ति-उन्मुख DBMS के रूप में जाना जाता है। ऐसी स्थितियों में जहां स्तंभ के अद्वितीय मानों की संख्या तालिका में पंक्तियों की संख्या से बहुत कम है, स्तंभ-उन्मुख भंडारण आँकड़े संपीड़न के माध्यम से अंतरिक्ष में महत्वपूर्ण बचत की अनुमति देता है। स्तंभकार भंडारण भी श्रेणी प्रश्नों के शीघ्रता से निष्पादन की अनुमति देता है (उदाहरण के लिए, सभी अभिलेख दिखाएं जहां एक विशेष स्तंभ X और Y के बीच है, या X से कम है।) | हालाँकि, [[डेटा गोदाम|आँकड़े भाण्डागार]] में, जो पारस्परिक अद्यतन की अनुमति नहीं देते हैं और जो बड़े आँकड़े आयतन पर शीघ्र परिप्रश्न के लिए विशिष्ट हैं, कुछ DBMS एक आंतरिक 6NF प्रतिनिधित्व का उपयोग करते हैं - जिसे पंक्ति-उन्मुख DBMS के रूप में जाना जाता है। ऐसी स्थितियों में जहां स्तंभ के अद्वितीय मानों की संख्या तालिका में पंक्तियों की संख्या से बहुत कम है, स्तंभ-उन्मुख भंडारण आँकड़े संपीड़न के माध्यम से अंतरिक्ष में महत्वपूर्ण बचत की अनुमति देता है। स्तंभकार भंडारण भी श्रेणी प्रश्नों के शीघ्रता से निष्पादन की अनुमति देता है (उदाहरण के लिए, सभी अभिलेख दिखाएं जहां एक विशेष स्तंभ X और Y के बीच है, या X से कम है।) | ||
इन सभी स्तिथियों में, हालाँकि, | इन सभी स्तिथियों में, हालाँकि, डेटाबेस अभिकल्पनार को अलग-अलग तालिकाएँ बनाकर स्वतः रूप से 6NF सामान्यीकरण नहीं करना पड़ता है। कुछ DBMS जो भण्डारण के लिए विशिष्ट हैं, जैसे कि [[Sybase IQ|साइबेस IQ]], स्वतः निर्धारित रूप से पंक्तिर संचयन का उपयोग करते हैं, लेकिन अभिकल्पनार अभी भी केवल एक बहु-पंक्ति तालिका देखता है। अन्य DBMSs, जैसे कि माइक्रोसॉफ्ट SQL परिवेषक 2012 और बाद में, आपको किसी विशेष तालिका के लिए एक पंक्तिसंचय तालिका निर्दिष्ट करने देते हैं।<ref>Microsoft Corporation. Columnstore Indexes: Overview. https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-overview . Accessed March 23, 2020.</ref> | ||
== यह भी देखें == | == यह भी देखें == | ||
* असमान्यीकरण | * असमान्यीकरण | ||
* [[डेटाबेस रीफैक्टरिंग| | * [[डेटाबेस रीफैक्टरिंग|डेटाबेस उच्चतापसह]] | ||
* [[दोषरहित अपघटन में शामिल हों|दोषरहित सम्मिलित अपघटन]] | * [[दोषरहित अपघटन में शामिल हों|दोषरहित सम्मिलित अपघटन]] | ||
== नोट्स और संदर्भ == | == नोट्स और संदर्भ == | ||
{{Reflist}} | {{Reflist}} | ||
==अग्रिम पठन== | ==अग्रिम पठन== | ||
* Date, C. J. (1999), ''[https://web.archive.org/web/20050404010227/http://www.aw-bc.com/catalog/academic/product/0%2C1144%2C0321197844%2C00.html An Introduction to | * Date, C. J. (1999), ''[https://web.archive.org/web/20050404010227/http://www.aw-bc.com/catalog/academic/product/0%2C1144%2C0321197844%2C00.html An Introduction to डेटाबेस Systems]'' (8th ed.). एडिसन-वेस्ले Longman. {{ISBN|0-321-19784-4}}. | ||
* Kent, W. (1983) ''[http://www.bkent.net/Doc/simple5.htm A Simple Guide to Five Normal Forms in Relational | * Kent, W. (1983) ''[http://www.bkent.net/Doc/simple5.htm A Simple Guide to Five Normal Forms in Relational डेटाबेस Theory]'', Communications of the ACM, vol. 26, pp. 120–125 | ||
* H.-J. Schek, P. Pistor Data Structures for an Integrated Data Base Management and Inप्रारूपion Retrieval System | * H.-J. Schek, P. Pistor Data Structures for an Integrated Data Base Management and Inप्रारूपion Retrieval System | ||
Line 916: | Line 912: | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* {{cite journal |first= William |last=Kent |title=A Simple Guide to Five Normal Forms in Relational Database Theory |journal=Communications of the ACM |volume=26 |issue=2 |date=February 1983 |pages=120–125 |url=http://www.bkent.net/Doc/simple5.htm |doi=10.1145/358024.358054|s2cid=9195704 }} | * {{cite journal |first= William |last=Kent |title=A Simple Guide to Five Normal Forms in Relational Database Theory |journal=Communications of the ACM |volume=26 |issue=2 |date=February 1983 |pages=120–125 |url=http://www.bkent.net/Doc/simple5.htm |doi=10.1145/358024.358054|s2cid=9195704 }} | ||
* [http://databases.about.com/od/specificproducts/a/normalization.htm | * [http://databases.about.com/od/specificproducts/a/normalization.htm डेटाबेस Normalization Basics] by Mike Chapple (About.com) | ||
* [http://www.databasejournal.com/sqletc/article.php/1428511 | * [http://www.databasejournal.com/sqletc/article.php/1428511 डेटाबेस Normalization Intro] {{Webarchive|url=https://web.archive.org/web/20110928000244/http://www.databasejournal.com/sqletc/article.php/1428511 |date=September 28, 2011 }}, [http://www.databasejournal.com/sqletc/article.php/26861_1474411_1 Part 2] {{Webarchive|url=https://web.archive.org/web/20110708233620/http://www.databasejournal.com/sqletc/article.php/26861_1474411_1 |date=July 8, 2011 }} | ||
* [http://mikehillyer.com/articles/an-introduction-to-database-normalization/ An Introduction to | * [http://mikehillyer.com/articles/an-introduction-to-database-normalization/ An Introduction to डेटाबेस Normalization] by Mike Hillyer. | ||
* [http://phlonx.com/resources/nf3/ A शिक्षण on the first 3 normal forms] by Fred Coulson | * [http://phlonx.com/resources/nf3/ A शिक्षण on the first 3 normal forms] by Fred Coulson | ||
* [http://support.microsoft.com/kb/283878 Description of the | * [http://support.microsoft.com/kb/283878 Description of the डेटाबेस normalization basics] by Microsoft | ||
* [http://beginnersbook.com/2015/05/normalization-in-dbms/ Normalization in DBMS by Chaitanya (beginnersपुस्तक.com)] | * [http://beginnersbook.com/2015/05/normalization-in-dbms/ Normalization in DBMS by Chaitanya (beginnersपुस्तक.com)] | ||
* [https://www.databasestar.com/normalization-in-dbms/ A Step-by-Step Guide to | * [https://www.databasestar.com/normalization-in-dbms/ A Step-by-Step Guide to डेटाबेस Normalization] | ||
* [http://researcher.watson.ibm.com/researcher/files/us-fagin/icdt12.pdf ETNF – Essential tuple normal form] {{Webarchive|url=https://web.archive.org/web/20160306173449/http://researcher.watson.ibm.com/researcher/files/us-fagin/icdt12.pdf |date=March 6, 2016 }} | * [http://researcher.watson.ibm.com/researcher/files/us-fagin/icdt12.pdf ETNF – Essential tuple normal form] {{Webarchive|url=https://web.archive.org/web/20160306173449/http://researcher.watson.ibm.com/researcher/files/us-fagin/icdt12.pdf |date=March 6, 2016 }} | ||
{{Authority control}} | {{Authority control}} | ||
{{DEFAULTSORT:Database Normalization}} | {{DEFAULTSORT:Database Normalization}} | ||
[[Category: | [[Category:Articles with hatnote templates targeting a nonexistent page|Database Normalization]] | ||
[[Category:Created On 16/02/2023]] | [[Category:CS1 English-language sources (en)]] | ||
[[Category:Vigyan Ready]] | [[Category:Created On 16/02/2023|Database Normalization]] | ||
[[Category:Lua-based templates|Database Normalization]] | |||
[[Category:Machine Translated Page|Database Normalization]] | |||
[[Category:Multi-column templates|Database Normalization]] | |||
[[Category:Pages using div col with small parameter|Database Normalization]] | |||
[[Category:Pages with script errors|Database Normalization]] | |||
[[Category:Short description with empty Wikidata description|Database Normalization]] | |||
[[Category:Templates Vigyan Ready|Database Normalization]] | |||
[[Category:Templates that add a tracking category|Database Normalization]] | |||
[[Category:Templates that generate short descriptions|Database Normalization]] | |||
[[Category:Templates using TemplateData|Database Normalization]] | |||
[[Category:Templates using under-protected Lua modules|Database Normalization]] | |||
[[Category:Webarchive template wayback links|Database Normalization]] | |||
[[Category:Wikipedia fully protected templates|Div col]] | |||
[[Category:डाटाबेस सामान्यीकरण| डाटाबेस सामान्यीकरण ]] | |||
[[Category:डेटा प्रबंधन|Database Normalization]] | |||
[[Category:डेटाबेस की कमी|Database Normalization]] | |||
[[Category:मॉडलिंग की दिनांक|Database Normalization]] | |||
[[Category:संबंधपरक बीजगणित|Database Normalization]] |
Latest revision as of 16:23, 3 November 2023
डेटाबेस सामान्यीकरण (देखें अमेरिकी और ब्रिटिश अंग्रेजी वर्तनी अंतर) तथाकथित सामान्य रूपों की एक श्रृंखला के अनुसार एक संबंधात्मक डेटाबेस को संरचित करने की प्रक्रिया है। 'आँकड़े अतिरेक को कम करने और आँकड़े अखंडता में सुधार करने की प्रक्रिया है। यह पहली बार ब्रिटिश कंप्यूटर वैज्ञानिक एडगर एफ. कॉड द्वारा उनके संबंधपरक प्रतिरूप के हिस्से के रूप में प्रस्तावित किया गया था।
सामान्यीकरण एक डेटाबेस के पंक्ति (डेटाबेस) (गुण) और संबंध (डेटाबेस) को व्यवस्थित करने के लिए यह सुनिश्चित करता है कि उनका निर्भरता सिद्धांत (डेटाबेस सिद्धांत) डेटाबेस अखंडता बाधाओं द्वारा ठीक से लागू किया जाता है। यह कुछ औपचारिक नियमों को या तो संश्लेषण (एक नया डेटाबेस अभिकल्पना बनाना) या अपघटन (उपस्थिता डेटाबेस अभिकल्पना में सुधार) की प्रक्रिया द्वारा लागू करके पूरा किया जाता है।
उद्देश्य
1970 में कॉड द्वारा परिभाषित पहले सामान्य रूप का एक मूल उद्देश्य आंकड़ों को प्रथम-क्रम तर्क में आधारित एक सार्वभौमिक आँकड़े उप-भाषा का उपयोग करके क्वेरी और युक्तियोजित करने की अनुमति देना था।[1] ऐसी भाषा का एक उदाहरण SQL है, हालांकि यह एक ऐसी भाषा है जिसे कॉड गंभीर रूप से त्रुटिपूर्ण मानता है।[2]
1NF (प्रथम सामान्य रूप) से अतिरिक्त सामान्यीकरण के उद्देश्यों को कॉड द्वारा इस प्रकार बताया गया था:
1. संबंधों के संग्रह को अवांछित प्रविष्टि, अद्यतन और विलोपन निर्भरता से मुक्त करने के लिए।
2, संबंधों के संग्रह के पुनर्गठन की आवश्यकता को कम करने के लिए, क्योंकि नए प्रकार के आँकड़े प्रस्तुत किए जाते हैं, और इस प्रकार अनुप्रयोग क्रमादेश के जीवन काल में वृद्धि होती है।
3, संबंधपरक प्रतिरूप को उपयोगकर्ताओं के लिए अधिक जानकारीपूर्ण बनाने के लिए। 4, क्वेरी आँकड़ों के लिए संबंधों के संग्रह को तटस्थ बनाने के लिए, जहाँ ये आँकड़े समय बीतने के साथ बदलने के लिए उत्तरदायी हैं।
— ई.एफ. कोड, "डाटा बेस रिलेशनल मॉडल का और अधिक सामान्यीकरण"[3]
जब किसी संबंध को संशोधित करने (अद्यतन करने, सम्मिलित करने, या उससे हटाने) का प्रयास किया जाता है, तो उन संबंधों में निम्नलिखित अवांछनीय दुष्प्रभाव उत्पन्न हो सकते हैं जो पर्याप्त रूप से सामान्य नहीं हुए हैं:
- सम्मिलन विसंगति. ऐसी परिस्थितियाँ होती हैं जिनमें कुछ तथ्यों को बिल्कुल भी अभिलेखित नहीं किया जा सकता है। उदाहरण के लिए, एक संकाय और उनके पाठ्यक्रम संबंध में प्रत्येक अभिलेख में एक संकाय ID, संकाय का नाम, संकाय किराया तिथि और पाठ्यक्रम क्रमांक हो सकता है। इसलिए, किसी भी संकाय सदस्य का विवरण अभिलेखित किया जा सकता है जो कम से कम एक पाठ्यक्रम पढ़ाता है, लेकिन एक नए किराए पर लिया गया संकाय सदस्य जिसे अभी तक किसी भी पाठ्यक्रम को पढ़ाने के लिए नियुक्त नहीं किया गया है, पाठ्यक्रम क्रमांक को शून्य (SQL) लिपिबद्ध करने के अतिरिक्त अभिलेख नहीं किया जा सकता है।
- अद्यतन विसंगति. एक ही जानकारी को कई पंक्तियों में व्यक्त किया जा सकता है; इसलिए संबंध में अद्यतन के परिणामस्वरूप तार्किक असंगतता हो सकती है। उदाहरण के लिए, कर्मचारी कौशल संबंध में प्रत्येक अभिलेख में एक कर्मचारी ID, कर्मचारी का पता और कौशल हो सकता है; इस प्रकार किसी विशेष कर्मचारी के पते में परिवर्तन को कई अभिलेख (प्रत्येक कौशल के लिए एक) पर लागू करने की आवश्यकता हो सकती है। यदि अद्यतन केवल आंशिक रूप से सफल होता है - कर्मचारी का पता कुछ अभिलेखों पर अद्यतन किया जाता है, लेकिन अन्य नहीं - तो संबंध असंगत स्थिति में छोड़ दिया जाता है। विशेष रूप से, संबंध इस प्रश्न के परस्पर विरोधी उत्तर प्रदान करता है कि इस विशेष कर्मचारी का पता क्या है।
- विलोपन विसंगति. कुछ परिस्थितियों में, कुछ तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने के लिए पूरी तरह से अलग तथ्यों का प्रतिनिधित्व करने वाले आंकड़ों को हटाने की आवश्यकता होती है। पिछले उदाहरण में वर्णित संकाय और उनके पाठ्यक्रम संबंध इस प्रकार की विसंगति से ग्रस्त हैं, यदि एक संकाय सदस्य अस्थायी रूप से किसी भी पाठ्यक्रम को सौंपा जाना बंद कर देता है, तो अंतिम अभिलेख जिस पर वह संकाय सदस्य दिखाई देता है, जब तक कि पाठ्यक्रम कूट क्षेत्र शून्य पर निर्धारित न हो संकाय सदस्य को प्रभावी रूप से हटा दिया जाना चाहिए।
डेटाबेस संरचना का विस्तार करते समय पुनर्रचना को छोटा करें
एक पूरी तरह से सामान्यीकृत डेटाबेस उपस्थिता संरचना को बहुत अधिक बदले बिना नए प्रकार के आँकड़े को समायोजित करने के लिए इसकी संरचना को विस्तारित करने की अनुमति देता है। नतीजतन, डेटाबेस के साथ बातचीत करने वाले एप्लिकेशन न्यूनतम रूप से प्रभावित होते हैं।
सामान्यीकृत संबंध, और एक सामान्यीकृत संबंध और दूसरे के बीच संबंध, वस्तुतःिक दुनिया की अवधारणाओं और उनके अंतर्संबंधों को प्रतिबिंबित करते हैं।
सामान्य रूप
कॉड ने सामान्यीकरण की अवधारणा प्रस्तुत की और जिसे अब 1970 में पहले सामान्य रूप (1NF) के रूप में जाना जाता है।[4] कॉड ने 1971 में दूसरे सामान्य रूप (2NF) और तीसरे सामान्य रूप (3NF) को परिभाषित किया,[5] और कॉड और रेमंड एफ. बॉयस ने 1974 में बॉयस-कॉड प्रसामान्य रूप (BCNF) को परिभाषित किया।[6]
अनौपचारिक रूप से, एक संबंधपरक डेटाबेस संबंध को प्रायः सामान्यीकृत के रूप में वर्णित किया जाता है यदि यह तीसरे सामान्य रूप से मिलता है।[7] अधिकांश 3NF संबंध सम्मिलन, अद्यतन और विलोपन विसंगतियों से मुक्त हैं।
सामान्य रूप (कम से कम सामान्यीकृत से सबसे सामान्यीकृत) हैं:
- UNF: असामान्य रूप
- 1NF: पहला सामान्य रूप
- 2NF: दूसरा सामान्य रूप
- 3NF: तीसरा सामान्य रूप
- EKNF: प्राथमिक कुंजी सामान्य रूप
- BCNF: बॉयस-कॉड सामान्य रूप
- 4NF: चौथा सामान्य रूप
- ETNF: आवश्यक टपल सामान्य रूप
- 5NF: पांचवां सामान्य रूप
- DKNF: डोमेन-कुंजी सामान्य रूप
- 6NF: छठा सामान्य रूप
प्रतिबंध (कोष्ठक में अनौपचारिक विवरण) |
UNF (1970) |
1NF (1970) |
2NF (1971) |
3NF (1971) |
EKNF (1982) |
BCNF (1974) |
4NF (1977) |
ETNF (2012) |
5NF (1979) |
DKNF (1981) |
6NF (2003) |
---|---|---|---|---|---|---|---|---|---|---|---|
अद्वितीय पंक्तियाँ (कोई समरूप अभिलेख नहीं)[4] | |||||||||||
अदिश स्तंभ (स्तंभ में संबंध या मिश्रित मान नहीं हो सकते)[5] | |||||||||||
प्रत्येक गैर-प्रमुख विशेषता में एक पदान्वेषी कुंजी पर पूर्ण कार्यात्मक निर्भरता होती है (विशेषताएँ पूर्ण प्राथमिक कुंजी पर निर्भर करती हैं)[5] | |||||||||||
प्रत्येक गैर-साधारण कार्यात्मक निर्भरता या तो एक उत्कृष्ट कुंजी के साथ प्रारम्भ होती है या एक प्रमुख विशेषता के साथ समाप्त होती है (विशेषताएँ केवल प्राथमिक कुंजी पर निर्भर करती हैं)[5] | |||||||||||
प्रत्येक गैर-साधारण कार्यात्मक निर्भरता या तो एक उत्कृष्ट कुंजी के साथ प्रारम्भ होती है या एक प्राथमिक प्रधान विशेषता (3NF का एक कठोर रूप) के साथ समाप्त होती है। | — | ||||||||||
प्रत्येक गैर-साधारण कार्यात्मक निर्भरता एक उत्कृष्ट कुंजी (3NF का एक कठोर रूप) से प्रारम्भ होती है | — | ||||||||||
प्रत्येक गैर-साधारण बहु-मूल्यवान निर्भरता एक उत्कृष्ट कुंजी से प्रारम्भ होती है | — | ||||||||||
प्रत्येक सम्मिलित निर्भरता में एक उत्कृष्ट कुंजी घटक होता है[8] | — | ||||||||||
प्रत्येक सम्मिलित निर्भरता में केवल उत्कृष्ट कुंजी घटक होते हैं | — | ||||||||||
प्रत्येक प्रतिबंध कार्यक्षेत्र प्रतिबंध और कुंजी प्रतिबंध का परिणाम है | |||||||||||
प्रत्येक सम्मिलित निर्भरता साधारण है |
चरण दर चरण सामान्यीकरण का उदाहरण
सामान्यीकरण एक डेटाबेस अभिकल्पना तकनीक है, जिसका उपयोग संबंधपरक डेटाबेस तालिका को उच्च सामान्य रूप तक अभिकल्पना करने के लिए किया जाता है।[9] प्रक्रिया प्रगतिशील है, और डेटाबेस सामान्यीकरण का एक उच्च स्तर तब तक प्राप्त नहीं किया जा सकता जब तक कि पिछले स्तर संतुष्ट न हों।[10]
इसका अर्थ यह है कि, असामान्य रूप में आँकड़े (कम से कम सामान्यीकृत) और सामान्यीकरण के उच्चतम स्तर को प्राप्त करने का लक्ष्य रखते हुए, पहला कदम पहले सामान्य रूप का अनुपालन सुनिश्चित करना होगा, दूसरा कदम यह सुनिश्चित करना होगा कि दूसरा सामान्य रूप संतुष्ट हो, और इसी तरह ऊपर वर्णित क्रम में, जब तक कि आँकड़े छठे सामान्य रूप के अनुरूप न हो।
हालांकि, यह ध्यान देने योग्य है कि 4NF से अतिरिक्त सामान्य रूप मुख्य रूप से अकादमिक रुचि के हैं, क्योंकि वे जिन समस्याओं को हल करने के लिए उपस्थित हैं, वे कदाचित ही कभी व्यवहार में दिखाई देती हैं।[11]
निम्नलिखित उदाहरण में आँकड़े साभिप्राय अधिकांश सामान्य रूपों का खंडन करने के लिए अभिकल्पना की गई थी। वस्तुतःिक जीवन में, सामान्यीकरण के कुछ चरणों को छोड़ना काफी संभव है क्योंकि तालिका में दिए गए सामान्य रूप के विपरीत कुछ भी नहीं है। यह सामान्यतः भी होता है कि एक सामान्य रूप का उल्लंघन ठीक करने से प्रक्रिया में एक उच्च सामान्य रूप का उल्लंघन भी ठीक हो जाता है। साथ ही प्रत्येक चरण पर सामान्यीकरण के लिए एक तालिका का चयन किया गया है, जिसका अर्थ है कि इस उदाहरण प्रक्रिया के अंत में, अभी भी कुछ तालिकाएँ उच्चतम सामान्य रूप को संतुष्ट नहीं कर सकती हैं।
प्रारंभिक आँकड़े
निम्नलिखित संरचना के साथ डेटाबेस तालिका उपस्थित होने दें:[10]
शीर्षक | लेखक | लेखक राष्ट्रीयता | प्रारूप | मूल्य | विषय | पृष्ठ | मोटाई | प्रकाशक | प्रकाशक राष्ट्र | प्रकाशन
प्रकार |
विधा ID | विधा का नाम | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MySQL डेटाबेस अभिकल्पन और अनुकूलन का प्रारम्भ | चाड रसेल | अमेरीका | हार्डकवर | 49.99 |
|
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 |
पदान्वेषी कुंजी का हिस्सा नहीं होने वाले सभी गुण शीर्षक पर निर्भर करते हैं, लेकिन केवल मूल्य भी प्रारूप पर निर्भर करता है। दूसरे सामान्य रूप के अनुरूप होने और दोहराव को दूर करने के लिए, प्रत्येक गैर-पदान्वेषी-कुंजी विशेषता को न कि केवल इसका हिस्सा बल्कि पूरी पदान्वेषी कुंजी पर निर्भर होना चाहिए।
इस तालिका को सामान्य करने के लिए, '{शीर्षक}' को एक (सरल) पदान्वेषी कुंजी (प्राथमिक कुंजी) बनाएं ताकि प्रत्येक गैर-पदान्वेषी-कुंजी विशेषता पूरी पदान्वेषी कुंजी पर निर्भर हो, और मूल्य को एक अलग तालिका में हटा दें ताकि इसकी निर्भरता प्रारूप संरक्षित किया जा सकता है:
|
| |||||||||||||||||||||||||||||||||||||||
|
अब, पुस्तक तालिका दूसरे सामान्य रूप के अनुरूप है।
संतोषजनक 3NF
पुस्तक तालिका में अभी भी सकर्मक कार्यात्मक निर्भरता है ({लेखक राष्ट्रीयता} {लेखक} पर निर्भर है, जो {शीर्षक} पर निर्भर है)। शैली के लिए एक समान उल्लंघन उपस्थित है ({शैली का नाम} {शैली ID} पर निर्भर है, जो {शीर्षक} पर निर्भर है)। इसलिए, पुस्तक तालिका 3NF में नहीं है। इसे 3NF में बनाने के लिए, निम्न तालिका संरचना का उपयोग करते हैं, जिससे {लेखक राष्ट्रीयता} और {विधा का नाम} को उनकी संबंधित तालिकाओं में रखकर सकर्मक कार्यात्मक निर्भरता समाप्त हो जाती है:
शीर्षक | लेखक | पृष्ठ | मोटाई | शैली ID | प्रकाशक ID |
---|---|---|---|---|---|
MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | चाड रसेल | 520 | मोटा | 1 | 1 |
डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | ई.एफ. कोडड | 538 | मोटा | 2 | 2 |
|
| वर्ग = विकिटेबल |+लेखक !लेखक !लेखक राष्ट्रीयता |- |चाड रसेल |अमेरिकी |- |ई.एफ. कॉड |ब्रिटिश |}
| वर्ग = विकिटेबल |+शैली !लिंग आईडी !शैली का नाम |- |- |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 डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | टेक्सस |
चूंकि इस तालिका संरचना में एक यौगिक कुंजी होती है, इसमें कोई गैर-कुंजी विशेषता नहीं होती है और यह पहले से ही बॉयस-कॉड सामान्य रूप में है (और इसलिए सभी पिछले सामान्य रूपों को भी संतुष्ट करता है)। हालाँकि, यह मानते हुए कि सभी उपलब्ध पुस्तकें प्रत्येक क्षेत्र में प्रस्तुत की जाती हैं, शीर्षक स्पष्ट रूप से एक निश्चित स्थान के लिए बाध्य नहीं है और इसलिए तालिका चौथे सामान्य रूप को संतुष्ट नहीं करती है।
इसका अर्थ है कि, चौथे सामान्य रूप को संतुष्ट करने के लिए, इस तालिका को भी विघटित करने की आवश्यकता है:
|
|
अब, प्रत्येक अभिलेख स्पष्ट रूप से एक कुंजी द्वारा पहचाना जाता है, इसलिए 4NF संतुष्ट है।
संतोषजनक ETNF
मान लीजिए कि फ़्रैंचाइजी विभिन्न आपूर्तिकर्ताओं से किताबें मंगवा सकते हैं। संबंध को निम्नलिखित प्रतिबंध के अधीन भी होने दें:
- यदि एक निश्चित आपूर्तिकर्ता एक निश्चित शीर्षक की आपूर्ति करता है
- और शीर्षक फ्रेंचाइजी को प्रदान किया जाता है
- और फ्रेंचाइजी आपूर्तिकर्ता द्वारा आपूर्ति की जा रही है,
- फिर आपूर्तिकर्ता फ़्रैंचाइजी को शीर्षक की आपूर्ति करता है।[13]
संभरक ID | शीर्षक | नामाधिकारी ID |
---|---|---|
1 | MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | 1 |
2 | डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | 2 |
3 | SQL सीखना | 3 |
यह तालिका चौथे सामान्य रूप में है, लेकिन प्रदायक ID इसके अनुमानों के जुड़ने के बराबर है: {{संभरक ID, शीर्षक}, {शीर्षक, नामाधिकारी ID}, {नामाधिकारी ID, संभरक ID}}. उस ज्वाइन डिपेंडेंसी का कोई भी घटक उत्कृष्ट कुंजी नहीं है (एकमात्र उत्कृष्ट कुंजी संपूर्ण शीर्षक है), इसलिए तालिका ETNF को संतुष्ट नहीं करती है और इसे और विघटित किया जा सकता है:[13]
|
|
|
अपघटन ETNF अनुपालन उत्पन्न करता है।
संतोषजनक 5NF
किसी तालिका को पांचवें सामान्य रूप से संतुष्ट नहीं करने के लिए, सामान्यतः आँकड़े की पूरी तरह से जांच करना आवश्यक होता है। मान लीजिए डेटाबेस सामान्यीकरण से आँकड़े में थोड़ा संशोधन के साथ 4NF को संतुष्ट करना और यह जाँचता है कि क्या यह पांचवें सामान्य रूप को संतुष्ट करता है:
नामाधिकारी ID | शीर्षक | स्थान |
---|---|---|
1 | MySQL डेटाबेस अभिकल्पना और अनुकूलन का प्रारम्भ | कैलिफ़ोर्निया |
1 | SQL सीखना | कैलिफ़ोर्निया |
1 | डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 2 | टेक्सस |
2 | डेटाबेस प्रबंधन के लिए संबंधपरक प्रतिरूप: संस्करण 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 पृष्ठों से अधिक की पुस्तक को मोटा माना जाता है।
यह चलन तकनीकी रूप से एक बाधा है लेकिन यह न तो कार्यक्षेत्र बाधा है और न ही मुख्य बाधा है; इसलिए हम आँकड़े अखंडता को बनाए रखने के लिए कार्यक्षेत्र बाधाओं और प्रमुख बाधाओं पर भरोसा नहीं कर सकते हैं।
इसे हल करने के लिए, मोटाई को परिभाषित करने वाली एक तालिका धारण गणना बनाई गई है, और उस पंक्ति को मूल तालिका से हटा दिया गया है:
|
|
इस तरह, कार्यक्षेत्र अखंडता उल्लंघन समाप्त हो गया है, और तालिका कार्यक्षेत्र-कुंजी सामान्य रूप में है।
संतोषजनक 6NF
छठे सामान्य रूप की एक सरल और सहज परिभाषा यह है कि एक तालिका छठे सामान्य रूप में होती है जब 'पंक्ति में प्राथमिक कुंजी होती है, और अधिक से अधिक एक अन्य विशेषता '' होती है।[15]
इसका अर्थ है, उदाहरण के लिए, #संतोषजनक_1NF के दौरान अभिकल्पित की गई प्रकाशक तालिका
प्रकाशक ID | नाम | राष्ट्र |
---|---|---|
1 | अप्रेस | USA |
आगे दो तालिकाओं में विघटित करने की जरूरत है:
|
|
6NF का स्पष्ट दोष एक इकाई पर सूचना का प्रतिनिधित्व करने के लिए आवश्यक तालिकाओं का प्रसार है। यदि 5NF में एक तालिका में एक प्राथमिक कुंजी स्तंभ और N विशेषताएँ हैं, तो 6NF में समान जानकारी का प्रतिनिधित्व करने के लिए N तालिकाओं की आवश्यकता होगी; एकल वैचारिक अभिलेख के लिए बहु-क्षेत्र अद्यतनों के लिए एकाधिक तालिकाओं के अद्यतनों की आवश्यकता होगी; और सम्मिलित करने और हटाने के लिए समान रूप से कई तालिकाओं में संचालन की आवश्यकता होगी। इस कारण से, डेटाबेस में OLTP जरूरतों को पूरा करने के लिए, 6NF का उपयोग नहीं किया जाना चाहिए।
हालाँकि, आँकड़े भाण्डागार में, जो पारस्परिक अद्यतन की अनुमति नहीं देते हैं और जो बड़े आँकड़े आयतन पर शीघ्र परिप्रश्न के लिए विशिष्ट हैं, कुछ DBMS एक आंतरिक 6NF प्रतिनिधित्व का उपयोग करते हैं - जिसे पंक्ति-उन्मुख DBMS के रूप में जाना जाता है। ऐसी स्थितियों में जहां स्तंभ के अद्वितीय मानों की संख्या तालिका में पंक्तियों की संख्या से बहुत कम है, स्तंभ-उन्मुख भंडारण आँकड़े संपीड़न के माध्यम से अंतरिक्ष में महत्वपूर्ण बचत की अनुमति देता है। स्तंभकार भंडारण भी श्रेणी प्रश्नों के शीघ्रता से निष्पादन की अनुमति देता है (उदाहरण के लिए, सभी अभिलेख दिखाएं जहां एक विशेष स्तंभ X और Y के बीच है, या X से कम है।)
इन सभी स्तिथियों में, हालाँकि, डेटाबेस अभिकल्पनार को अलग-अलग तालिकाएँ बनाकर स्वतः रूप से 6NF सामान्यीकरण नहीं करना पड़ता है। कुछ DBMS जो भण्डारण के लिए विशिष्ट हैं, जैसे कि साइबेस IQ, स्वतः निर्धारित रूप से पंक्तिर संचयन का उपयोग करते हैं, लेकिन अभिकल्पनार अभी भी केवल एक बहु-पंक्ति तालिका देखता है। अन्य DBMSs, जैसे कि माइक्रोसॉफ्ट SQL परिवेषक 2012 और बाद में, आपको किसी विशेष तालिका के लिए एक पंक्तिसंचय तालिका निर्दिष्ट करने देते हैं।[16]
यह भी देखें
- असमान्यीकरण
- डेटाबेस उच्चतापसह
- दोषरहित सम्मिलित अपघटन
नोट्स और संदर्भ
- ↑ "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
- ↑ Codd, E.F. Chapter 23, "Serious Flaws in SQL", in The Relational Model for Database Management: Version 2. Addison-Wesley (1990), pp. 371–389
- ↑ Codd, E.F. "Further Normalisation of the Data Base Relational Model", p. 34
- ↑ 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.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.
- ↑ 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).
- ↑ Date, C. J. (1999). An Introduction to Database Systems. Addison-Wesley. p. 290.
- ↑ 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.
- ↑ 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.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.
- ↑ "Database Normalization: 5th Normal Form and Beyond". MariaDB KnowledgeBase. Retrieved 2019-01-23.
- ↑ "Additional Normal Forms - Database Design and Relational Theory - page 151". what-when-how.com. Retrieved 2019-01-22.
- ↑ 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.
- ↑ 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.
- ↑ "normalization - Would like to Understand 6NF with an Example". Stack Overflow. Retrieved 2019-01-23.
- ↑ Microsoft Corporation. Columnstore Indexes: Overview. https://docs.microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-overview . Accessed March 23, 2020.
अग्रिम पठन
- Date, C. J. (1999), An Introduction to डेटाबेस Systems (8th ed.). एडिसन-वेस्ले Longman. ISBN 0-321-19784-4.
- Kent, W. (1983) A Simple Guide to Five Normal Forms in Relational डेटाबेस Theory, Communications of the ACM, vol. 26, pp. 120–125
- H.-J. Schek, P. Pistor Data Structures for an Integrated Data Base Management and Inप्रारूपion Retrieval System
बाहरी संबंध
- Kent, William (February 1983). "A Simple Guide to Five Normal Forms in Relational Database Theory". Communications of the ACM. 26 (2): 120–125. doi:10.1145/358024.358054. S2CID 9195704.
- डेटाबेस Normalization Basics by Mike Chapple (About.com)
- डेटाबेस Normalization Intro Archived September 28, 2011, at the Wayback Machine, Part 2 Archived July 8, 2011, at the Wayback Machine
- An Introduction to डेटाबेस Normalization by Mike Hillyer.
- A शिक्षण on the first 3 normal forms by Fred Coulson
- Description of the डेटाबेस normalization basics by Microsoft
- Normalization in DBMS by Chaitanya (beginnersपुस्तक.com)
- A Step-by-Step Guide to डेटाबेस Normalization
- ETNF – Essential tuple normal form Archived March 6, 2016, at the Wayback Machine