2010-06-21 7 views
13

ईआरडीबी में सुपर और उम्मीदवार कुंजी के बीच क्या अंतर है?सुपरकी बनाम उम्मीदवार कुंजी

धन्यवाद।

+4

सुपरकी और उम्मीदवार कुंजी डेटाबेस मॉडल शर्तों से संबंधित हैं। "ईआरडीबी" का क्या अर्थ है? हो सकता है कि आप एंटिटी रिलेशनशिप (ईआर) मॉडल का जिक्र कर रहे हों जो आंकड़ों के बारे में चित्र खींचने के लिए सम्मेलनों का एक सेट है। ईआर मॉडल संबंधपरक मॉडल से कुछ अलग है। – sqlvogel

उत्तर

12

उम्मीदवार कुंजी एक न्यूनतम superkey

+5

+1, साथ ही यह "न्यूनतम" को परिभाषित करना अच्छा होगा क्योंकि यह गैर-सहज ज्ञान युक्त है। उदाहरण के लिए तालिका (ए, बी, सी) में, (ए) अद्वितीय होने के साथ और (बी, सी) अद्वितीय होने के कारण, दोनों (ए) और (बी, सी) उम्मीदवार कुंजी होना चाहिए। – orip

+1

इस अर्थ में न्यूनतम है कि अगर उम्मीदवार कुंजी से एक विशेषता हटा दी जाती है, तो पंक्ति को अब विशिष्ट रूप से पहचाना नहीं जा सकता है। – libjup

4
  • उम्मीदवार कुंजी = कम से कम कुंजी एक पंक्ति की पहचान है
  • सुपर कुंजी = कम से कम के रूप में व्यापक एक उम्मीदवार कुंजी

मेरे लिए के रूप में, एक सुपर कुंजी आम तौर पर एक उम्मीदवार कुंजी

+0

एक उम्मीदवार कुंजी एक न्यूनतम सुपरकी है। तो एक सुपरकी सख्ती से "व्यापक" नहीं है क्योंकि उम्मीदवार कुंजी भी एक सुपरकी है। – sqlvogel

+0

@ डेविड: ऑक्सीमोरॉन "न्यूनतम सुपरकी" नहीं है? – gbn

+0

"आम तौर पर अस्पष्टताएं पेश करते हैं" - आपका क्या मतलब है? उदाहरण के लिए, इस उत्तर में (http://stackoverflow.com/questions/3938736/enforce-constraints-between-tables/3940708#3940708) कर्मचारी विभाग तालिका में उम्मीदवार कुंजी '(कर्मचारी_आईडी)' और एक सुपरकी '(कर्मचारी_department_name, employee_ID) '। दोनों डेटा अखंडता के लिए आवश्यक हैं, अस्पष्टता कहां है? – onedaywhen

22

पर एक अस्पष्ट अस्पष्टताएं पेश करती है जो एक सुपरकी कॉलम का एक सेट है जो विशिष्ट रूप से पहचान करती है ifies एक पंक्ति। एक अभ्यर्थी कुंजी स्तंभों का एक न्यूनतम सेट होगा जो विशिष्ट रूप से एक पंक्ति की पहचान करता है। तो अनिवार्य रूप से एक सुपरकी एक उम्मीदवार कुंजी है जिसमें अतिरिक्त अनावश्यक कॉलम हैं।

+0

"एक सुपरकी अतिरिक्त अनावश्यक कॉलम के साथ एक उम्मीदवार कुंजी है" - - तालिका को संदर्भित करने और डेटा अखंडता जैसे सुनिश्चित करने के लिए अतिरिक्त कॉलम वास्तव में आवश्यक हो सकते हैं '(कर्मचारी_आईडी)' अद्वितीय है लेकिन कर्मचारियों (विभाग_आईडी, विभाग_नाम) 'पर एक कुंजी उन कुछ तालिकाओं के लिए आवश्यक हो सकती है जो कर्मचारियों को उनके विभाग के अनुसार प्रतिबंधित करते हैं। – onedaywhen

2

के रख चलो यह सरल

SuperKey - विशिष्ट सभी विशेषताओं के बाहर एक row तो परिभाषित करता है कि अगर किसी भी एक एक unique तो सब है कि अद्वितीय विशेषता गिर जाता होने सबसेट है चाबियों का एक सेट superkey के तहत।

उम्मीदवार कुंजी - जो आगे कोई सबसेट प्राप्त किया जा सकता है जो rows uniquely पहचान कर सकते हैं, या हम बस कह सकते हैं कि यह minimal superkey है से बाहर एक superkey

संबंधित मुद्दे