Primary key
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 Store है, उस 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 नहीं हो सकती है।
हम किसी भी 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 प्रभावित होती है।
Types of primary key
किसी relational table की primary key टेबल के प्रत्येक record को uniquely identify करता है। primary key दो प्रकार की होती है।
- simple primary key
- composite primary key
1.Simple primary key:-simple primary key केवल एक field से मिलकर बनी होतीहै।
2. composite primary key:-composite primary key एक से ज्यादा fields से मिलकर बनी होती है।
Primary key को define करना
- primary key अद्वितीय(unique) होती है।
- किसी भी टेबल में केवल एक ही primary key हो सकती है।
- ये single या multi column हो सकती है, multi column primary key को हम composite primary key कहते है।
- composite primary key में अधिकतम 16 column हो सकते है।
- यह null values को contain नही करती है।