Difference Between Primary Key and Unique Key In Hindi.

हेलो दोस्तों आज के इस ब्लॉग पोस्ट(Difference Between Primary Key and Unique Key In Hindi) में मैं sql के अंतर्गत आपको Primary Key और Unique key के बीच में डिफरेंस बताने वाला हूँ |

दोस्तों अक्सर लोगो के दिमाग में इन दोनों keys को ले कर बहुत से confusion रहते है, जिसे हम आज इस blog के माध्यम से दूर करने की कोशिश करेंगे |Difference Between Primary Key and Unique Key In Hindi|

चलिए पहले तो हम इन दोनों keys Primary Key और Unique Key की definition को देख लेते है :Difference Between Primary Key and Unique Key In Hindi

Primary Key :

किसी भी टेबल में Primary Key वो कॉलम होता है जो पूरे row के डाटा को fetch कर सकता है | कहने का मतलब प्राइमरी के हर row के डाटा को uniquely identify करता है |

यह जरुरी नहीं है कि Primary Key में केवल एक सिंगल कॉलम होगा | हम एक से ज्यादा कॉलम को मिलाकर भी एक Primary Key बना सकते है |

ऐसी situation तब आती है जब किसी टेबल में कोई भी column यूनिक न दिया हो तब | ऐसे केस में हम दो या इससे अधिक column को मिलकर भी Primary Key बना सकते है |

हाँ पर यहाँ पर ध्यान देने वाली बात यह है कि एक single table में केवल एक ही Primary Key हो सकती है |

Primary Key column का हर cell डाटा यूनिक होगा |

Primary Key column में हम null वैल्यू enter नहीं कर सकते है |

Primary Key by default एक cluster index बनती है |

Unique Key :

Unique Key वैसे तो Primary Key जैसे ही होती है | यह भी पूरे row डाटा को uniquely identify करती है |

हम एक कॉलम अथवा एक से ज्यादा कॉलम को मिलाकर Unique Key बना सकते है |

एक single table में 999 यूनिक Key बनायीं जा सकती है |

Unique Key जो है वो by default Non -cluster index बनाती है |

Unique Key में आप null value enter कर सकते है |

चलिए अभी तक हमने इन keys की डेफिनिशन को देखा और इनके कुछ फीचर्स देखे है | अब हम इन keys के बीच मैं difference को समझते है और उन्हें detail में discuss करते है |

जैसे कि हमने ऊपर पढ़ा कि प्राइमरी के cluster index form करती है और Unique के Non -cluster इंडेक्स फॉर्म करती है |

इस difference को समझने के लिए लिए आपको सबसे पहले cluster और Non -cluster के बीच डिफरेंस को समझना पड़ेगा|

सबसे पहले आप यह जानिए कि इंडेक्स क्या होता है ?

अपनी डेली लाइफ में आपने इस इंडेक्स वर्ड को जरूर कही कही पढ़ा और देखा होगा | जैसे कि आपको टेक्स्ट बुक में आगे और पीछे इंडेक्स दिया रहता है | जिसकी मदद से हम किसी भी चैप्टर अथवा टॉपिक को आसानी से पेज नंबर की मदद से खोल सकते है |

तो इंडेक्स एक तरह से कुछ keys values होती है जो डाटा को ढूढ़ने में हमारी मदद करती है |

क्लस्टर इंडेक्स एक्चुअल में एक sorted index होता है जो कि डाटा के साथ में ही स्टोर होता है | और यह index actual फिजिकल डाटा के साथ होता है |

और जब इसमें कोई चेंज होता है तो यह इंडेक्स फिजिकली डाटा को ऊपर नीचे करके sort करता है | पर डाटा हमेशा sorted आर्डर में ही स्टोर होता है |

Non -cluster इंडेक्स जो है वो unsorted order में होता है | इसके अंदर डाटा और इंडेक्स अलग अलग जगह स्टोर होते है | और जिस आर्डर में डाटा एंटर होता है उसी आर्डर में डाटा स्टोर होता है | इसमें किसी भी प्रकार की डाटा sorting नहीं होती है |

पर यह बिलकुल भी जरुरी नहीं है कि Primary Key के साथ ही cluster index होगा और Unique Key के साथ ही Non -cluster इंडेक्स होगा|

अगर आप किसी और कॉलम को cluster index बनाना चाहते है तो फिर आपको Primary Key के cluster index को ड्राप करना पड़ेगा और फिर आप Primary Key को Non -cluster बना सकते है |

और आप नहीं भी बनाते है तो फिर जैसे ही आप किसी और column को क्लस्टर इंडेक्स बनाते है तो फिर sql ऑटोमेटिकली Primary Key को Non -cluster इंडेक्स बना देगी | क्योकि एक टेबल में केवल एक ही cluster index हो सकता है | Non -cluster index आप कितने भी बना सकते है |

अब हम Primary Key और Unique के में दूसरे डिफरेंस की बात करते है | प्राइमरी के null value को allow नहीं करती है पर Unique Key null value को allow करती है |

अगर आप किसी भी कॉलम को Primary Key डेक्लारें कर देते है तो फिर आप उस column में null value को enter नहीं कर सकते है |

पर अगर कोई कॉलम Unique Key है तो फिर आप उसमे null वैल्यू को enter कर सकते है | पर यहाँ लोगो के मन में यह confusion रहता है कि अगर Unique Key का उपयोग भी यूनिक रिकार्ड्स को रखने के लिए होता है तो फिर एक से ज्यादा null value रखने पर रिकॉर्ड यूनिक कैसे रह जायेगा |

तो दोस्तों इस बात पर पहले भी बहस होती रही है और आज भी कई लोग इस बात पर डिबेट करते है | एक्चुअली Unique Key को duplicacy दूर करने के लिए discover किया गया था |

अगर प्राइमरी के अलावा टेबल में ऐसे कोई कॉलम है जिनमे आपको डुप्लीकेट वैल्यू enter नहीं करनी है तो फिर आप ऐसे में Unique Key की मदद से यह कर सकते है |

पर यह null value यहाँ पर प्रॉब्लम कर देती है | तो दोस्तों वैसे तो primary Key डाटा को uniquely फेच करने के लिए sufficient है पर फिर भी अगर आप Unique Key कॉलम में null value नहीं चाहते है तो फिर आप उस कॉलम को explicitly not null बना सकते है |

इसके बाद आप इसमें null value एंटर नहीं कर पाएंगे| और अगर आप column duplicacy नहीं चाहते है पर null value allow कर सकते है तो फिर आप सिर्फ उस कॉलम को Unique Key डिक्लेअर कर सकते है |

वैसे कई RDBMS ने अपने नए version में Unique Key के लिए केवल एक null value allow की है मतलब आप किसी भी Unique Key कॉलम में एक null से ज्यादा null एंटर नहीं कर सकते है |

पर दोस्तों आप को इसमें ज्यादा कंफ्यूज होने की जरुरत नहीं है | अगर आप के टेबल में Primary Key है तो यह काफी होता है रिकार्ड्स को uniquely identify करने के लिए |

और अगर आप और किसी कॉलम में भी Unique वैल्यू चाहते है तो फिर आप Unique Key कॉलम को not null declare कर सकते है | इससे आपका काम हो जायेगा |

और रही बात cluster और Non -cluster इंडेक्स की तो आप किसी भी कॉलम को cluster अथवा Non -cluster index बना सकते है |

इस ब्लॉग(Difference Between Primary Key and Unique Key In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते [email protected]पर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस पोस्ट(Difference Between Primary Key and Unique Key In Hindi) को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|Difference Between Primary Key and Unique Key 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.