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

डेटाबेस mysql में समानार्थक शब्दों को संग्रहीत और पुनर्प्राप्त करने का सबसे अच्छा तरीका

विभिन्न प्रविष्टियों को संग्रहीत करने के लिए (एक) स्ट्रिंग का उपयोग न करें।

दूसरे शब्दों में:एक शब्द तालिका (word_ID,word) और एक समानार्थी तालिका (word_ID,synonym_ID) बनाएं, फिर शब्द तालिका में शब्द जोड़ें और समानार्थी तालिका में प्रति समानार्थी एक प्रविष्टि जोड़ें।

अपडेट करें (तीसरा पर्यायवाची जोड़ा)

आपकी शब्द तालिका में प्रत्येक शब्द (ALL) होना चाहिए, आपकी समानार्थी तालिका में केवल समानार्थक शब्द के संकेत हैं (एक भी शब्द नहीं!) ..

यदि आपके पास तीन शब्द हैं:ए, बी और सी, जो समानार्थी हैं, तो आपका डीबी होगा

WORD_TABLE            SYNONYM_TABLE
ID | WORD             W_ID | S_ID
---+-----             -----+-------
1  | A                  1  |  2
2  | B                  2  |  1
3  | C                  1  |  3
                        3  |  1
                        2  |  3
                        3  |  2  

SYNONYM_TABLE में कई प्रविष्टियों से डरो मत, वे कंप्यूटर द्वारा प्रबंधित किए जाएंगे और शब्दों के बीच मौजूदा संबंधों को प्रतिबिंबित करने के लिए आवश्यक हैं।

दूसरा दृष्टिकोण

आपको एक ऐसी तालिका के साथ जाने के लिए भी लुभाया जा सकता है (मुझे नहीं लगता कि आपको चाहिए!) सावधान रहें कि यह संबंधपरक डीबी के काम करने के तरीके के विपरीत है (एक क्षेत्र, एक तथ्य)।



  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 char (n) कॉलम को कैसे मैप करें?

  2. MYSQL या बनाम IN प्रदर्शन

  3. क्या Laravel के soft_delete को MySQL पर अनुक्रमणिका की आवश्यकता है?

  4. त्रुटि 1366 (HY000):गलत स्ट्रिंग मान:पंक्ति 1 पर कॉलम 'टिप्पणी' के लिए '\xF0\x9F\x98\x9C'

  5. कुप्पी-SQLAlchemy - टेबल/डेटाबेस कब बनाए और नष्ट किए जाते हैं?