DBMS में, Normalization एक प्रक्रिया है जिसका उपयोग Database को Organize और Structured करने के लिए किया जाता है। यह प्रक्रिया Redundancy को कम करती है और Data Integrity सुनिश्चित करती है।
दूसरे शब्दों में कहें तो, “Normalization एक प्रक्रिया है जिसमें हम database के tables और columns को इस तरह structure करते हैं कि: –
- Data redundancy कम हो (एक ही डेटा बार-बार store न हो)।
- Data integrity maintain रहे (डेटा accurate और consistent रहे)।
- Database की performance बेहतर हो।
Normalization का मुख्य उद्देश्य data को database में प्रभावी ढंग से स्टोर और मैनेज करना होता है।
सामान्यतया, Normalization दो step की process है जो निम्न है:-
पहला step:- पहले step में, यह रिलेशनल टेबल में से redundant data (वह डेटा जो एक से अधिक बार स्टोर हुआ हो) को हटाता है।
दूसरा step:- दूसरे step में, यह सुनिश्चित करता है कि table में केवल उससे सम्बंधित डेटा ही store हो।
Types of Normal Forms in DBMS in Hindi
DBMS में normal forms पाँच प्रकार के होते हैं। जिनको कि E.F CODD ने प्रस्तावित किया है।
1NF (First Normal Form)
1NF का उद्देश्य है कि data एक structured और टेबल के form में हो। इसमें:-
- सभी values atomic (indivisible) होनी चाहिए।
- एक attribute (column) में multiple values नहीं होनी चाहिए।
उदाहरण:
Roll_No | Name | Subjects |
1 | Raj | Math, Science |
2 | Priya | English |
ऊपर दी गई table 1NF में नहीं है क्योंकि “Subjects” column में multiple values हैं। इसे fix करने के लिए:
Roll_No | Name | Subject |
1 | Raj | Math |
1 | Raj | Science |
2 | Priya | English |
2NF (Second Normal Form)
2NF तभी प्राप्त होता है जब:-
- जब वह 1st normal form की सभी requirements (जरूरतों) को पूरी करता हों
- सभी non key attributes पूरी तरह से primary key पर निर्भर हों।
उदाहरण:
Roll_No | Subject | Teacher |
1 | Math | Mr. A |
1 | Science | Mr. B |
यह table 2NF में है क्योंकि इसमें कोई partial dependency नहीं है।
3NF (Third Normal Form)
3NF का उद्देश्य transitive dependency को हटाना है। कोई टेबल या रिलेशन तब 3rd normal form में होता है जब-
- जब वह 2nd normal form की सभी जरूरतों को पूरी करता हो।
- उनमें transitive functional dependency नही होनी चाहिए।
उदाहरण:
Roll_No | Subject | Teacher | Department |
1 | Math | Mr. A | Science |
यह टेबल transitive dependency का example है:
- “Subject” से “Department” indirect तरीके से “Teacher” के द्वारा dependent है।
इसे 3NF में लाने के लिए:
- Subject-Teacher mapping अलग table में हो।
- Subject-Department mapping अलग table में हो।
4NF (Fourth Normal Form)
4NF तब होता है जब:
- टेबल 3NF में हो।
- टेबल में multivalued dependency न हो।
उदाहरण:
Student | Course | Hobby |
Raj | Math | Cricket |
Raj | Science | Football |
यहाँ multi-valued dependency है। इसे अलग tables में divide करें:
Course Table:
Student | Course |
Raj | Math |
Raj | Science |
Hobby Table:
Student | Hobby |
Raj | Cricket |
Raj | Football |
5NF (Fifth Normal Form)
Fifth Normal Form (5NF), जिसे Project-Join Normal Form (PJNF) भी कहा जाता है, database normalization का सबसे highest level है। यह complex relationships को handle करता है और tables को और भी efficient बनाता है।
5NF तब satisfy (संतुष्ट) होता है जब:
- टेबल 4NF (Fourth Normal Form) में हो।
- Table को छोटे-छोटे tables में तब तक decompose (विभाजित) न किया जा सके जब तक कि lossless join की condition satisfy न हो जाए।
- Join Dependency का पालन करता हो।
Join Dependency क्या है?
Join Dependency का मतलब है कि अगर एक table को multiple sub-tables में decompose किया गया है, तो उन sub-tables को फिर से join करके original table प्राप्त किया जा सकता है।
5NF का Example (उदाहरण)
मान लीजिए हमारे पास एक company का database है, जिसमें हम तीन चीज़ों को track कर रहे हैं:
- Employees
- Projects
- Skills
और हमारे पास एक table है:
Employee | Project | Skill |
Raj | Project A | Java |
Raj | Project A | Python |
Raj | Project B | Java |
Raj | Project B | Python |
इस table का मतलब क्या है?
- Raj नाम का employee दो projects पर काम कर रहा है: Project A और Project B
- उसके पास दो skills हैं: Java और Python
और यह मानते हैं कि:
- Raj दोनों projects पर दोनों skills का use कर रहा है।
- सभी skills का इस्तेमाल सभी projects में होता है।
Problem क्या है?
ऊपर दिए गए table में same data बार-बार repeat हो रहा है।
यह टेबल redundant है और अगर मान लो future में skill या project में बदलाव होता है, तो हमें बहुत सारीं rows को edit करना पड़ेगा — जिससे inconsistency हो सकती है।
5NF में इसे कैसे Break करें?
अब हम इस table को तीन अलग-अलग tables में तोड़ते हैं:
1. Employee – Project Table
Employee | Project |
Raj | Project A |
Raj | Project B |
2. Employee – Skill Table
Employee | Skill |
Raj | Java |
Raj | Python |
3. Project – Skill Table
Project | Skill |
Project A | Java |
Project A | Python |
Project B | Java |
Project B | Python |
अब अगर हम इन तीनों tables को join करें, तो हमें फिर से वही original table मिल जाएगा — लेकिन अब कोई डेटा repeat नहीं है, और tables ज़्यादा organized (व्यवस्थित) हैं।
इसे भी पढ़ें:-
निवेदन:- आपको ये पोस्ट कैसी लगी आप हमें कमेंट के माध्यम से अवश्य बतायें। हमें आपके कमेंट्स का बेसब्री से इन्तजार रहता है। अगर आपके कोई सवाल या कोई topics है तो हमें बतायें हम उसको एक या दो दिन के अंदर यहाँ प्रकाशित करेंगे और हाँ पोस्ट शेयर जरूर करें।
sir DBLC kya hota hai,kya DDLC ko he DBLC Khate hai.. because kahe par bhe mane eska name nahi suna hai
…please reply
Document Development Life Cycle (DDLC ) कहलाता है। यह dblc से पूरी तरह से अलग है। DDLC एक डॉक्यूमेंट की design, develop, edit, publish और maintain करने की प्रक्रिया है। किसकी निम्न stages होती है:-
1. Understand Requirements
2. Design
3. Develop
4. Review
5. Finalize
6. Publish
DBLC के लिए निम्न link पर click करें।
https://allpoly.wordpress.com/2015/09/16/dblc-in-hindi/
Plzzz tell me what is normalization
Transitive means full dependent it means partial dependency nhi hone chaiye …
I want to talk to you
Sir ji composite key or super key may difference nahi samaj aa rahe hai..kya ape mare kuch help kar sakte hai…
Mayur, composite key और super key दोनों एक दूसरे से similar होती है। दोनों keys ही database table में एक row को uniquely identify करने के लिए प्रयोग में लायी जाती है।
Super key एक या एक से अधिक columns का set होता है जो कि table में record को uniquely identify करता है। जबकि composite key एक से अधिक columns का combination होता है।
जब super key एक से अधिक columns को contain करती है तो वह composite key बन जाती है।
Sir, non key attributes kya hota h ex. Ke plzzz btayein.
Thnx
Non key attribute wah hota h.jisme kisi attribute ko kisi key se define nahi karte..:-)
Sir I am a student of bscit. So pls help me to understand the important topics.
Pichle year ke papers me se dekh lo jo imp h….
Transitive function dependency kya hota h sir??
Maan lo 3 bhai jhaha unka naam ram shyam Rohan hai yha
Ram depend hai shyam pr
Shyam depend hai Rohan pr
Aar Rohan depend hai ram pr
Isi ko transitive depend kehte h
Nice bahut hi acha par example nahi diye
Sir dbms ka exam h kuch short m importent question bta dijiye
Thanks for this, i am understand So
Very very thanks.
Thanks Its nice
Thanks Its nice keep it up
Good job, but Without explamples??
Thanks for your comment sajid…keep visiting
Very useful material for beginners in mother tongue language so beginners can easily thank you thank you sir 4 provide material
You are welcome noor islam…I am
Happy that you like this website
plz database mapping ko bhi bata do jaldi se
The best sight i love it…
good morning sir
computer graphics k topics share kijiye sir
What outer join
Normal forms me example hote to or better rhta.
बोहत अच्छा लगा sir मैं आप और आप की टीम से उम्मीद करता हूँ इसी तरह सारे स्टूडेंट की मदद करें thanks sir
Wow sir very nice
Example hote to or achhe se samj mai aata
generalization,specialization and aggregation me difference mil sakte h kya sir plz btaiye
something is missing•••
Nice description
Ex chahiye aur acha smjne k liye
4th & 5th NF & BCNF bhi btao
Multivalued dependency , join dependency
Denormaization kya hota h in hindi plz explain
Dos command… Internal command and external command
This is site is very important and helping me
System Analysis and Design का notes नहीं है?