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

हैशटैग का उपयोग करने वाले ऐप्स के लिए डेटाबेस डिज़ाइन

मैं संदेशों और टैगों के बीच एक विशिष्ट कई-से-अनेक-संबंधों के साथ जाने की सलाह दूंगा।

इसका मतलब है कि आपको 3 टेबल चाहिए।

  • Messages (कॉलम Id , UserId और Content )
  • Tags (कॉलम Id और TagName )
  • TagMessageRelations (कॉलम:MessageId और TagId - संदेशों और टैग के बीच संबंध बनाने के लिए - Messages.Id . की ओर इशारा करते हुए विदेशी कुंजियों के माध्यम से / Tags.Id )

इस तरह आप एक टैग को कई बार स्टोर नहीं करते हैं लेकिन केवल एक संदेश के लिए एक नया संबंध बनाते हैं (यदि वह टैग पहले से ही टैग-टेबल में मौजूद है)।

इस तरह आप कर सकते हैं

  • आसानी से कितने टैग गिनें (SELECT COUNT(*) FROM Tags )
  • प्रत्येक टैग को केवल एक बार सहेजें और टैग की खोज को आसानी से अनुक्रमित किया जा सकता है
  • या गिनें कि एक निश्चित टैग का कितनी बार उपयोग किया गया था प्रति उपयोगकर्ता - उदाहरण के लिए:

SELECT COUNT(*) FROM Tags INNER JOIN TagMessageRelations ON Tags.Id = TagMessageRelations.TagId INNER JOIN Messages ON TagMessageRelations.MessageId = Messages.Id GROUP BY Messages.UserId




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP और MySQL का उपयोग करके CSV फ़ाइलों को आयात और निर्यात कैसे करें

  2. टाइमस्टैम्प से दिन के हिसाब से ग्रुप करें

  3. स्थान और विशेष वर्णों वाले URL के लिए सर्वोत्तम अभ्यास

  4. mysql विदेशी कुंजी त्रुटि # 1452

  5. MySQL/MariaDB सर्वर तक पहुँचने के लिए शीर्ष पाँच सॉफ़्टवेयर अनुप्रयोग