Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да структурирам база данни за сигнали за непрочетени елементи на потребител

Докато преглеждате съответната схема за phpBB , намерих следното:

# 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`;

И:

# 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`;

След това поглеждам тук в тяхното уики :

Така че по същество те имат таблица за търсене, за да съхраняват данните, свързани с разглеждането на дадена тема (нишка от потребителя), и след това я проверяват спрямо времевата марка в таблицата за преглед на форума, за да определят дали темата е била прегледана от потребителя.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Увеличете полето за ID на таблица с побитово броене

  2. Намерете най-близката географска ширина/дължина с SQL заявка

  3. Заредете Javascript масив с данни от базата данни MYSQL

  4. Мигрирайте данни и схема от MySQL към SQL Server

  5. предотвратяване на изтриване * от таблицата, освен ако не е посочен първичен ключ