Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách cấu trúc cơ sở dữ liệu cho các cảnh báo mục chưa đọc cho mỗi người dùng

Trong khi xem xét lược đồ có liên quan cho phpBB , Tôi đã tìm thấy những điều sau:

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

Và:

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

Sau đó, tôi xem tại đây trong wiki của họ :

Vì vậy, về cơ bản họ có một bảng tra cứu để lưu trữ dữ liệu liên quan đến việc người dùng xem một chủ đề (chuỗi), sau đó kiểm tra nó dựa trên dấu thời gian trong bảng xem diễn đàn, để xác định xem chủ đề đã được người dùng xem hay chưa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thêm mysql_real_escape_string () khiến các giá trị trống được lưu trữ vào cơ sở dữ liệu

  2. MySQL:khoảng thời gian khả dụng trong thời gian liên tiếp

  3. Làm cách nào để loại bỏ khoảng cách dòng giữa các dòng trong Textarea?

  4. Cảnh báo:mysql_query ():đối số được cung cấp không phải là tài nguyên MySQL-Link hợp lệ

  5. Các chỉ mục MySQL - các phương pháp hay nhất là gì?