What is Normalization in Hindi

Normalization क्या होता है? (What is Normalization)

Normalization एक database design तकनीक है जो data redundancy को कम करती है और Insertion, Update और Deletion Anomalies जैसी अवांछनीय विशेषताओं को समाप्त करती है। Normalization नियम बड़े tables को छोटी tables में विभाजित करते हैं और उन्हें relationships का उपयोग करके link करते हैं। SQL में Normalization का उद्देश्य अनावश्यक (दोहरावदार) data को समाप्त करना और यह सुनिश्चित करना है कि data तार्किक रूप से (logically) संग्रहीत है।

Relational model के आविष्कारक Edgar Codd ने पहले Normal Form की शुरुआत के साथ data के Normalization के सिद्धांत का प्रस्ताव रखा, और उन्होंने दूसरे और तीसरे Normal Form के साथ theory का विस्तार जारी रखा। बाद में उन्होंने Boyce-Codd Normal Form के सिद्धांत को विकसित करने के लिए Raymond F. Boyce को शामिल किया।

Database Normal Forms

यहाँ Normal Form के प्रकारों के बारे में बताया गया है:-

  • 1NF (First Normal Form)
  • 2NF (Second Normal Form)
  • 3NF (Third Normal Form)
  • BCNF (Boyce-Codd Normal Form)
  • 4NF (Fourth Normal Form)
  • 5NF (Fifth Normal Form)
  • 6NF (Sixth Normal Form)

SQL server में Data Normalization का सिद्धांत अभी भी आगे विकसित किया जा रहा है। उदाहरण के लिए, 6NF पर भी चर्चा होती है। हालाँकि, अधिकांश व्यावहारिक अनुप्रयोगों (practical applications) में, normalization 3rd Normal Form में अपना सर्वश्रेष्ठ परीणाम प्राप्त करता है। SQL Normalization सिद्धांतों का विकास नीचे दिया गया है-

Database Normalization उदाहरण के साथ

Database Normalization के उदाहरण को case study की सहायता से आसानी से समझा जा सकता है। मान लें, एक वीडियो लाइब्रेरी किराए पर ली गई फिल्मों का एक Database रखती है। Database में Normalization के बिना, सभी जानकारी एक table में संग्रहीत की जाती है जैसा कि नीचे दिखाया गया है। आइए उदाहरण के साथ database में Normalization को समझते हैं:

Database Normalization example

यहां आप देखते हैं कि Movies Rented column में कई वैल्यूज हैं। अब 1st Normal Forms में चलते हैं:

1NF (1st Normal Forms) के नियम

  • प्रत्येक table cell में एक single value होना चाहिए।
  • प्रत्येक record को unique होना चाहिए।

1NF में उपरोक्त table-

first normal form

आगे बढ़ने से पहले आइए कुछ बातों को समझते हैं –

KEY क्या होती है? (What is Key)

– KEY एक value है जिसका उपयोग किसी table में विशिष्ट रूप से record की पहचान करने के लिए किया जाता है। एक KEY एक column या कई columns का संयोजन हो सकता है|
नोट: एक table में column जिनका उपयोग record की पहचान करने के लिए नहीं किया जाता है उन्हें non-key columns कहा जाता है।

Primary Key क्या है? (What is Primary Key)

Primary एक single column value है जिसका उपयोग किसी database record को विशिष्ट रूप से पहचानने के लिए किया जाता है।

इसकी निम्नलिखित विशेषताएं हैं

  • Primary key NULL नहीं हो सकती|
  • Primary key value unique होना चाहिए|
  • नया record डालने पर primary key को एक value दिया जाना चाहिए।

Composite Key क्या है?

एक Composite Key एक primary key है जिसका उपयोग किसी record को विशिष्ट रूप से पहचानने के लिए किया जाता है| हमारे database में, हमारे पास Robert Phil के समान नाम वाले दो लोग हैं, लेकिन वे अलग-अलग जगहों पर रहते हैं।

example of composite key

इसलिए, हमें record की पहचान करने के लिए Full Name और Address दोनों की आवश्यकता होती है। वह एक composite key है।

चलिए Second Normal form 2NF के बारे में जानते है:-

2NF (Second Normal Form) के नियम

  • 1NF में हो|
  • Single Column Primary Key

यह स्पष्ट है कि हम अपने सामान्य database को 2nd Normalization form में बनाने के लिए आगे नहीं बढ़ सकते हैं जब तक कि हम ऊपर दी गई table का विभाजन न करें।

हमने अपनी 1NF table को दो table में विभाजित किया है। table 1 और table 2। table 1 में member information है। table 2 में किराए पर ली गई फिल्मों की जानकारी है। हमने एक नया column शुरू किया है जिसका नाम Membership_id है जो table 1 की primary key है। membership id का उपयोग करके records को विशिष्ट रूप से table 1 में पहचाना जा सकता है।

Database – Foreign Key

Table 2 में, Membership_ID Foreign Key है|

foreign key

  • Foreign key एक अन्य table की primary key को reference करती है! यह आपके Tables को जोड़ने में मदद करती है|
  • एक foreign key का नाम primary key के नाम से अलग हो सकता है|
  • primary key के विपरीत, foreign key को unique होने की आवश्यकता नहीं है। foreign key null हो सकती हैं, जवकि primary key null नहीं हो सकती|

foreign key and primary key example

आपको foreign key की आवश्यकता क्यों है?

मान लीजिए, एक नौसिखिया कुछ इस तरह के रूप में Table B में एक record insert करता है

table without reference key

आप केवल उन foreign key में value insert करने में सक्षम होंगे जो parent table की unique key में मौजूद हैं। यह referential integrity में मदद करता है। table 1 से membership id की foreign key के रूप में table 2 से membership id को declare करके उपरोक्त समस्या को दूर किया जा सकता है| अब, यदि कोई membership id field में value insert करने का प्रयास करता है जो parent table में मौजूद नहीं है, तो error आएगी|

Transitive functional dependencies क्या हैं?

एक non-key column को परिवर्तित करते समय यदि transitive functional dependency होती है तो कोई अन्य non-key column बदल सकता है| यदि हम Table1 पर विचार करें। जिसमे non-key column को बदलने से पूर्ण नाम(Full Name) में परिवर्तन हो सकता है।

यदि हम Table1 पर विचार करें। जिसमे non-key column को बदलने से पूर्ण नाम(Full Name) में परिवर्तन हो सकता है।

Transitive functional dependencies

3NF (Third Normal Form) के नियम

  • Table 2NF में हो
  • कोई transitive functional dependencies नहीं होनी चाहिए|

अपनी 2NF Table को 3NF में ले जाने के लिए, हमें फिर से अपनी Table को विभाजित करने की आवश्यकता होती है।

3NF का उदाहरण

नीचे SQL database में एक 3NF का उदाहरण है:

हमने फिर से अपनी table को विभाजित किया है और एक नई table बनाई है जो Salutations को store करती है। यहाँ कोई transitive functional dependencies नहीं हैं, और इसलिए हमारी तालिका 3NF में है| Table 3 में Salutation ID primary key है, और Table 1 में Salutation ID Table 3 की primary key के लिए foreign है|

अब हमारा उदाहरण एक ऐसे स्तर पर है जिसे normalization के उच्चतर रूपों को प्राप्त करने के लिए और अधिक विघटित (decomposed) नहीं किया जा सकता है। वास्तव में, यह पहले से ही higher normalization forms में है। complex databases में data को normalize करने के लिए अगले स्तरों में जाने की आवश्यकता होती है। हालाँकि, हम normalizations के अगले स्तरों पर चर्चा करेंगे।

BCNF (Boyce-Codd Normal Form)

जब कोई databases 3rd Normal Form में होता है, और यदि उसमे एक से अधिक Candidate Key होती हैं, तब उसमे अभी भी anomalies हो सकती है| कभी-कभी BCNF को 3.5 Normal Form भी कहा जाता है।

4NF (Fourth Normal Form) के नियम

यदि किसी database table के instance में संबंधित entity का वर्णन करने वाले दो या दो से अधिक, स्वतंत्र और बहुविकल्पीय(independent and multivalued) data शामिल नहीं हैं, तो यह 4 Normal Form में है।

5NF (Fifth Normal Form) के नियम

एक table 5th Normal Form में होगी, यदि यह 4NF में है और इसे data की हानि के बिना किसी भी छोटी table विघटित(decomposed) नहीं किया जा सकता।

6NF (Sixth Normal Form) प्रस्तावित

6th Normal Form मानकीकृत(standardized) नहीं है, फिर भी, database विशेषज्ञों द्वारा कुछ समय के लिए इस पर चर्चा की जा रही है। उम्मीद है, निकट भविष्य में 6th Normal Form के लिए एक स्पष्ट और मानकीकृत परिभाषा होगी|

Summary

  • Database designing एक database management system के सफल कार्यान्वयन के लिए महत्वपूर्ण है जो enterprise system की data आवश्यकताओं (requirements) को पूरा करता है।
  • DBMS में Normalization Process Database system का उत्पादन करने में मदद करती है जो लागत प्रभावी(cost-effective) हैं और बेहतर सुरक्षा मॉडल (better security models) हैं।
  • Functional dependencies normalize data process का एक बहुत महत्वपूर्ण घटक है|
  • primary key किसी table के record को uniquely identify करती है और यह कभी null नहीं हो सकती|
  • Foreign key tables को जोड़ने में मदद करती है और primary key को संदर्भित करती है|
error: Content is protected !!