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 हो |Second Normal Form In DBMS In Hindi|
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# | Status | City | P# | Pname | Color | Qty. |
S1 | 10 | Paris | P1 | Bulb | Pink | 300 |
S1 | 10 | Paris | P2 | Tubes | Yellow | 100 |
S2 | 20 | London | P3 | Fan | Green | 500 |
S3 | 30 | Italy | P4 | Cooler | Black | 200 |
S3 | 30 | Italy | P1 | Bulb | Pink | 450 |
S4 | 40 | India | P5 | Lamp | White | 400 |
S5 | 10 | Paris | P2 | Tubes | Yellow | 250 |
ऊपर दी हुई टेबल का 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 डिपेंडेंसी को शो करते है |
इस रिलेशन को 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 कर सकते है |
और इन relation को हम कुछ ऐसे भी denote कर सकते है |
(a) Relation S
S# | Stat us | City |
S1 | 10 | Paris |
S2 | 20 | London |
S3 | 30 | Italy |
S4 | 40 | India |
S5 | 10 | Paris |
(b) Relation P
P# | Pname | Color |
P1 | Bulb | Pink |
P2 | Tubes | Yellow |
P3 | Fan | Green |
P4 | Cooler | Black |
P5 | Lamp | White |
(c) Relation SP
S# | P# | Qty |
S1 | P1 | 300 |
S1 | P2 | 100 |
S2 | P3 | 500 |
S3 | P4 | 200 |
S3 | P1 | 450 |
S4 | P5 | 400 |
S5 | P2 | 250 |
और 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?
Third Normal Form In DBMS In Hindi?
Second Normal Form In DBMS In Hindi?
First Normal Form In Dbms In Hindi?
Quick Q&A:
What is the 1st 2nd and 3rd normal form in DBMS? DBMS में 1NF , 2NF और 3NF क्या होते है ?
डेटाबेस के अंदर यह तीनो ही normal form होते है, जो कि Database को normalize करने के steps होते है|
1NF: कोई भी रिलेशन अथवा डेटाबेस टेबल 1NF में तब होता है जब उसके सभी attributes जो है वो atomic value रखते है|
2NF: कोई भी Relation जो है वो 2NF में तब होता है:
रिलेशन 1NF में होना चाहिए|
सभी non -key attributes जो है वो candidate कीस पर पूरी तरह से functionally dependent होने चाहिए|
3NF: कोई भी रिलेशन 3NF में तब होता है:
रिलेशन 2NF में होना चाहिए|
रिलेशन के अंदर कोई भी transitive dependency नहीं होनी चाहिए|
What is 2nd normal form based on? 2NF किस चीज़ के ऊपर based होता है?
Second normal form: कोई भी रिलेशन 2NF में तब होता है जब वह 1NF में हो|
और सभी non -key attributes जो है वो पूरी तरह से primary key पर functionally dependent हो|
What is 3rd normal form of DBMS? DBMS में 3NF क्या होता है?
कोई भी Relation जो है वो 3NF में तब होता है:
दिया हुआ रिलेशन जो है वो 2NF में हो|
पर Relation में कोई भी transitive partial dependency न हो|
अगर Relation में non -prime attributes के लिए कोई भी transitive partial dependency नहीं होती है|
तो फिर relationship जो है वो 3NF में होता है|
What is the difference between 2nd normal form and BCNF? 2NF और BCNF में क्या अंतर होता है?
2NF में क्या होना चाहिए कि जितने भी non -prime attributes है वो प्रत्येक candidate key पर डिपेंडेंट होना चाहिए|
जैसे कि अगर टेबल में कोई भी non -prime attributes न हो तो तब यह 2NF को violate नहीं कर सकता है |
और यह जो है वो BCNF और 2NF /3NF के बीच essential difference होता है|
BCNF में प्रत्येक attributes जो है वो प्रत्येक key पर fully dependent होना चाहिए|
Why is the second normal form important? Second Normal form इतना important क्यों होता है?
Second Normal form के advantages निम्नलिखित है:
Database में डाटा जो है वो consistent रहता है|
Database designing में flexibility को improve करता है|
यह डेटाबेस में डाटा के ओवरआल organization को improve करता है|
Database की security को improve करता है|
Which normal form is used most? किस Normal form का सबसे ज्यादा उपयोग किया जाता है?
सबसे ज्यादा उपयोग होने वाला Normal form 3rd Normal form है |
यहाँ पर आप यह भी कह सकते है कि Database में ज्यादातर 1NF , 2NF , और 3NF तक ही use होता है |
क्योकि अगर कोई Relation ३नफ में होगा तो automatically 2NF , और 1NF में होगा|
Why is 4th normal form useful? Fourth Normal form कैसे उपयोगी होता है?
Fourth Normal form के advantages निम्नलिखित है:
Database से redundancy और anomalies को दूर करने में मदद करता है|
normalization और restricted constraints का उपयोग करके data integrity और data consistency को maintain किया जा सकता है|
Which DBMS is faster? कौन सा DBMS तेज़ होता है?
MYSQL जो है वो सबसे fast SQL relational Database है |
यह सभी fast relational databases में से एक है |
हलाकि, databases की best performance को हम ऐसे ही compare नहीं कर सकते है|
क्योकि डेटाबेस की जो स्पीड होती है वो काफी सारे factors पर depend करती है जैसे कि:
Application type
Data size
Hardware
Network speed , etc |
What are acid properties in DBMS? DBMS में ACID properties क्या होती है?
Transaction processing के सन्दर्भ में यह ACID properties जो है वो एक four key properties होती है जो की निम्नलिखित है:
Atomicity
Consistency
Isolation
Durability
यह चार प्रॉपर्टीज यह ensure करती है कि Database में हो रहा प्रत्येक transaction processing perfect हो अथवा सही से हो |
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) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते support@a5theory.comपर ईमेल लिख सकते है|
आशा करता हूँ, कि आपने इस पोस्ट(Second Normal Form In DBMS In Hindi) को खूब एन्जॉय किया होगा|
आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|
आपका समय शुभ हो|