Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

यदि हम प्राथमिक कुंजी मान बदलते हैं, तो हमें आश्रित कॉलम मान को क्यों नहीं बदलना चाहिए?

TL;DR आइटम/ए पीके (प्राथमिक कुंजी) होने का तात्पर्य है कि प्रति आइटम/ए मूल्य केवल एक आपूर्तिकर्ता/बी मूल्य है। यह नहीं कहता कि प्रति तालिका केवल एक मान है।

वह वीडियो बकवास है। वे आपके प्रश्न के रूप में "निर्भर" और एफडी (कार्यात्मक निर्भरता) और पीके के बारे में एक ही गलत धारणा से पीड़ित हैं (इसलिए शायद यही वह जगह है जहां से आप उन्हें प्राप्त करते हैं) और कई अन्य गलत धारणाएं और वे नहीं जानते कि वे किस बारे में बात कर रहे हैं। एक कॉलेज/विश्वविद्यालय पाठ्यपुस्तक, स्लाइड और/या पाठ्यक्रम खोजें (जिनमें से कई ऑनलाइन मुफ़्त हैं)।

हम value टेबल के FD, सुपरकी, यूनिक कॉलम सेट, CK (उम्मीदवार की) और PK के बारे में बात कर सकते हैं या एक टेबल चर . एक टेबल वेरिएबल में उन चीजों में से एक का उदाहरण होता है यदि दिए गए व्यवसाय/एप्लिकेशन में उत्पन्न होने वाली प्रत्येक तालिका मान में यह एक उदाहरण के रूप में होता है।

एक कॉलम सेट दूसरे पर कार्यात्मक रूप से निर्भर होता है जब निर्धारित सेट में निर्धारित सेट के प्रति दिए गए मान के लिए केवल एक मान हो सकता है।

लेकिन इसका मतलब यह नहीं है कि अलग-अलग निर्धारण मूल्यों के अलग-अलग निर्धारित मूल्य होते हैं।

एक सुपरकी कॉलम का एक सेट है जिसमें प्रत्येक पंक्ति में एक अलग सबरो मान होता है। एक सीके सुपरकी है जिसमें कोई छोटी सुपरकी नहीं है। एक पीके कुछ सीके है जिसे आपने पीके बनना चुना है। हर कॉलम सेट कार्यात्मक रूप से प्रत्येक सुपरकी पर निर्भर करता है। जिनमें से कुछ सीके हैं। जिनमें से एक पीके हो सकता है।

लेकिन इसका मतलब यह नहीं है कि कुछ उप पंक्ति अन्य एक सुपरकी/सीके/पीके (और हर .) की तुलना में सबरो जरूरी परिभाषा के अनुसार उन पर कार्यात्मक रूप से निर्भर होना) अद्वितीय है।

ए के पीके/सीके होने के आधार पर नहीं। ए पीके/सीके होने का तात्पर्य है कि ए और ए का प्रत्येक सुपरसेट अद्वितीय है। यदि आप एक अलग पंक्ति को देखने या एक अलग तालिका मान को देखने के अर्थ में "ए" बदलते हैं, जिसमें उस पंक्ति के लिए एक अलग ए मान है (जो किसी भी तालिका की किसी अन्य पंक्ति में नहीं हो सकता है), तो ऐसा नहीं है प्रतिबंधित करें कि B क्या हो सकता है।

कुछ अन्य बाधा प्रतिबंधित हो सकती है कि बी क्या हो सकता है। उदाहरण के लिए यदि FD {सप्लायर} -> {सप्लायर फोन} होल्ड करता है तो यह प्रतिबंधित करता है कि सप्लायर फोन अन्य पंक्तियों में क्या हो सकता है, भले ही आइटम पीके न हो।

क्या कोई विशेष FD होल्ड इस बात पर निर्भर करता है कि किसी दी गई स्थिति में कौन सी पंक्तियों को टेबल में जाना चाहिए और कौन सी स्थितियाँ उत्पन्न हो सकती हैं। फिर जो FD होल्ड करता है वह निर्धारित करता है कि सुपरकी और सीके क्या हैं। फिर आप CK को PK के रूप में चुन सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या PHP पीडीओ दो परिणाम सेट ला सकता है? और यदि हाँ, तो बेहतर 1 परिणाम सेट या 1 से अधिक क्या है?

  2. अमान्य पैरामीटर संख्या:पैरामीटर परिभाषित नहीं किया गया था डेटा सम्मिलित करना

  3. क्या मैं अनुमान लगा सकता हूं कि मेरी Zend Framework अनुक्रमणिका कितनी बड़ी होगी? (और कुछ त्वरित क्यू:एस)

  4. MySQL दिए गए क्रम में WHERE का चयन करें

  5. वाइल्डफ्लाई 8.0.0 mysql डेटा स्रोत के साथ समस्याएं