Second Normal Form In DBMS In Hindi?

हेलो दोस्तों आज के इस ब्लॉग पोस्ट(Second Normal Form In DBMS In Hindi) में मैं आपको Second normal form के बारे में बताने जा रहा हूँ | कोई भी रिलेशन अथवा टेबल Second normal form में तब होती है जब उस relation के सभी Non -prime attributes primary key पर dependent हो |

Non prime attributes वो ऐट्रिब्यूट्स होते है जो कि प्राइमरी नहीं होते| मतलब कि एक रिलेशन में एक प्राइमरी key को छोड़ कर सभी Non -primary attributes होते है |Second Normal Form In DBMS In Hindi

और अगर कोई भी रिलेशन 2NF में है तो वो autimatically 1NF में होगा|Second Normal Form In DBMS In Hindi|

चलिए अब हम देखते है कि किसी रिलेशन को 1NF से Second normal form में कैसे कन्वर्ट किया जाता है ?|Second Normal Form In DBMS In Hindi?

यहाँ पर सबसे पहले आपको रिलेशन में वो सारे attributes को ढूंढ़ना होगा जो कि primary key बनाये जा सकते है |Second Normal Form In DBMS In Hindi|

और अब आपको सभी तरह के पॉसिबल सबसेट बनाने होते है उन ऐट्रिब्यूट्स से जो हमने पहले स्टेप में find out किये है |

अब इसके बाद subset में जितनी भी प्राइमरी key हमें मिलती है उन सभी के लिए एक different relation बनाना है उन attributes के लिए जो इन पर functionally depend करतें है |

चलिए, अगर आपको अभी पिक्चर थोड़ी क्लियर नहीं हुई है तो फिर आप चिंता मत करिये मैं आपको नीचे एक example की सहायता से सभी कुछ अच्छे से explain करने कि कोशिश करता हूँ |

यहाँ पर हम एक मार्केटिंग डिपार्टमेंट के रिलेशन एक्साम्प्ले से आपको समझएंगे कि कैसे हम Second नॉरमल form में किसी भी रिलेशन को कन्वर्ट करते है | यहाँ पर हम sale नाम की एक टेबल का एक्साम्प्ले लेते है जिसे आप नीचे देख सकते है |

Table: Relation Sale

S#StatusCityP#PnameColorQty.
S110ParisP1BulbPink300
S110ParisP2TubesYellow100
S220LondonP3FanGreen500
S330ItalyP4CoolerBlack200
S330ItalyP1BulbPink450
S440IndiaP5LampWhite400
S510ParisP2TubesYellow250
Second Normal Form In DBMS In Hindi

ऊपर दी हुई टेबल का explanation नीचे दिया हुआ है | आप इसे देख कर पढ़ सकते है इससे आपको एक्साम्प्ले को समझने में मदद मिलेगी |

S# – Supplier number
Status – this denotes the status of the supplier with a constraint that CITY determines status.
City – Name of the city in which the supplier lives.
P# – Product number.
Pname – Name of the Product.
Color – Color of the product.
Qty – Denotes quantity of a product sold by a supplier.

यह रिलेशन आलरेडी first normal form में है और यह 1NF की सारी anamoly को फेस करता है जैसे कि insertion , deletion एंड updation anamoly |

इसलिए 1 NF में होने के बाद यहाँ पर हम नीचे एक diagram डिज़ाइन करते है जिसमे हम functional डिपेंडेंसी को शो करते है |

FD-diagram-in-2NF-normal-form (1)
FD For Relation Sale:Second Normal Form In DBMS In Hindi

इस रिलेशन को Second normal form में कन्वर्ट करने के लिए हमें नीचे दिए हुए कुछ प्रोसीजर को फॉलो करना पड़ेगा|

attributes जो primary key फॉर्म करते है वो है S #, P #, जिन्हे हम {S #, P #} के form में लिख सकते है |

अब इसके सबसेट होंगे {}, {S#}, {P#}, {S#, P#}.

अब हम इन सभी सबसेट को प्राइमरी key बनाकर इनके रिलेशन फॉर्म करेंगे और सभी नॉन प्राइम ऐट्रिब्यूट्स को designnate करेंगे जो कि functionally इन पर डिपेंडेंट हो|

तो यहाँ पर एक रिलेशन हमारे पास है S S # primary key के साथ और इसके साथ attributes होंगे status और city | और दूसरा रिलेशन है P P # प्राइमरी के साथ और इसके साथ attribute होंगे Pname और color |

और एक रिलेशन हमारे पास आता है SP जिसके साथ primary key होंगी S # एंड P # और यहाँ पर attribute होगा Qty . |

Second normal form के अंतर्गत ऊपर वाले relation को हम कुछ ऐसे denote कर सकते है |

FD-diagram-in-2NF-normal-form (2)
FD Diagram In 2NF

और इन relation को हम कुछ ऐसे भी denote कर सकते है |

(a) Relation S

S#Stat usCity
S110Paris
S220London
S330Italy
S440India
S510Paris

(b) Relation P

P#PnameColor
P1BulbPink
P2TubesYellow
P3FanGreen
P4CoolerBlack
P5LampWhite

(c) Relation SP

S#P#Qty
S1P1300
S1P2100
S2P3500
S3P4200
S3P1450
S4P5400
S5P2250

और Second normal form के साथ advantage यह है कि जो भी anamoly हम first normal form में फेस करते है वो सभी Second normal फॉर्म में दूर हो जाती है | जैसे कि नीचे दिए गए explanation से आप समझ सकते है |

Insert:

अब हम यहाँ पर यह इनफार्मेशन इन्सर्ट कर सकते है कि supplier S paris सिटी में रहता है जबकि अभी वह कही पर भी सप्लाई नहीं कर रहा होता है | इसे हम आसानी से रिलेशन S में insert कर सकते है |

Delete:

हम S1 और P2 कनेक्शन को डिलीट कर सकते है लप रिलेशन में एक tuple को डिलीट करके| और इससे हम यह इनफार्मेशन भी loose नहीं करेंगे कि S1 paris में रहता है | क्योकि इस इंफोर्मेशन को हम S1 में स्टोर कर चुके है |

Update:

जैसे कि हम जानते है कि supplier की city हम एक बार रिलेशन S में स्टोर कर चुके है और इसे हमने कही पर भी बार बार रिपीट नहीं किया है | और इस रिलेशन के लिए जो प्राइमरी key है वो है S # , तो S3 की एक वैल्यू के लिए हमारे पास एक सिटी वैल्यू है | जो कि first normal form में कई बार रिपीट करी गयी थी |

इसलिए अगर आप किसी भी सप्लायर की सिटी अपडेट करना चाहते है तो फिर अब आपको एक बार ही अपडेट करना पड़ेगा |

पर इतना सब करने के बाद भी अभी हमारी समस्या खत्म नहीं होती है | और अभी भी हमें सेकंड नार्मल फॉर्म में कुछ anamoly का सामना करना पड़ता है | और यह कुछ anamoly नीचे निम्नलिखित है |

Anomalies or Problems with 2NF:

Insert:

हम यह फैक्ट इन्सर्ट नहीं कर सकते है कि एक particular सिटी एक particular status रखती है | जैसे example के लिए हम यह नहीं कह सकते है कि जो सप्लायर इटली में है उसका स्टेटस 30 ही होगा जब तक कि उस लोकेशन में हमारे पास कोई सप्लायर located न हो |

Delete:

अगर हम किसी particular सिटी के लिए S रिलेशन से पूरे tuple को डिलीट कर देते है तो फिर हम supplier की information के साथ साथ सिटी के particular status की इंफोर्मेशन भी loose कर देते है |

जैसे कि हम रिलेशन S से Second tuple डिलीट कर देते है और यहाँ पर हम यह information को loose कर देते है कि सिटी london का स्टेटस 20 है, और साथ ही हम यह इनफार्मेशन को भी loose कर देते है कि सप्लायर S2 का कनेक्शन london से है |

Update:

relation S में सिटी का स्टेटस रिपीट होता है |

जैसे कि रिलेशन S में सिटी paris का स्टेटस रिपीट होता है | तो अगर हमें paris सिटी का status अपडेट करना है तो फिर हमें वो सारे tuple ढूंढ़ने पड़ेंगे जो कि जो पेरिस सिटी के हो |

और ऐसी स्थिति में अगर हम एक भी tuple को मिस करते है तो फिर इससे database में inconsistency के आने के chance बहुत है |

Normalization से रिलेटेड कुछ important blogs आप नीचे दी गयी ब्लॉग लिंक की सहायता से पढ़ सकते है |

What is Normalization and why is it needed?

What is 1NF in DBMS?

What is 2NF in DBMS?

What is BCNF in DBMS?

Third Normal Form In DBMS In Hindi?

Second Normal Form In DBMS In Hindi?

First Normal Form In Dbms In Hindi?

Conclusion:

तो दोस्तों इस ब्लॉग पोस्ट(Second Normal Form In DBMS In Hindi) में हमने Second Normal form के बारे में पढ़ा और जाना | सैकंड Normal form में 1 Normal form की anamoly को हटाने का प्रयास किया जाता है | और सीधे शब्दों में हम कह सकते है कि Second Normal form में primary key को इंट्रोडस किया जाता है | और इस बेसिस पर हम एक रिलेशन को कई और छोटे छोटे रिलेशन में पार्टीशन कर लेते है | और उन attributes को अलग अलग table में प्लेस कर देते है जो कि primary key पर functionally dependent होते है | इसके बाद भी Second Normal form में भी कुछ anamoly रहती है जिन्हे हम third Normal form में eliminate करेंगे|

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

आशा करता हूँ, कि आपने इस पोस्ट(Second Normal Form 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.

Leave a Reply

Your email address will not be published. Required fields are marked *