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

समान कॉलम वाली दो टेबल या अतिरिक्त कॉलम वाली एक टेबल?

बाधाओं पर निर्भर करता है:

  • क्या आपके पास विदेशी चाबियां हैं या apples पर चेक हैं जो oranges पर मौजूद नहीं है (या इसके विपरीत)?
  • क्या आपको दोनों तालिकाओं में कुंजियों को अद्वितीय रखने की आवश्यकता है (इसलिए कोई apples . नहीं है कुछ orange . के समान आईडी हो सकती है )?

यदि इन दो प्रश्नों के उत्तर हैं:"हां" और "नहीं" , तालिकाओं को अलग रखें (ताकि बाधाओं को तालिका-विशिष्ट बनाया जा सके)।

अगर उत्तर हैं:"नहीं" और "हां" , उन्हें एक साथ मर्ज करें (ताकि आप एक कुंजी बना सकें जो दोनों तक फैली हो)।

अगर उत्तर हैं:"हां" और "हां" , विरासत का अनुकरण करने पर विचार करें:

डेटा देखें तालिकाओं का एक विशिष्ट उदाहरण है जो समान दिखते हैं, फिर भी उन्हें अलग रखा जाना चाहिए ताकि FK को अलग रखा जा सके।

विशेष रूप से, यह इनहेरिटेंस (उर्फ श्रेणी, उपवर्ग, सबटाइपिंग, सामान्यीकरण पदानुक्रम आदि) का प्रतिनिधित्व करने के लिए "अलग-अलग तालिकाओं में सभी वर्ग" रणनीति है। आप इस पोस्ट पर एक नज़र डालना चाहेंगे अधिक जानकारी के लिए।



  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 त्रुटि #1312 क्यों मिल रही है?

  2. 127.0.0.1:3306 पर mysql से कनेक्ट करने में विफल उपयोगकर्ता रूट एक्सेस के साथ उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करके:हाँ)

  3. गैर-रूट उपयोगकर्ता के रूप में MySQL डेटाबेस w/C# से कनेक्ट करें?

  4. समूहीकरण करते समय मैं किसी तालिका से सबसे लंबी 'स्ट्रिंग' का चयन कैसे करूं?

  5. अनुक्रमणिका के साथ चुनें बनाम अद्यतन प्रदर्शन