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

फेसबुक लाइक नोटिफिकेशन ट्रैकिंग (डीबी डिजाइन)

मुझे नहीं पता कि ऐसा करने का यह सबसे अच्छा तरीका है, लेकिन चूंकि मुझे किसी और से कोई विचार नहीं मिला है, इसलिए मैं यही कर रहा हूं। मुझे आशा है कि यह उत्तर दूसरों की भी मदद कर सकता है।

हमारे पास 2 टेबल हैं

notification
-----------------
id (pk)
userid
notification_type (for complexity like notifications for pictures, videos, apps etc.)
notification
time


notificationsRead
--------------------
id (pk) (i dont think this field is required, anyways)
lasttime_read
userid

विचार अधिसूचना तालिका से अधिसूचनाओं का चयन करना और अधिसूचनाओं में शामिल होना है तालिका पढ़ें और आईडी> अधिसूचना के साथ अंतिम पठन अधिसूचना और पंक्तियों की जांच करें। और हर बार सूचना पृष्ठ खोले जाने पर सूचनाओं से पंक्ति को अद्यतन करेंपढ़ें तालिका।

मुझे लगता है कि अपठित सूचनाओं के लिए क्वेरी इस प्रकार होगी ..

SELECT `userid`, `notification`, `time` from `notifications` `notificationsRead`
WHERE 
`notifications`.`userid` IN ( ... query to get a list of friends ...) 
AND 
(`notifications`.`time` > (
    SELECT `notificationsRead`.`lasttime_read` FROM `notificationsRead` 
    WHERE `notificationsRead`.`userid` = ...$userid...
))

उपरोक्त क्वेरी की जाँच नहीं की गई है। @espais से db डिज़ाइन के विचार के लिए धन्यवाद



  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. PHP के साथ एक कथन में एकाधिक SQL क्वेरी निष्पादित करना

  3. max_allowed_packet आकार कैसे बदलें

  4. Linux/Mac से Amazon EC2 पर MySQL से कैसे कनेक्ट करें?

  5. .NET कोर 2.1 पहचान सभी उपयोगकर्ताओं को उनकी संबंधित भूमिकाओं के साथ मिलती है