What is Primary Key in Database: जैसाकि हमने पहले भी बताया कि Primary Key किसी Table कि प्रत्येक Record या Row को Uniquely Identify करना सम्भव बनाता है। किसी Relation में Primary Key की वही भूमिका होती है, जो किसी Entity Identifier की होती है। Primary Key को Define करके हम ये तय करते हैं कि हमने जिस छोटे से छोटे Data को Database में Store किया है, हम उस छोटे से छोटे Data के टुकडे को भी फिर से प्राप्त कर सकेंगे।
जब हम Relational Database की बात करते हैं, तब किसी Database से किसी Data के छोटे से छोटे टुकडे को भी प्राप्त करने के लिए हमें सिर्फ तीन बातों की जानकारी होनी चाहिएः उस Table के नाम की, जिसमें Data Stored है, उस Column के नाम की, जिससे हम Data को प्राप्त करना चाहते हैं और उस Row के Primary Key की, जिसके Column के Data को हम प्राप्त करना चाहते हैं।
यदि हर Row के लिए Primary Key Unique हो, तो हम इस बात के लिए Sure हो सकते हैं कि हम Exact Row से Data को Retrieve कर सकेंगे। लेकिन यदि हर Row Unique ना हो, तो हम एक से ज्यादा Rows को Retrieve करेंगे, जहां ये तय करना मुश्किल हो जाएगा, कि हमारा Required Data किस Row में है।
चूंकि एक Primary Key हमेंशा किसी Record या Row को Uniquely Identify करने के लिए Define किया जाता है, इसलिए किसी भी Primary Key Column को Empty नहीं छोडा जा सकता या किसी Primary Key Field में NULL Store नहीं किया जा सकता है।
Null एक Special Database मान होता है, जिसका मतलब “Unknown” होता है। यदि हमारे Relation में केवल एक ही Record हो और हम Primary Key Filed को Null कर दें, तो कोई Problem Generate नहीं होती है, लेकिन जैसे ही हम उस Relation में दूसरा Record Enter करेंगे, हम Primary Key Fields के Uniqueness की Property को खो देंगे।
इसलिए हम कभी भी किसी Table के Primary Key Field को Null Assign नहीं कर सकते हैं। इस Constraint को Entity Integrity कहा जाता है और Database में जितनी बार भी Data Enter या Modify किया जाता है, DBMS Primary Key को Enforce करके Database पर Apply करता है, जिससे हर Record हमेंशा Unique बना रहता है।
हम किसी Primary Key Field में Duplicate Data Store नहीं कर सकते हैं। यदि हम एसा करने की कोशिश करते हैं, तो भी DBMS हमें एसा नहीं करने देता है, क्योंकि वह Primary Key के Constraint को Follow करता है, जिसके तहत एक Column में कभी भी Duplicate Values Store नहीं हो सकती है।
किसी Relation के लिए एक उचित Primary Key Select करना एक Challenging काम होता है। कुछ Entities में Natural Primary Keys होती हैं, जैसे कि Purchase Order या Invoice को Identify करने के लिए हमेंशा एक Meaningless Unique Number होता है, जिससे कोई Particular Purchase Order या Invoice Identify होता है। इसे ही Natural Primary Key कहा जाता है और ये ही एक Ideal Primary Key का उदाहरण होता है।
हम किसी भी Entity के उसी Attribute को किसी Relation में Primary Key के रूप में Identify कर सकते हैं, जिसकी निम्नानुसार दो विशेषताएं हों:
- Primary Key की Value कभी भी Change नहीं होती है। (Uniqueness)
- Primary Key Column को Null नहीं रखा जा सकता है। (Not Null)
हम किसी Entity के किसी एसे Field को Primary Key Set नहीं कर सकते हैं, जिनका Repetition सम्भव हो। उदाहरण के लिए यदि हम किसी Customer Relations में Customer के Name Filed को Primary Key Set कर दें, तो DBMS में Enter किए एक नाम के एक ही व्यक्ति को Database में Store होने देगा। क्योंकि DBMS Primary Key Field में एक ही Value का Repetition नहीं करने देता है, जबकि एक ही नाम के दो Customer हो सकते हैं।
इसी तरह से हम उस Attribute को भी Primary Key Set नहीं कर सकते हैं, जो बार-बार Change होता है। इस स्थिति में किसी एक ही Entity के एक ही Instance को एक ही Relation में एक से ज्यादा बार Enter किया जा सकता है, जिससे Database की Consistency व Accuracy प्रभावित होती है। इस सम्बंध में हम पहले भी चर्चा कर चुके हैं।
एक Appropriate Primary Key को Choose करने के लिए हमें हमेंशा किसी Entity के Meaningful Attributes को Avoid करना चाहिए। किसी Meaningful Information को Code के रूप में Specify करके उसे किसी Relation में Primary Key के रूप में Use नहीं करना चाहिए, जैसाकि हमने Music Store Database में किया था। इस तरह के Code को Decode करने में समस्याएं पैदा हो सकती हैं या इस तरह के Codes को बनाने में भी गलतियों की सम्भावना रहती है। साथ ही Meaningful Information Change होने की भी सम्भावना रहती है, जैसाकि Music Store Database के सन्दर्भ में बताया गया है। किसी Primary Key के उपरोक्त दो गुणों के अलावा ये Primary Key का तीसरा गुण होता है किः
हालांकि जरूरत के आधार पर व अच्छी तरह से सोंच-विचार कर लेने के बाद यदि हमें लगता है, कि किसी Meaningful Data को Primary Key बनाया जा सकता है, तो हम किसी Meaningful Data को भी Primary Key के रूप में Specify कर सकते हैं। कई बार स्थितियां भी ऐसी ही होती हैं, जहां पर किसी विशेष अर्थ वाले Meaningful Data को ही Primary Key बनाना जरूरी होता है। उदाहरण के लिए यदि हमें किसी घटना को Time या Date के साथ Specify करना हो, तो हमें Date या Time जैसे Meaningful Data को Primary Key के रूप में Use करना जरूरी हो जाएगा। (What is Primary Key in Database)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Oracle 8i/9i SQL/PLSQL in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Oracle 8i/9i SQL/PLSQL in Hindi | Page: 587 | Format: PDF