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

यदि मैं WHERE का उपयोग कर सकता हूं तो मुझे विदेशी कुंजी का उपयोग करने की आवश्यकता क्यों है?

क्वेरी के लिए इसकी सख्त आवश्यकता नहीं है, यह सच है। यह कई कारणों से मौजूद है:

  1. टेबल पर एक बाधा के रूप में आपको कुछ ऐसा डालने से रोकने के लिए जो कुछ भी इंगित नहीं करता है;
  2. अनुकूलक के लिए एक सुराग के रूप में; और
  3. ऐतिहासिक कारणों से जहां इसकी अधिक आवश्यकता थी।

(1) शायद तीनों में से एक महत्वपूर्ण है। इसे संदर्भात्मक अखंडता कहा जाता है . इसका अर्थ यह है कि यदि किसी विदेशी कुंजी में कोई मान है तो उस मान के साथ मूल तालिका में प्राथमिक कुंजी के रूप में एक संगत रिकॉर्ड होगा।

कहा जा रहा है, सभी डेटाबेस संदर्भात्मक अखंडता (जैसे MySQL/MyISAM तालिकाओं) का समर्थन नहीं करते हैं और जो इसे अनिवार्य रूप से लागू नहीं करते हैं (प्रदर्शन कारणों से)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एमएएमपी पर मैसकल सर्वर शुरू नहीं होगा

  2. MySQL:INT को DATETIME में बदलें

  3. MySql में उपस्थिति रिपोर्ट

  4. MySQL सामान्य त्रुटि:2053

  5. डॉकर का उपयोग करने पर मुझे त्रुटि मिलती है:SQLSTATE [HY000] [2002] ऐसी कोई फ़ाइल या निर्देशिका नहीं