Normalization क्या है और इसके प्रकार | Database Normalization in Hindi

Database Normalization, Database डिज़ाइन करते समय एक बहुत अहम कदम होता है Normalization, यह प्रक्रिया आपके डेटाबेस को सही ढंग से organize और structure करने में मदद करती है, ताकि डेटा न तो बार-बार दोहराया जाए और न ही असंगत (inconsistent) हो।

 

Normalization क्या है? (Database Normalization in Hindi)

Normalization (नॉर्मलाइज़ेशन) एक प्रक्रिया है जिसमें database के tables और columns को इस तरह व्यवस्थित किया जाता है कि

  1. डेटा बार-बार store न हो (redundancy कम हो)
  2. डेटा हमेशा सही और एक-जैसा रहे (integrity बनी रहे)
  3. Database की performance बेहतर बनी रहे

दूसरे शब्दों में – “Normalization वह तरीका है जिससे हम डेटा को छोटे-छोटे तार्किक भागों में बाँटते हैं, ताकि उसे manage और update करना आसान हो।”

Normalization का उद्देश्य 

Normalization का मुख्य उद्देश्य है –

  • डेटा को logically store करना
  • redundancy और inconsistency हटाना
  • update anomalies से बचना
  • storage को efficient बनाना
  • database maintenance को आसान बनाना

 

Normalization की प्रक्रिया (Process of Normalization)

Normalization आमतौर पर दो प्रमुख steps में पूरी की जाती है –

Redundant Data हटाना

यानी duplicate या बार-बार दोहराए गए data को eliminate करना।

Relevant Data को अलग रखना

हर table में केवल उसी विषय से संबंधित data रखा जाता है।

 

Normal Forms क्या होती है?

Normalization को कई stages या “Normal Forms” में बाँटा गया है।
हर level पिछले level से ज़्यादा structured और refined होता है।

E.F. Codd (डेटाबेस के जनक) ने Normal Forms का सिद्धांत प्रस्तुत किया था।

आइए इन्हें एक-एक करके समझते है –

First Normal Form (1NF)

उद्देश्य:
टेबल के सभी कॉलम्स में केवल atomic (indivisible) values हों।

शर्तें:

  • प्रत्येक कॉलम में केवल एक ही value होनी चाहिए।
  • कोई repeating group या multiple values नहीं होनी चाहिए।

उदाहरण:

Roll_NoNameSubjects
1MaheshMath, Science
2RiyaEnglish

ऊपर दिया गया table 1NF में नहीं है, क्योंकि “Subjects” कॉलम में एक से ज़्यादा values हैं।
इसे सही करने के लिए –

Roll_NoNameSubject
1MaheshMath
1MaheshScience
2RiyaEnglish

अब यह table 1NF में है।

Second Normal Form (2NF)

उद्देश्य:
Partial dependency को हटाना।

शर्तें:

  • Table पहले से 1NF में होना चाहिए।
  • हर non-key column पूरी तरह से primary key पर निर्भर होना चाहिए।

उदाहरण:

Roll_NoSubjectTeacher
1MathMr. X
1ScienceMr. Y

यह table 2NF में है क्योंकि सभी non-key attributes (Teacher) primary key (Roll_No + Subject) पर पूरी तरह निर्भर है।

Third Normal Form (3NF)

उद्देश्य:
Transitive dependency को हटाना।

शर्तें:

  • Table 2NF में होना चाहिए।
  • कोई non-key column किसी अन्य non-key column पर निर्भर नहीं होना चाहिए।

उदाहरण:

Roll_NoSubjectTeacherDepartment
1MathMr. XScience

यहाँ Department “Teacher” पर निर्भर है, जबकि Teacher खुद Subject पर निर्भर है, यह transitive dependency है।

इसे ठीक करने के लिए दो अलग tables बनाएं –

  • Subject_Teacher
  • Subject_Department

अब डेटा साफ और dependency-free है।

Fourth Normal Form (4NF)

उद्देश्य:
Multivalued dependency को खत्म करना।

शर्तें:

  • Table पहले से 3NF में होना चाहिए।
  • Table में कोई multivalued dependency नहीं होनी चाहिए।

उदाहरण:

StudentCourseHobby
MaheshMathCricket
MaheshScienceFootball

यहाँ Student के पास दो अलग-अलग multivalued attributes हैं — Course और Hobby।

इसे सही करने के लिए दो अलग tables बनाते है –

Course Table

StudentCourse
MaheshMath
MaheshScience

Hobby Table

StudentHobby
RajCricket
RajFootball

अब multivalued dependency खत्म हो गई है।

Fifth Normal Form (5NF)

(जिसे Project-Join Normal Form या PJNF भी कहा जाता है)

उद्देश्य:
Complex dependencies को handle करना और redundancy को पूरी तरह खत्म करना।

शर्तें:

  • Table 4NF में होना चाहिए।
  • Table को छोटे-छोटे हिस्सों में तोड़ने के बाद भी जब join किया जाए तो data loss न हो (Lossless join)।
  • Join Dependency को satisfy करना चाहिए।

उदाहरण:

EmployeeProjectSkill
MaheshProject AJava
MaheshProject APython
MaheshProject BJava
MaheshProject BPython

यहाँ डेटा बार-बार repeat हो रहा है।
इसे 5NF में बदलने के लिए table को तीन भागों में तोड़ दे –

1. Employee-Project Table

EmployeeProject
MaheshProject A
MaheshProject B

2. Employee-Skill Table

EmployeeSkill
MaheshJava
MaheshPython

3. Project-Skill Table

ProjectSkill
Project AJava
Project APython
Project BJava
Project BPython

अब join करने पर वही data मिलेगा लेकिन redundancy खत्म हो गई।

 

Normalization के फायदे

  • Data redundancy हटाता है।
  • Update anomalies से बचाता है।
  • Database integrity बनाए रखता है।
  • Storage space बचाता है।
  • Query performance को बेहतर करता है।
  • Maintenance आसान बनाता है।

 

इन्हें भी पढ़े –

  1. DBMS क्या है DBMS के प्रकार और कार्य की पूरी जानकारी | DBMS In Hindi
  2. डेटाबेस यूजर्स क्या है?
  3. डेटा इंडिपेंडेंस क्या है
  4. DBMS के लाभ
  5. Characteristics Of DBMS In Hindi
  6. डेटा मॉडल क्या है?
  7. डेटाबेस स्कीमा क्या है
  8. इंस्टैंस क्या है
  9. डेटाबेस इंटरफ़ेस क्या है
  10. डेटाबेस लैंग्वेज क्या है
  11. Classification of DBMS in Hindi
  12. Entity Set in DBMS
  13. DBMS Architecture in Hindi
  14. Types of Data Models in Hindi
  15. Attributes in DBMS in Hindi
  16. Entity Set in DBMS (Hindi)
  17. Entity Types in DBMS (Hindi)
  18. Types of Attributes in DBMS
  19. ER Model in DBMS (E-R मॉडल) क्या है?
  20. Entities के बीच संबंध
  21. Domain in DBMS
  22. Tuples in DBMS
  23. SQL में Joins क्या हैं?
  24. Primary Key in DBMS
  25. DBMS Keys in Hindi
  26. DBMS Data Integrity in Hindi
  27. Relational Algebra in DBMS
  28. Normalization in DBMS क्या है?
  29. BCNF (Boyce-Codd Normal Form) in DBMS
  30. Functional Dependency in DBMS
  31. Non-Loss Decomposition in DBMS
  32. SQL Data Types in Hindi
  33. Create Table in SQL in Hindi
  34. SQL DROP TABLE और ALTER TABLE in Hindi
  35. SQL Indexes in Hindi
  36. SDLC in Hindi
  37. DBLC in Hindi
  38. SQL Views in Hindi
  39. PL/SQL PROCEDURES in hindi

 

निष्कर्ष (Conclusion)

Normalization database designing का सबसे जरूरी concept है।
यह सुनिश्चित करता है कि आपका डेटा न केवल साफ और consistent रहे बल्कि maintain और update करना भी आसान हो।

Leave a Comment