WordPress 数据库结构全解析

发布于 2018-08-13 字数 4373 浏览 1171 评论 0

WordPress 实在是太优美了,是我见过的网站 CMS 里面最简介的 Blog 程序,整个程序只有 10 个表,简约而不简约,每一个数据表环环相扣,如此的优美,WordPress 的官方文档对这 10 个数据表有一个大概的介绍,具体网址是:WordPress数据库官方文档

一、数据库表介绍

WordPress数据库的10个数据表分别是:

表名 描述
wp_comments 文章评论信息表
wp_links 链接信息表
wp_options 基本配置信息表,通常通过 get_option 来操作,该表通常作为插件存储数据的一个地方。
wp_postmeat 文章额外数据表,例如文章浏览次数,文章的自定义字段等都存储在这里。
wp_posts 文章信息表,包括了日志、附件、页面等等信息。是 WordPress 最重要的一个数据表。
wp_terms 文章分类、链接分类、标签的信息表。
wp_term_relationships 分类与文章信息表(wp_posts)、链接表(wp_links)的关联表。
wp_term_taxonomy 分类信息表,区分 wp_terms 信息的分类类型,有 category、link_category 和 tag 三种分类类型。
wp_usermeta 用户额外信息表
wp_users 用户基本信息表。存放系统所有用户基本信息。

二、数据库表的关系

WordPress 数据库表之间的关系是什么呢?

要 搞明白这个问题以及对 WordPress 数据表之间的关系有更加深刻的理解,让我们先来想想 WordPress 博客系统的功能,默认安装的 WordPress2.6.2 版本博客系统涉及的数据信息主要包括了用户信息、分类信息、链接信息、文章信息、文章评论信息、基本配置信息这 6 类信息。

  • 用户信息:系统中所有注册用户的帐号信息。
  • 分类信息:包括了文章分类、链接分类、标签这3中分类信息。
  • 链接信息:就是博客系统中的友情链接信息。
  • 文章信息:博客系统中的日志、日志产生的附件、页面等信息。
  • 文章评论信息:对具体日志或者附件的评论信息。
  • 基本配置信息:系统中的基本配置信息,例如博客名称,博客地址等等。

WordPress 数据库的 10 个数据表就是为了存储以上 6 类数据信息而设计,WordPress 博客系统 6 类数据信息分别所涉及的数据表及关系如下表所示:

信息类型 涉及数据表及关联关系
用户信息 数据表:wp_users、wp_usermeta,关联关系:wp_users.ID->wp_usermeta->user_id
分类信息 数据表:wp_terms、wp_term_taxonomy关联关系:wp_terms->term_id->wp_term_taxonomy
链接信息 数据表:wp_links、wp_term_relationships、wp_terms、wp_term_taxonomy、 wp_users、wp_usermeta 关联关系:
一,确定链接所属分类
(1)wp_links.link_id->wp_term_relationships.object_id,
(2)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id(该关系还要取决与wp_term_taxonomy表中的 taxonomy分类类型为“link_category”)
(3)wp_terms->term_id->wp_term_taxonomy
二、确定链接所有者
(4)wp_links.link_owner->wp_users.ID
(5)wp_users.ID->wp_usermeta.user_id
文章信息 数据表:wp_posts、wp_postmeta、wp_comments、wp_term_relationships、wp_terms、 wp_term_taxonomy、wp_users、wp_usermeta 关联关系:
一、确定文章信息
(1)wp_posts.ID->wp_postsmeta.post_id
二、确定文章评论
(2)wp_posts.ID->wp_comments.comment_post_id
三、确定文章评论的作者
(3)wp_comments.comment_author->wp_users.ID
(4)wp_users.ID->wp_usermeta.user_id
四、确定文章所属分类
(5)wp_posts.ID->wp_term_relationships.object_id
(6)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id(该关系还要取决与wp_term_taxonomy表中的taxonomy分类类型为“category”或者“tag”)
(7)wp_terms->term_id->wp_term_taxonomy
五、确定文章作者
(8)wp_posts.author->wp_users.ID;
(9)wp_users.ID->wp_usermeta.user_id
文章评论信息 数据表:wp_comments、wp_posts、wp_users、wp_usermeta关联关系:
一、确定评论的文章
(1)wp_comments.comment_post_id->wp_posts.ID二、确定评论的作者
(2)wp_comments.comment_author->wp_users.ID
(3)wp_users.ID->wp_usermeta.user_id
基本配置信息 数据表:wp_options没有关联关系

如果你对这篇文章有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助。

扫码二维码加入Web技术交流群

您暂时不能评论!

管理员开启了需要登录才能够评论,你可以免费注册一个本站的账号。

还没有评论!

目前还没有任何评论,快来抢沙发吧!