Advertisement

文章分类标签数据库设计

阅读量:

文章分类对应标签数据库设计

这是16 年写的文章。自己悠着看

几乎在大部分管理新闻列表项目中都涉及文章与标签的设计可以说都是比较常见的典型例子考虑到很多种方法后发现共有三四种对应关系我现在来介绍一种最节省数据库资源的文章分类和标签数据库设计方法

需求说明

  • 新闻分类,标签说明
  • 详细需求
原型说明图

数据表设计

在此处我们计划建立三张表格分别是Acsicle文章信息表Tagged标签表以及act_mapptags映射表

1、Acticle文章信息表

id title description
1 重大利好消息来袭,光伏行业有望打破坚冰 光伏产业潜伏盘整已有较长一段时间,最新的几项利好消息或许能打破坚冰,促进产业回暖。
2 华谊兄弟5年来首次收入下滑 如何突破瓶颈还是未知数 2月23日晚间,华谊兄弟发布了2016年年报。年报显示,报告期公司实现营业总收入为34.73亿元,较上年同期下滑10.34%,归属于上市公司股东净利润为8.08亿元,较上年同…

2、tags 标签表

id tag
1 能化
2 股市
3 经济
4 公司
5 要闻

3、ActMappTags 映射表

id a_id t_id
1 1 1
2 1 2
3 1 3
4 2 4
5 2 5

4 、表与表之间的关系图

表表之间的关系

怎么查询遍历出数据

首先,我们来建表三张表。

复制代码
    CREATE TABLE acticle(
      id IfNT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
      title VARCHAR(120) NOT NULL DEFAULT '' COMMENT '文章标题',
      description VARCHAR(255) NOT NULL DEFAULT '' COMMENT '信息描述'
    )ENGINE MyISAM CHARSET UTF8 COMMENT '文章表';
    
    INSERT INTO acticle (title, description) VALUES ('重大利好消息来袭,光伏行业有望打破坚冰','光伏产业潜伏盘整已有较长一段时间,最新的几项利好消息或许能打破坚冰,促进产业回暖。'),('华谊兄弟5年来首次收入下滑 如何突破瓶颈还是未知数','2月23日晚间,华谊兄弟发布了2016年年报。年报显示,报告期公司实现营业总收入为34.73亿元,较上年同期下滑10.34%,归属于上市公司股东净利润为8.08亿元,较上年同...');
    
    CREATE TABLE tags(
      id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
      tag_name VARCHAR(56) NOT NULL DEFAULT '' COMMENT '标签名字'
    )ENGINE MyISAM CHARSET UTF8 COMMENT '标签表';
    
    INSERT INTO tags (tag_name) VALUES ('能化'),('股市'),('经济'),('公司'),('要闻');
    
    CREATE TABLE ActMappTags(
      id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
      a_id INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'acticle的ID',
      t_id INT(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'tags的ID'
    )ENGINE MyISAM CHARSET UTF8 COMMENT '映射表';
    
    INSERT INTO ActMappTags (a_id, t_id) VALUES (1,1),(1,2),(1,3),(2,4),(2,5);
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解释

全部评论 (0)

还没有任何评论哟~