In this Post you know the Database Normalization in Hindi and also know about the database normalization and types of normal forms.
Database Normalization in Hindi
Database Normalization को सर्वप्रथम सन 1972 में Edgar F. Codd द्वारा प्रतिपादित किया गया था । Normalization, एक ऐसी प्रक्रिया है जिसमे दिए गए relational database/schema से data redundancy एवम anomalies को दुर करने के लिए functional dependency के concept के आधार पर छोटे-छोटे relations में बाटा गया है ।
आसान शब्दो में, Normalization database में data को organise करने की एक प्रक्रिया है । Normalization की प्रक्रिया में निम्न स्टेप्स होते हैं-
Step-1) E-R model को विभिन्न tables/relations में convert किया जाता है ।
Step-2) Convert किए गए tables के लिए check करना होता है । इसके पश्चात इस non-redundant model को database definition में convert किया जाता है , जो database के design phase के उदेश्य की पूर्ति करता हैं ।
अत: एक table/relation को तभी normalize हुआ माना जा सकता ह, जब उसका प्रत्येक element एक ही बार पर अपस्थित होता है और निश्चित अर्थ रखता है ।
Types of Normal Forms
Codd ने सन 1972 में तीन Normal Forms को introduce किया, जो First Normal Form-1NF, Second Normal Form-2NF, Third Normal Form-3NF नाम से जाने जाते हैं ।
Boyce और Codd ने सन्युक्त रुप से एक अन्य Form को introduce किया, जिसे Boyce Codd Normal Form-BCNF के नाम से जानते हैं । 1NF, 2NF, 3NF एवम BCNF Functional Dependency पर आधारित हैं । इसके पश्चात Forth Normal Form-4NF एवम Fifth Normal Form-5NF को introduce किया गया, जो Multivalue एवम Join dependency पर आधारित हैं ।
1. First Normal Form-1NF
एक table/relation 1NF में होता है, यदि-
- उसमे कोई भी duplicate row नही होती है ।
- उसमे प्रत्येक data value, single valued होती है ।
- प्रत्येक column/field की data-values एक ही type के होते हैं ।
दूसरे शब्दो में , जब किसी table/relation में कोई भी repeating group नही होता है तो वह 1NF होता है ।
उदाहरण के लिए, STUDENT(RegNo, Name, Address,CourseNo) एवम COURSE(CourseNo, CurseName,Teacher) नाम के दो table हैं, जिनमे RegNo, STUDENT, table कि primary key है और CourseNo दोनो में common key है , जिस पर दोनो table को relate किया जा सकता है । इन दोनो tables को unnormalized form में निम्ननानुसार एक ही table में represent किया जा सकता है-
STUDENT(RegNo, Name, Address, CourseNo, CourseName, Teacher)
2. Second Normal Form-2NF
Second Normal Form-2NF, full functional Dependency के concept पर आधारित है । कोई भी table,R,2NF में तभी होती है, जब वह 1NF में होती है और साथ ही उसके Non-Prime attribute, A,R की primary key पर पूर्णत: Fully functionally dependent होते हैं ।
सरल शब्दो में यह कहा जा सकता है कि एक table, 2NF में होती हैं, यदि वह 1NF में होती है और उसके सभी Non-key Attributes, उसकी प्रत्येक candidate key पर fully dependent होता हैं ।
3. Third Normal Form-3NF
किसी भी relation, R, 3NF में होती है यदि वह 2NF में होती है, और उस relation, R का कोई भी Non-Prime Attribute, primary key पर Transitively Dependent नही होता है । 3NF, Transitively Dependency के concept पर आधारित है ।
Boyce-Codd Normal Form-BCNF
वह प्रत्येक relation, जो BCNF में होता है वह 3NF में भी होता है , परंतु वह relation, जो 3NF में होता है वह BCNF में नही भी हो सकता है । 3NF एवम BCNF में अंतर यह है कि functional dependency, A->B की 3NF अनुमति प्रदान करती है । जबकि BCNF की स्थिति में A अनिवार्य रुप से एक candidate key होना चाहिए, क्योकि BCNF किसी relation में इस dependency का समर्थन नही करता है ।
4. Forth Normal Form-4NF
यदि कोई relation BCNF में होता है और उसमे कोई भी Non Trival Multivalued Dependency मौजूद नही होती है, तो वह 4NF में होता है । 4NF सीधा-सीधा BCNF को Generalization होता है ।
यदि कोई relation, BCNF में होता है और उसकी कम-से-कम एक key किसी single attribute से निर्मित होती है तो वह relation, 4NF में भी होता है ।
5. Fifth Normal Form-5NF
यदि कोई relation schema 3NF में होती हैं एवम उसकी प्रत्येक key एक single attribute से निर्मित होती है तो वह relation भी 5NF में होती हैं ।
5NF का मूल सिधांत उस स्थिति पर आधारित है, जब एक table सभी key attributes और multi valued attributes रखती है । 5NF, 4NF का ही विस्तारित रुप है, परंतु 5NF में Join Dependency पर भी विचार किया जाता है ।
Final Word
Friends आज आपने इस post में पढा कि Database Normalization in Hindi, तो दोस्तो मुझे उम्मिद है कि इस post को पढने के बाद आपके सारे सवालो के जवाब मिल गयेे होगे । और आप ये अच्छे सेे समझ गये होंगे कि Database Normalization क्या होता है?
हमारी ये पुरी कोशिश रहती है कि इस post को पढने के बाद आपके सारे doubts clear हो गये होंगे । फिर भी अगर आपकि कोई query या suggestion है तो हमे comment box में जरुर बताये । साथ ही आप हमसे social media के through भी जुड सकते है ।
Friends मुझे ये पुरी उम्मिद है कि आपको ये post जरुर पसंद आयी होगी । अगर पसंद आयी है तो इसे अपने दोस्तो के साथ share करना ना भुले । ताकि उन्हे भी ये जानकारी मिले । तथा इसे subscribe जरुर कर ले ताकि आप तक हमारे latest notifications मिलती रहे ।
STAY HEALTHY
STAY POSITIVE!