首页 > 编程知识 正文

用户标签表设计,数据库应用系统用户界面怎么设计

时间:2023-05-04 20:25:11 阅读:185659 作者:1035

需求背景

目前主流的博客系统,CMS都有TAG标签系统,不仅加强了内容链接的结构化,而且可以通过TAG来区分文章。 与传统的Keyword模式相比,该Tag模式可以单独设计Map的映射表,提高系统负载和查询效率。

数据库设计方案1

该方案分为两个表。

1 .标签表

2 .文章表

Tag表结构:

复制代码的话就是:

tagID # tag标签的id

标记#标记的内容

num #当前Tag的引用数

文章表格结构:

复制代码的话就是:

ID #文章ID

title #文章标题

tags #tags列表、多个、分割

tagID #tags的id有多个,被分割

.

在这种方式下,Tag标签的主要内容保存在文章表中,对Tag表的压力很小,虽然在添加时只是更新Tag的引用数,但是查询时的效率不够高,不是一个好方法。

数据库设计方案2

第二种方案使用两个Tag表。 一个保存Tag信息,另一个保存映射信息。

Tag表:

复制代码的话就是:

tagID # tag标签的id

标记#标记的内容

num #当前Tag的引用数

标签映射表

复制代码的话就是:

tagid

智能手机

文章的正面

复制代码的话就是:

ID #文章ID

title #文章标题

tags #tags列表、多个、分割

.

每次发布内容或修改内容时,此格式都会更新Tag和Tagmap表。

查询时,需要从Tagmap表中查找响应的文章ID,并使用文章ID查询具体的文章信息。 因为每次查询都使用索引,所以很有效率。

数据库设计方案3

前两个方案使用纯Mysql设计,第三个方案使用Nosql吸引力设计。

基本结构与方案2相同,只需在Tag表和Tagmap表中使用nosql数据库服务器(如mongo/redis ),即可发挥nosql数据库强大的线性查询能力。

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

2 )其他方案当然是发挥Nosql的线性能力设计存储器的Key。 特别是在使用redis的情况下,使用的Key的结构能够完全提高查询效率

参考:

3358 www.cn blogs.com/adandelion/archive/2009/07/29/1533854.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。