需求背景

目前主流的博客系统、CMS都会有一个TAG标签系统,不仅可以让内容链接的结构化增强,而且可以让文章根据Tag来区分。相比传统老式的Keyword模式,这种Tag模式可以单独的设计一个Map的映射表来增加系统的负载和查询的效率。

数据库设计方案1

此方案分为2个表:

1.Tag表
2.文章表

Tag表表结构:

 代码如下:
tagid # tag标签的ID
tagname #tag内容
num #当前Tag的引用个数

文章表结构:

代码如下:
ID #文章ID
title #文章标题
tags #tags列表,多个以,分割
tagid #tags的ID 多个以,分割
...

此种方式Tag标签主要内容保存在 文章表 中,对于Tag表的压力较小,只是添加的时候更新一下Tag的引用数量,但是查询的时候效率不足,不是好办法

数据库设计方案2

第二种方案使用2个Tag表,其中一个保存Tag信息,另一个保存映射信息:

Tag表:

代码如下:
tagid # tag标签的ID
tagname #tag内容
num #当前Tag的引用个数

Tagmap表

代码如下:
tagid
aid

文章表

代码如下:

ID #文章ID
title #文章标题
tags #tags列表,多个以,分割
...

这种形式,每次发布内容和修改内容的时候 都去更新一下Tag表和 Tagmap表。

查询的时候需要从Tagmap表中查找响应的文章ID,然后使用文章ID去查询具体的文章信息,因为每次查询都是使用索引,所以效率较高。

数据库设计方案3

前两种方案都是使用纯粹的Mysql来设计的,第三种方案将使用Nosql的魅力来设计。

基本结构同方案2,只是在Tag表和Tagmap表中使用mongo/redis这样的nosql数据库服务器,这样可以发挥nosql数据库强大的线性查询能力。

1) 第一种方式的表结构设计与方案2完全相同,只是数据库服务器换了。

2)其他的方案,当然是发挥Nosql的线性能力来设计存储的Key了,尤其是使用redis的时候,使用的Key的结构可以完美的提高查询效率

用户标签系统 数据库设计相关推荐

  1. 标签系统mysql设计_关于tag标签系统的实现

    实验室的项目,需要做对用户发布的主题进行打标签的功能,纠结甚久,实现思路如下: 一.数据库表的设计 1.tag表 create table qa_tag ( tag_id int primary ke ...

  2. 数据库设计:用户登录系统数据库表设计

    用户登录系统数据库表设计 最近看了看公司后台用户登录系统的设计, 比较混乱, 主要还是因为URS和Oauth以及URS第三方这三个登录形式各不相同导致的. 下面着重介绍一下涉及到第三方登录中需要注意的 ...

  3. 博客-评论系统数据库设计及实现

    前言 最近在开发一个小型个人博客,在数据库设计方面遇到了一些问题,这里做一个记录. 我设计的博客包含博客的基本信息,包括标题.内容等,此外还包括博客的标签.类型和评论. 实际效果如下: 设计 一条博客 ...

  4. cs结构航空订票系统java_VC++航空订票系统数据库设计-课程设计

    VC++航空订票系统数据库设计 目录 一  绪论 1 二 需求分析 1 三 概要设计 2 四 详细设计 4 五 调试分析 19 六 测试结果 20 七 用户使用说明 29 小结 29 参考文献 30 ...

  5. 电子商务(电销)平台中用户模块(User)数据库设计明细

    原文:电子商务(电销)平台中用户模块(User)数据库设计明细 以下是自己在电子商务系统设计中的订单模块的数据库设计经验总结,而今发表出来一起分享,如有不当,欢迎跟帖讨论~ 用户基础表(user_ba ...

  6. 神策用户标签系统,深入业务构建用户价值体系

    用户画像的精准勾勒,能够帮助企业与消费者产生共情,设身处地地思考用户需求.一套科学的标签体系,能够赋予用户画像以生气,并在用户获取成本飙涨的市场环境下,以最低的成本最大限度地挖掘客户生命周期的价值.随 ...

  7. 什么样的用户标签系统,可以深入业务构建用户价值体系?

    用户画像的精准勾勒,能够帮助企业与消费者产生共情,设身处地地思考用户需求.一套科学的标签体系,能够赋予用户画像以生气,并在用户获取成本飙涨的市场环境下,以最低的成本最大限度地挖掘客户生命周期的价值.随 ...

  8. 用户标签体系的设计和效果评估

    导读:随着互联网流量逐渐见顶,传统的粗狂式的买量获客冲业绩很快会成为业务发展的瓶颈.对于中大型互联网公司来说,精细化的运营和精准化营销是企业运营老户,发挥存量用户最大价值的必经之路.新的流量洼地越来越 ...

  9. 考试系统mysql数据库设计_在线考试系统数据库设计(表)

    <在线考试系统数据库设计(表)>由会员分享,可在线阅读,更多相关<在线考试系统数据库设计(表)(7页珍藏版)>请在人人文库网上搜索. 1.在线考试系统数据库设计数据库名OnLi ...

最新文章

  1. 让织梦内容页arclist标签的当前文章标题加亮显示
  2. cocos2d-x游戏开发系列教程-坦克大战游戏之坦克的显示
  3. nginx http请求强转https 无www强转www服务 过百度https认证
  4. Oracle数据库权限管理
  5. FFMpeg分析详细分析
  6. 函数参数的值传递和地址传递
  7. 春招快到了,送你一份数据分析常见面试题
  8. 商务办公管理咨询服务响应式模板
  9. 2176. 统计数组中相等且可以被整除的数对
  10. 小白跟学系列之手把手搭建NLP经典模型-2(含代码)
  11. linux gpt分区挂载,GPT分区和挂载
  12. 设计之星 ai_漫画 |《钢铁之星》:AI肆虐的时代,夹杂人类阴谋
  13. 电脑主机电源与主板线的接法图解,小白与傻白甜必备
  14. 〖Python WEB 自动化测试实战篇⑤〗- selenium 元素定位详解 - (八大元素定位方式)
  15. Eqs POJ - 1840
  16. TCL L32F2510E 安装第三方软件方法
  17. 树莓派与OpenCV实现人脸识别(OpenCV安装篇)
  18. excel部分内容有问题xml的修复
  19. vscode_历史版本下载_便携版/安装版
  20. DOTS支持的shader

热门文章

  1. 家庭财务管理,从记账开始
  2. 2021年制冷与空调设备运行操作最新解析及制冷与空调设备运行操作模拟考试题库
  3. ICLR 2023 | 厦大港大提出MRM:利用视觉+语言数据增强视觉特征
  4. python2和python3的区别、转换及共存
  5. linux-mariadb
  6. shopee商家入驻需要什么条件?注册虾皮shopee网店其实非常简单
  7. 亚马逊跨境电商平台四大特点,你了解吗?
  8. Postgresql关于wal日志总结,一文搞清楚它的所有概念和相关操作
  9. 第五章 spring-context之LifecycleProcessor( 生命周期 )
  10. 通过VBA将一个工作簿中的多个工作表拆分为多个工作簿,以工作表名称命名工作簿