Normalization in DBMS क्या है? Types & Example – आसान भाषा में समझें
Database Management System (DBMS) में Normalization एक ऐसी प्रक्रिया (process) है जिसमें database को organize और structured किया जाता है। इसका main purpose है –
- Data redundancy (एक ही data बार-बार store होना) को कम करना
- Data integrity (डेटा का सही और consistent रहना) को maintain करना
- Database की performance को improve करना
दूसरे शब्दों में, Normalization का मतलब है tables और columns को इस तरह से design करना कि data efficient तरीके से store हो और unnecessary duplication न हो
Normalization क्यों जरूरी है? – Normalization in DBMS
- Unwanted duplicate data हटाने के लिए
- Database को ज्यादा reliable और secure बनाने के लिए
- Update, Insert और Delete anomalies (समस्या) से बचने के लिए
- Storage space बचाने के लिए
- Data consistency (समानता) बनाए रखने के लिए
Normalization Process कैसे होती है?
Normalization normally दो steps में होती है:
- Redundant data हटाना
- सिर्फ relevant data को सही table में रखना
Types of Normal Forms in DBMS
Normalization को अलग-अलग levels में किया जाता है जिसे Normal Forms कहते हैं। E.F. Codd (DBMS के father) ने इनको define किया था।
First Normal Form (1NF)
- हर column की value atomic (indivisible) होनी चाहिए
- किसी attribute (column) में multiple values नहीं होनी चाहिए
Example (गलत – Not in 1NF):
Roll_No | Name | Subjects |
---|---|---|
1 | Raj | Math, Science |
2 | Priya | English |
यहाँ “Subjects” में multiple values हैं।
Correct (1NF में):
Roll_No | Name | Subject |
---|---|---|
1 | Raj | Math |
1 | Raj | Science |
2 | Priya | English |
Second Normal Form (2NF)
- Table पहले 1NF में होना चाहिए
- Non-key attributes पूरी तरह से primary key पर dependent होने चाहिए (no partial dependency)
Example (2NF में सही):
Roll_No | Subject | Teacher |
---|---|---|
1 | Math | Mr. A |
1 | Science | Mr. B |
Third Normal Form (3NF)
- Table पहले 2NF में हो
- कोई transitive dependency नहीं होनी चाहिए (यानि एक non-key attribute दूसरे non-key attribute पर dependent न हो)
गलत Example (Not in 3NF):
Roll_No | Subject | Teacher | Department |
---|---|---|---|
1 | Math | Mr. A | Science |
यहाँ Subject → Teacher और Teacher → Department है यानी indirect dependency।
Solution (3NF):
- Subject-Teacher को अलग table
- Subject-Department को अलग table
Fourth Normal Form (4NF)
- Table पहले 3NF में होना चाहिए
- इसमें multi-valued dependency नहीं होनी चाहिए
गलत Example:
Student | Course | Hobby |
---|---|---|
Raj | Math | Cricket |
Raj | Science | Football |
यहाँ एक student के multiple courses और hobbies हैं → multi-valued dependency।
Correct (4NF):
Course Table:
Student | Course |
---|---|
Raj | Math |
Raj | Science |
Hobby Table:
Student | Hobby |
---|---|
Raj | Cricket |
Raj | Football |
Fifth Normal Form (5NF / PJNF – Project Join Normal Form)
- Table पहले 4NF में होना चाहिए
- Table को छोटे parts में इस तरह divide करें कि उन्हें lossless join से original table बनाया जा सके
- यह join dependency पर आधारित होता है
Example:
Employee | Project | Skill |
---|---|---|
Raj | Project A | Java |
Raj | Project A | Python |
Raj | Project B | Java |
Raj | Project B | Python |
यहाँ same data बार-बार repeat हो रहा है।
Solution (5NF):
- Employee – Project Table
- Employee – Skill Table
- Project – Skill Table
इनको join करने पर फिर से original table बन जाएगा, लेकिन data duplicate नहीं होगा।
BCNF (Boyce-Codd Normal Form)
यह 3NF का advanced version है। इसमें हर determinant (जो किसी attribute को uniquely identify करता है) एक candidate key होना चाहिए।
इन्हें भी पढ़े –
- DBMS क्या है DBMS के प्रकार और कार्य की पूरी जानकारी | DBMS In Hindi
- डेटाबेस यूजर्स क्या है?
- डेटा इंडिपेंडेंस क्या है
- DBMS के लाभ
- Characteristics Of DBMS In Hindi
- डेटा मॉडल क्या है?
- डेटाबेस स्कीमा क्या है
- इंस्टैंस क्या है
- डेटाबेस इंटरफ़ेस क्या है
- डेटाबेस लैंग्वेज क्या है
- Classification of DBMS in Hindi
- Entity Set in DBMS
- DBMS Architecture in Hindi
- Types of Data Models in Hindi
- Attributes in DBMS in Hindi
- Entity Set in DBMS (Hindi)
- Entity Types in DBMS (Hindi)
- Types of Attributes in DBMS
- ER Model in DBMS (E-R मॉडल) क्या है?
- Entities के बीच संबंध
- Domain in DBMS
- Tuples in DBMS
- SQL में Joins क्या हैं?
- Primary Key in DBMS
- DBMS Keys in Hindi
- DBMS Data Integrity in Hindi
- Relational Algebra in DBMS
निष्कर्ष (Conclusion)
Normalization एक जरूरी process है जो database को clean, reliable और efficient बनाती है। इससे ना केवल redundancy कम होती है बल्कि data integrity भी maintain रहती है।
अगर आप DBMS सीख रहे हैं तो Normalization के ये types step by step समझना आपके लिए बहुत जरूरी है।