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 के बीच डिफरेंस को समझना पड़ेगा|

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

अपनी डेली लाइफ में आपने इस इंडेक्स वर्ड को जरूर कही कही पढ़ा और देखा होगा |

जैसे कि आपको टेक्स्ट बुक में आगे और पीछे इंडेक्स दिया रहता है |

जिसकी मदद से हम किसी भी चैप्टर अथवा टॉपिक को आसानी से पेज नंबर की मदद से खोल सकते है |

तो इंडेक्स एक तरह से कुछ 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 बना सकते है |

You can also go through below given blog links related to SQL and DBMS:

MYSQL TABLE LOCKING IN HINDI…
InnoDB vs MyISAM In MYSQL Hindi…
MYSQL Storage Engines In Hindi…
Difference Between Primary Key and Unique Key In Hindi…
Stored Objects In MySql In Hindi…
BLOB vs TEXT IN MYSQL IN HINDI…
Stored Function vs Stored Procedure In MySql In Hindi…
Char vs Varchar In SQL In Hindi…
Difference Between MYSQL_CONNECT and MYSQL_PCONNECT In Hindi…
SQL Delete और Drop के बीच क्या अंतर है…
SQL में TRUNCATE और DELETE में क्या अंतर है…
SQL में Drop और Delete के बीच क्या अंतर है…
Delete, Drop, And Truncate Commands In Hindi…
SQL SELF JOIN IN HINDI…
SQL JOIN IN HINDI?/SQL JOIN क्या होता है…
Difference Between SQL And SQLite In Hindi…
What is the difference between SQL and MYSQL…
Difference between SQL and My SQL In Hindi…
SQL vs ORACLE In Hindi…
What is MYSQL In Hindi/ MySQL क्या है…

Quick Q&A:

What is the difference between a primary key and a unique key in a relational database? Primary key और unique key में क्या अंतर होता है?

primary key और unique key दोनों ही के इस बात का ध्यान रखती है कि प्रत्येक कॉलम में unique वैल्यू हो|

primary key null वैल्यू allow नहीं करती है जबकि unique key के case में null value insert हो सकती है|

What is the use of a unique key? unique key का उपयोग क्या है?

unique key जो है वो यह सुनिश्चित करती है कि डेटाबेस में columns की uniqueness बनी रहे|

यह प्राइमरी key कि तरह ही है बस इसमें अंतर इतना आ जाता है कि यह unique key जो है वो null value को accept कर लेती है |

एक टेबल में केवल एक ही primary key exist कर सकती है जबकि एक database टेबल में एक से ज्यादा unique key हो सकती है|

Can the primary key be duplicated? क्या primary key की value duplicate हो सकती है?

आप टेबल में ऐसे कोई और keys assign कर सकते है जो कि duplicate वैल्यू accept कर सकती है|

पर primary key के केस में आप ऐसा बिलकुल भी नहीं कर सकते है|

Primary key की वैल्यू हमेशा ही unique रहेगी|

What is a NULL value? Null values क्या होती है?

रिलेशनल डेटाबेस में Null value का उपयोग तभी किया जाता है जब कोई कॉलम value unknown अथवा missing हो|

Null वैल्यू न ही कोई empty string (character के केस में) होती है और न ही जीरो(Integer के केस में) होती है|

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

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