Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Śledzenie powiadomień na Facebooku (DB Design)

Nie wiem, czy jest to najlepszy sposób, aby to zrobić, ale ponieważ nie mam żadnych pomysłów od nikogo innego, właśnie to bym robił. Mam nadzieję, że ta odpowiedź może pomóc również innym.

Mamy 2 stoły

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

Chodzi o to, aby wybrać powiadomienia z tabeli powiadomień i dołączyć do tabeli notificationsRead i sprawdzić ostatnio odczytane powiadomienie oraz wiersze z identyfikatorem> notificationid. I za każdym razem, gdy strona powiadomień jest otwierana, aktualizuj wiersz z tabeli powiadomieńPrzeczytaj.

Zapytanie o nieprzeczytane powiadomienia wyglądałoby tak...

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...
))

Powyższe zapytanie nie jest sprawdzane.Dzięki idei projektowania db z @espais



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zresetować hasło roota w MySQL 8.0?

  2. Jak zmienić typ danych dla kolumny w MySQL?

  3. Instalowanie WordPressa 5 na ZEIT teraz z hostingiem MySQL

  4. Czy przechowywanie nazw użytkowników i haseł w bazie danych jest bezpieczne?

  5. Korzystanie z Oracle JDeveloper z MySQL Database Service na Oracle Cloud Platform, część 3