WordPress 数据库结构全解析
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论