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

Jak ustrukturyzować bazę danych dla alertów o nieprzeczytanych elementach na użytkownika?

Podczas przeglądania odpowiedni schemat phpBB , znalazłem:

# Table: 'phpbb_topics_track'
CREATE TABLE phpbb_topics_track (
    user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    mark_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
    PRIMARY KEY (user_id, topic_id),
    KEY topic_id (topic_id),
    KEY forum_id (forum_id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;

Oraz:

# Table: 'phpbb_forums_track'
CREATE TABLE phpbb_forums_track (
    user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
    mark_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
    PRIMARY KEY (user_id, forum_id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;

Następnie patrzę tutaj na ich wiki :

Zasadniczo mają więc tabelę przeglądową do przechowywania danych związanych z oglądaniem tematu (wątku) przez użytkownika, a następnie sprawdzają go względem sygnatury czasowej w tabeli widoku forum, aby ustalić, czy temat był oglądany przez użytkownika.



  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-optymalizuj instrukcję przypadku

  2. nie można wyświetlić wyników zapytania w widoku codeigniter

  3. Dlaczego transakcje nie są wycofywane podczas używania SpringJUnit4ClassRunner/MySQL/Spring/Hibernacja

  4. MySQL Cast jako Boolean

  5. Zapytanie w celu znalezienia kluczy obcych