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

ग्राहक के लिए कई पतों और डिफ़ॉल्ट पते के लिए मैसकल डेटाबेस डिज़ाइन

मेरे विचार से आप इसे बहुत जटिल बना रहे हैं। अपने पता स्कीमा को इतना अधिक सामान्यीकृत करने की कोई आवश्यकता नहीं है। मैंने देखा है कि अधिकांश सिस्टम जो कई ग्राहक पतों को संभालते हैं, उनमें आपकी तरह एक ग्राहक तालिका होती है, और फिर एक पता तालिका होती है, जो निम्नानुसार होती है:

 customer_id
 address_ordinal  (small number for each customer: 0,1,2,3 etc).
 primary    (boolean)
 address_1
 address_2
 locality   (city, village, etc)
 province   (state, etc)
 postcode   (zip, postcode etc)
 country

customer_id customer . के लिए एक विदेशी कुंजी है मेज़। प्राथमिक कुंजी (customer_id .) का एक संयोजन है , address_ordinal ) primary कॉलम true है अगर पता प्राथमिक है।

आपूर्तिकर्ताओं के बारे में आपके प्रश्न के संबंध में, हो सकता है कि आप "संपर्क" नामक एक सामान्य तालिका बनाना चाहें, और अपने ग्राहकों और आपूर्तिकर्ताओं दोनों को contact_ids देना चाहें।

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



  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. क्या यह एक सच्चा लंबा मतदान है?

  3. चार्ट बनाने के लिए जावास्क्रिप्ट में MySQL डेटाबेस से डेटा कैसे प्राप्त करें?

  4. Laravel-5 'LIKE' समकक्ष (वाक्पटु)

  5. MySQL 8 कॉमन टेबल एक्सप्रेशंस CTE