Concept of Keys:
Key Relational database Management System (RDBMS) का एक महत्वपूर्ण भाग है। इसका उपयोग एक से अधिक table के बिच सम्बन्ध स्थापित करने में किया जाता है। अर्थात keys का उपयोग करके table के column के attributes को परिभाषित कर सकते हैं।
Keys के table के जिस column के लिए किया जाता है वह table के प्रत्येक records को unique पहचान बनाता है किसी रिलेशनल डेटाबेस के लिए निम्न पाँच प्रकार के kye को define किया गया है:
Types of SQL Keys (SQL keys के प्रकार ):
- Primary Key (प्राथमिक कुंजी)
- Foreign Key (विदेशी कुंजी)
- Super Key (सुपर कुंजी )
- Condidate Key (उम्मीदवार कुंजी)
- Composite Key (समग्र कुंजी)
1) Primary key:
Primary key के प्रयोग से table के प्रत्येक record को पहचाना जा सकता है। इसमें सामान्य attribute का ही प्रयोग किया। जाता है, पर उस attributes का elements निश्चित रूप से अद्वितीय (unique) होना चाहिए। इसमें निम्न दो गुणों का होना आवश्यक है:
i) Unique ii) Not Null
Example:
Table: Primary key Example |
उक्त table में RollNo को primary key define किया जा सकता है क्योंकि प्रत्येक छात्र का RollNo अद्वितीय (unique) होता है।
2) Candidate key:
Table के इस प्रकार के attributes (columns) जिनके प्रत्येक record के unique होने की संभावना है उन सभी columns को candidate key कहेंगे। दूसरे शब्दों में कहें तो प्रत्येक attribute या attributes के समूह जिसके प्रत्येक records को अद्वितीय रूप से दर्शाया जा सके, उसे candidate key कहते हैं। इन्हीं candidate key में से किसी एक को primary key के रूप में चुनते हैं।
Example:
Table: Condidate Key Example |
3) Foreign key:
एक ही database के एक table का वह attribute जो उसी database के अन्य table के लिए primary key का कार्य करे, उसे foreign key या reference key कहते हैं। जैसेः हमारे पास दो table है एक 'Student' एवं दूसरा 'Class' student table में student records को 'RollNo' (primary key) के आधार पर रखा गया है एवं दूसरा table 'Class' को student ID (primary key) के आधार पर रखा गया है।
अब यदि 'Student' table में 'Class' table के बिच relation बनाना है तो 'class' table के attribute 'ID' को student में marge कराते हैं जिससे नया table निम्न प्रकार प्रदर्शित होगा।
Complete Records Table | |||
---|---|---|---|
Roll no | Name | Class | ID |
30 | Ram | 12th | 1 |
31 | Krishna | 10th | 2 |
32 | Hari | 8th | 3 |
Student table and class table दोनों में ही attribute roll no. है। Student table में इसे primary key बनाया गया है, जबकि यही class table में foreign key है। यह एक common field है, जिसके द्वारा दोनों table के बीच relation बना सकते हैं।
इन्हें भी पढ़ें - Relationship & ER Diagrams in DBMS Hindi
4) Composite Key
यह primary key की तरह ही होता है, जो दो या इससे अधिक attributes (column) को शामिल करती है। जैसेः नीचे दिये 'Student' table relation library fere primary key 'StudID' SubName नामक दो attributes का combination है।
सामान्यतः जब दो tables के बीच relationship को प्रदर्शित करते हैं, तो इसके लिए हम foreign key का उपयोग कर सकते हैं।
Foreign key database के relation में एक attribute के रूप में होता है, जो उसी database में किसी अन्य relation की primary key के रूप में प्रस्तुत की जाती है। उदाहरण के लिए, इसे 'student' और 'library' के relation के रूप में इस प्रकार समझ सकते हैं:
Student: StudID, Name, SubName, Class |
Library: SubName, Author, BookName, |
उक्त 'Student' table में attribute 'SubName', foreign key है। यह उपयोगकर्ता को किसी भी student को प्रदान किये गये। • class के नाम के द्वारा उस student से जुड़ने की अनुमति प्रदान करती है। कुछ स्थिति में foreign key को dash वाली underline के द्वारा दर्शाया जाता है। जैसेः
Student: StudID, Name, SubName, Class |
यहां पर 'StudID' एवं 'SubName', 'Student' table के दो attributes होते हैं इसलिए इन्हें composite keys कहते हैं।
(5) Super Key :
किसी database के records का अद्वितीय (unique) रूप में पहचान बनाने के लिए एक से अधिक attributes (column) का एक combination बनाया जाता है तो उसे super key कहते है।
इसे दूसरे शब्दों में समझे तो primary key प्रयोग से आप किसी records को unique बना सकते हैं पर यदि उस table में ऐसा कोई column नहीं है जिससे उसके किसी attribute को primary key' बना सके, ऐसी परिस्थितियों में एक से अधिक 'attributes' को लेकर उस records को unique बनाया जाता है।
जैसेः नीचे के table में Name, FathersName, City, State एवं Country, attributes है। इसके record को Unique बनाने के लिए हमें एक से अधिक attributes का combination लेना पड़ेगा। जैसेः
Example:
Name+FathersNameName+FathersName+City
Name+FathersName+City+State
उक्त मे से हम किसी भी combination का use कर सकते हैं।
0 Comments