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

जुड़ने से बचने के लिए अनावश्यक विदेशी कुंजी संग्रहित करना

जुड़ता है कि कैसे संबंधपरक डीबीएमएस काम करते हैं। सामान्यीकरण के बारे में जानें और उसका उपयोग करें।

यदि यह हर सेवा के लिए सही है तो आपका डेटाबेस एक बाधा के अधीन है। यह है कि (select service from Service_has_transaction join Transaction_has_wallet) (select service from Service_has_transaction join Transaction_has_wallet join Wallet_has_bonus)

अधिकांश SQL DBMS आपको उस बाधा को घोषणात्मक रूप से व्यक्त करने की अनुमति नहीं देते हैं और यह नहीं जानते कि इसे लागू करने के लिए कैसे अनुकूलित किया जाए। हालाँकि एक SQL मुहावरा है जिसका उपयोग हम इसे घोषित रूप से व्यक्त करने और लागू करने के लिए कर सकते हैं। (अपनी तालिका परिभाषाओं का अनुमान लगाते हुए:) पहले एक bonus जोड़ें कॉलम से Transaction_has_wallet और Transaction_has_wallet (wallet, bonus) . से एक विदेशी कुंजी Wallet_has_bonus के लिए . फिर Service_has_transaction . में वॉलेट और बोनस कॉलम जोड़ें और Service_has_transaction (transaction, wallet, bonus) . से एक विदेशी कुंजी करने के लिए Transaction . यह अनावश्यक कॉलम जोड़ता है लेकिन फिर भी डेटाबेस को वैध राज्यों तक सीमित करता है क्योंकि विदेशी कुंजी बाधाएं अनावश्यक मानों को गलत होने से रोकती हैं। (उम्मीद है कि यह ट्रिगर्स के माध्यम से मनमानी बाधाओं को व्यक्त करने के बारे में सीखने के लिए एक प्रेरक उदाहरण है।)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:लगातार क्रम की स्थिति

  2. MySQL क्वेरी नंबरों के साथ छँटाई

  3. MySQL समूह द्वारा और खाली मानों के साथ योग का चयन करें

  4. निष्क्रिय mysql कनेक्शन को समाप्त करना

  5. mysql में आज से 7 दिन पहले जन्मदिन का चयन कैसे करें