drupal6的博客功能是内置在其核心模块中的,如果仅仅为了完成博客功能,只需要两个基础表:node和node_revisions,前者是所有类型内容的基础,后者提供版本记录和正文。但在博客类型中,为了实现内容的简单聚合,引入了“分类”的概念,因此引入了与分类相关的一系列表:
分类在两个层次上组织,第一层次为词汇(vocabulary),词汇与内容类型(node_type)存在关联(由vocabulary_node_types描述)。第二层次为术语(term),term与vocabulary存在关联,term本身也可以以树状形式展示(由term_hierarchy表描述),term本身可以直接关联(由term_relation描述),也可以存在同义词形式(由term_synonym描述)。
而最终博客节点的分类却是由term与node直接关联的(由term_node描述)
对于上述表定义说明如下:
vocabulary (vocabulary)
词汇表,用以将术语归类
1 | vid | vid |
MEDIUMINT(10) |
N | AUTO INCREMENT 序号 |
|
2 | name | name |
VARCHAR(255) |
N | 名称 | |
3 | description | description |
LONGTEXT |
Y | 描述 | |
4 | help | help |
VARCHAR(255) |
N | 帮助提示 | |
5 | relations | relations |
TINYINT(3) |
N | ||
6 | hierarchy | hierarchy |
TINYINT(3) |
N | ||
7 | multiple | multiple |
TINYINT(3) |
N | 是否多选,选择了自由标签,此选项默认为真 | |
8 | required | required |
TINYINT(3) |
N | 是否必选 | |
9 | tags | tags |
TINYINT(3) |
N | 是否列为标签,影响到词汇的展示形式,如果选择标签,选择分类时可以自由填写,否则下拉选择 | |
10 | module | module |
VARCHAR(255) |
N | 所属模块名 | |
11 | weight | weight |
TINYINT(3) |
N | 权重 |
vocabulary_node_types (vocabulary_node_types)
词汇与内容类型相关表
1 | vid | vid |
MEDIUMINT(10) |
N | 词汇序号 | |
2 | type | type |
VARCHAR(32) |
N | 节点类型 |
node_type (node_type)
节点类型表,用于建立节点时选择类型
1 | type | type |
VARCHAR(32) |
N | 类型代码 | |
2 | name | name |
VARCHAR(255) |
N | 类型名称 | |
3 | module | module |
VARCHAR(255) |
N | 对应的模块 | |
4 | description | description |
MEDIUMTEXT |
N | 描述 | |
5 | help | help |
MEDIUMTEXT |
N | 指导说明 | |
6 | has_title | has_title |
TINYINT(3) |
N | 是否包含题名 | |
7 | title_label | title_label |
VARCHAR(255) |
N | 题名标签 | |
8 | has_body | has_body |
TINYINT(3) |
N | 是否包含正文 | |
9 | body_label | body_label |
VARCHAR(255) |
N | 正文标签 | |
10 | min_word_count | min_word_count |
SMALLINT(5) |
N | 最小字数限制 | |
11 | custom | custom |
TINYINT(3) |
N | 是否自定义类型 | |
12 | modified | modified |
TINYINT(3) |
N | ||
13 | locked | locked |
TINYINT(3) |
N | ||
14 | orig_type | orig_type |
VARCHAR(255) |
N |
term_data (term_data)
术语表
1 | tid | tid |
MEDIUMINT(10) |
N | AUTO INCREMENT 术语序号 |
|
2 | vid | vid |
MEDIUMINT(10) |
N | 词汇序号 | |
3 | name | name |
VARCHAR(255) |
N | 术语名称 | |
4 | description | description |
LONGTEXT |
Y | 描述 | |
5 | weight | weight |
TINYINT(3) |
N | 权重 |
term_hierarchy (term_hierarchy)
术语继承表,影响到术语的展示形式,子节点以分支列于父节点下
1 | tid | tid |
MEDIUMINT(10) |
N | 术语序号 | |
2 | parent | parent |
MEDIUMINT(10) |
N | 术语父序号 |
term_relation (term_relation)
术语关联表
1 | trid | trid |
INT(10) |
N | AUTO INCREMENT 关联序号 |
|
2 | tid1 | tid1 |
MEDIUMINT(10) |
N | 术语序号1 | |
3 | tid2 | tid2 |
MEDIUMINT(10) |
N | 术语序号2 |
term_synonym (term_synonym)
术语同义词表
1 | tsid | tsid |
INT(10) |
N | AUTO INCREMENT 同义词序号 |
|
2 | tid | tid |
MEDIUMINT(10) |
N | 术语序号 | |
3 | name | name |
VARCHAR(255) |
N | 同义词名称 |
term_node (term_node)
节点分类表
1 | nid | nid |
MEDIUMINT(10) |
N | 节点序号 | |
2 | vid | vid |
MEDIUMINT(10) |
N | 节点修订版本序号 | |
3 | tid | tid |
MEDIUMINT(10) |
N | 术语 |
它们之间的关系可以简单描述如下图: