What Is Normalization In Dbms In Hindi?

हेलो दोस्तों आज के इस ब्लॉग पोस्ट(What Is Normalization In Dbms In Hindi) में हम आपको Normalization के बारे में हिंदी में जानकारी देने वाले है |

Normalization एक ऐसी process होती है जिसमे हम किसी भी एक टेबल डाटा को डेटाबेस के हिसाब से simple और unique बनाने की कोशिश करते है जिससे कि हम डेटाबेस से आसानी से डाटा को retrieve और store कर पाएं|What Is Normalization In Dbms In Hindi|

Normalization के first step में हम multi -valued attribute को remove करते है | इसका मतलब यह है कि हम किसी भी एक particular कॉलम में एक से ज्यादा वैल्यू या इनफार्मेशन को स्टोर नहीं करेंगे|What Is Normalization In Dbms In Hindi|

जैसे कि example के लिए आप एक कॉलम में किसी भी एक स्टूडेंट के दो मोबाइल नंबर नहीं रख सकते है |What Is Normalization In Dbms In Hindi|

तो दोस्तों यहाँ पर हम यह समझ सकते है कि Normalization एक ऐसी प्रोसेस है जो कि एक complex database को सिंपल सिंपल डाटा टेबल में डिवाइड करती है|

Normalization जो है वो डाटा Redundancy को दूर करता है और Functional dependencies को दूर करता है और हम आराम से डेटाबेस में डाटा को स्टोर और retrieve कर पातें है |

Redundancy in Normalization :

किसी भी डाटा टेबल में एक ही रिकॉर्ड की एक से ज्यादा बार presense को को हम डाटा Redundancy बोलते है | जैसे कि example के लिए अगर कोई employee के पास दो फ़ोन नंबर है…

… तब हम यहाँ पर इस employee के दोनों फ़ोन नंबर स्टोर करते है तो फिर हमें यहाँ पर इस employee के दो रिकार्ड्स अथवा दो rows maintain करनी पड़ेगी| और इसी scenario को हम data Redundancy बोलते है |

Functional dependencies in Normalization :

जब किसी एक डाटा टेबल में एक attribute को कोई दूसरा एट्रिब्यूट identify करता है तब यहाँ पर Functional dependency exist करती है और हम यहाँ पर यह कह सकते है कि एक attribute दूसरे attribute पर functionally dependent है |

normalization types
Types of Normalization: What Is Normalization In Dbms In Hindi

और इस Normalization को अचीव करने के लिए कई सारे normal form define किये गए है | यह normal form 1NF , 2NF , 3NF , etc ‘codd’ द्वारा डिफाइन किये गए है जैसा कि आप ऊपर दिए गए चित्र में देख सकते है | कुछ 1NF relations जो है वो 2NF में है और कुछ 2NF रिलेशन जो है वो 3NF है|

तो अगर हम कोड definition की मोटिवेशन को देखे तो जो 2NF है वो 1NF रिलेशन से ज्यादा desirable होता है और इसी तरह जो 3NF होता है वो 2NF रिलेशन से ज्यादा desirable होता है |

इसलिए जो डेटाबेस डिज़ाइनर होते है उनका जो aim होना चाहिए वो यह होना चाहिए कि रिलेशन 3NF में हो | न कि ऐसा हो कि अगर रिलेशन 1NF में अथवा 2NF में हो तो भी काम चल जाये|

लेकिन कोड की जो original 3NF definition थी वो कई सारी problem face कर रही थी या फिर अपर्याप्त थी | इसलिए 3NF को और भी स्ट्रांग करने के लिए Boyce और codd ने मिलकर Boyce -codd normal फॉर्म को propose किया |

जितने भी यह नार्मल फॉर्म है वो सब फंक्शनल डिपेंडेंसी बेस्ड है जो कि ऐट्रिब्यूट्स के बीच में होती है | इसके बाद fagin ने 4NF और 5NF को भी डिफाइन किया जो कि multi -value dependencies और join dependencies पर based है | 5NF को हम projection join normal के नाम से भी जानते है |

तो हम अभी तक पढ़ी जानकारी के आधार पर यह कह सकते है कि Normalization जो है वो एक ऐसे process है जिसमे हम एक डाटाबेस स्कीमा को फंक्शनल dependencies और primary key के बेस पर एनालाइज करते है और डेटाबेस में मौजूद Redundancy को कम करते है और Insertion , Deletion , और Update anamalies को कम करते है |

Need for Normalization:

Normalization जो है वो एक रिलेशन को एक स्टैण्डर्ड फॉर्म में कन्वर्ट करने का प्रोसेस है |

जैसे कि example के लिए हमारे पास एक supplier के कुछ attributes है जैसे कि नाम, एड्रेस, आइटम और प्राइस|

Suppliers(Name, Address, Item, Price)

अब हम इस रिलेशन में क्या क्या प्रॉब्लम को फेस कर सकते है इसे आप नीचे देख सकते है :

Redundancy :

यहाँ पर हर एक आइटम के लिए सप्लायर का एड्रेस रिपीट हो रहा है | इसलिए यहाँ पर एक ही इनफार्मेशन का बार बार रेपीटशन हो रहा है |

Update anomalies :

जैसे कि हमने ऊपर देखा की हमारी टेबल में Redundancy के कारण same इनफार्मेशन कई बार स्टोर हो जाती है इसलिए अपडेट के समय कभी कभी कुछ rows में डाटा अपडेट जो जाता है पर कुछ row का डाटा अपडेट नहीं हो पता है और इस वजह से डेटाबेस में inconsistency आ जाती है |

जैसे कि ऊपर दिए गए example में अगर हम supplier का एड्रेस एक tuple में अपडेट कर देते है और बाकि में इसे unchanged छोड़ देते है तब ऐसे केस में प्रत्येक supplier का address यूनिक नहीं होगा|

Insertion anomalies :

Insertion anomalies में यह होता है कि हम किसी भी relation में एक tuple को तब तक insert नहीं कर सकते है जब तक वह रिलेशन में कोई भी एट्रिब्यूट न रखे| और अगर हम रखना भी चाहे तो हम null वैल्यू दाल कर यह Insertion कर सकते है |

पर जब हम इसकी actual वैल्यू अथवा tuple Update करें तब हमें यह null value वाला tuple ध्यान से डिलीट करना पड़ेगा|

Deletion anomalies :

Deletion anomalies में यह होता है की अगर हम किसी एक tuple attribute को डिलीट करते है तो फिर हम उससे रिलेटेड कुछ और इनफार्मेशन को भी loose कर सकते है|

जैसे कि ऊपर दिए गए example में अगर हम किसी supplier द्वारा सप्लाई किये जाने वाले सारे item को डिलीट करें तो हम इस supplier के एड्रेस को भी loose कर देंगे|

इसलिए इस प्रॉब्लम को दूर करने के लिए हम इस सप्लायर रिलेशन को और normalize करते है, जैसे कि आप नीचे देख सकते है |

SA (name, address)
SIP(name, Item, price)

तो ऊपर दिए गए नए relation में हम इन प्रोब्लेम्स को solve कर लेते है | पहला तो यह की अब हम address को loose नहीं करेंगे | और दूसरा यह कि अब अगर कोई supplier अभी करंट में कोई भी item supply न करता हो फिर भी हम उसका name और address enter कर सकते है |

Normalization से रिलेटेड blogs इंग्लिश में पढ़ने के लिए नीचे दी गयी blog links पर क्लिक करें:

What is 1NF in DBMS?

What is 2NF in DBMS?

What is 3NF in DBMS?

What is BCNF in DBMS?

Conclusion:

तो दोस्तों Normalization एक ऐसी process होती है जिससे हम complex डेटाबेस स्कीमा को सिंपल बनाते है | और Normalization के बाद टेबल डाटा यूनिक और एक्यूरेट हो जाता है और उसमे Functional dependencies भी बहुत कम होती है जो कि सिर्फ primary keys और foreign keys पर होती है | Normalization जो है वो Insertion , Deletion , और Update anomalies को भी खत्म कर देता है |What Is Normalization In Dbms In Hindi|

इस ब्लॉग(What Is Normalization In Dbms In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते [email protected]पर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस पोस्ट(What Is Normalization In Dbms In Hindi) को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|

आपका समय शुभ हो|

Anurag

I am a blogger by passion, a software engineer by profession, a singer by consideration and rest of things that I do is for my destination.