技术解析

个人博客数据库设计问题
0
1975-02-23 03:32:42
idczone

主要是文章表 article 国外服务器和标签表 tag 之间的关系应该是多对多的关系,如果我想添加或者更新文章,那 tag 怎么办?这两个表应该如何设计? SQL 语句如何写?


加一张关联表。

http://docs.typecho.org/database

简单方法:articles 表加一个字段 tag_ids 存 1,2,3 这样的字符串,然后到时候特殊处理就行
复杂点:多一个 article_tags 中间表,多 join 查询一下就行

单独一个 article_tag_relationship 表啊,就两个 column
article_id | tag_id
这样一个表你写 sql 语句还难吗
ORM 处理多对多关系也都是这样的

用中间表记录关系,每次更新文章,如果标签有变动,有两种办法:
1 、逻辑简单:先把该文章 ID 对应的所有标签 ID 关系都删除,重新插入新的对应关系;
2 、逻辑复杂:比较新老对应关系,删除不再使用的关系,插入新的关系,不改的关系继续保留;
建议用方法 1

嗯,说的很明白了,非常感谢

我是这样弄的,文章表,分类表,关联表,分类表只做增加不做删除。文章保存的时候分类转 id 然后把原来的关联全删,添加新的关联。

我直接用得 wordpress 的表

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服