MediaWiki数据库表

来源:互联网 发布:粉多多类似软件 编辑:程序博客网 时间:2024/04/30 16:47

在安装MediaWiki时,安装脚本会执行包中的tables.sql来创建数据表。根据安装时选择的数据库类型,程序会选择对应路径下的文件:

如果使用Maria/MySQL,选择的文件路径为maintenance/tables.sql;

如果使用Postgres,选择的文件路径为maintenance/postgres/tables.sql;

如果使用Microsoft SQL Server,选择的文件路径为maintenance/mssql/tables.sql;

如果使用Oracle,选择的文件路径为maintenance/oracle/tables.sql。

 

MediaWiki发展至今,版本几经变迁,新版本中可能会引入新表,而老版本中的某些表也可能被废弃。表的变动情况可参阅:

http://www.mediawiki.org/wiki/Manual:Database_layout#Version_history

1 . 数据库表清单

MediaWiki1.23中,如使用MySQL数据库,则一共会创建50张表,如下是所有表及其简要说明:

user – 保存用户信息

user_groups – 保存用户所在的用户组

user_former_groups – 保存用户曾经所在的用户组

user_newtalk – 用于通知用户讨论页的更新

user_properties – 保存用户的设置信息(当设置为非默认值时才保存)

page – 保存页面的相关信息(此表是wiki系统的核心表)

revision – 保存页面的版本信息,一次编辑生成一个版本

text – 保存页面版本的内容

archive –保存被删除页面的相关信息

pagelinks – 保存页到页之间的链接信息

 

templatelinks – 保存模板页到页之间的链接信息?

imagelinks – 保存页面中的图片链接

categorylinks - 保存页面中的分类链接

category – 保存已存在的分类

externallinks – 保存外部链接

langlinks – 保存多语言版本间的链接

iwlinks – 保存跨wiki系统的链接

site_stats – 保存wiki站点的统计信息(表中只有一行记录)

hitcounter – 缓存被访问页面的id(与$wgHitcounterUpdateFreq参数的设置有关)

ipblocks – 保存被封禁用户/IP的相关信息

 

image – 保存上传的图片和其他文件的信息

oldimage – 保存上传文件的历史版本

filearchive – 保存被删除文件的信息

uploadstash – 保存文件上传时(上传完成前)的信息

recentchanges – “特殊:最近更改”页面的摘要表

watchlist – 保存监视列表信息(即用户访问页面的记录)

searchindex – 保存页面的搜索索引信息(必须使用MyISAM引擎以支持全文检索)

interwiki – 保存可识别的跨wiki链接前缀(跨wiki数据)?

querycache – 缓存代价较高的分组查询?

objectcache – 对象缓存(用于未使用Memcached时的一般缓存操作)

 

transcache –跨wiki的嵌入缓存(与$wgEnableScaryTranscluding参数及interwiki表有关)?

logging – 操作日志

log_search – 日志查找(文档中无详细描述)?

job – 作业(由并行的Apache进程或后台命令行执行的作业)?

querycache_info – 特殊页面缓存的更新细节

redirect – 保存页面中的重定向信息

querycachetwo – 缓存代价较高的需要两个链接的分组查询

page_restrictions – 保存受保护页面信息

protected_titles – 保存受保护标题信息

page_props – 保存页面的属性信息

 

updatelog – 保存升级记录

change_tag – 保存revision/logging/recentchanges表中的标签信息?

tag_ summary – 保存revision/logging/recentchanges表中的标签清单

valid_tag – 有效的更改标签

l10n_cache – 保存本地化数据(一组语言选项下的键-值对)

msg_resource – 缓存资源加载器使用的信息块(JSON格式)

msg_resource_links – 保存resource与message的对应关系

module_deps – 保存模块依赖的本地文件

sites – 保存wiki识别的站点信息

site_identifiers– 保存站点的本地标识符

2. 核心表

页面是MediaWiki系统的核心,与页面相关的主要表为page, revision, text,下文以1.23版MySQL数据库为例来说明这几张表:

(1)page

序号

表名

page

 

字段名

属性

非空

说明

1      

page_id

int unsigned

页面ID(主键)

2      

page_namespace

int

页面命名空间,页面是普通页时该值为0;是图片页时该值为6;是分类页时该值为14...

3      

page_title

varchar(255)

页面标题

页面命名空间和页面标题唯一标识一个页面

4      

page_restrictions

tinyblob

一组逗号分隔的permission key,指明谁可以移动或编辑此页面

5      

page_counter

bigint unsigned

页面被浏览的次数

6      

page_is_redirect

tinyint unsigned

是否为重定向页面

7      

page_is_new

tinyint unsigned

是否为新页面

8      

page_random

real unsigned

介于0到1之间的随机值,供“特殊:随机页面”使用

9      

page_touched

binary(14)

页面被“touch”的时间(重新渲染,缓存失效)

10     

page_links_updated

varbinary(14)

页面被重新解析的时间(此时链接表中的记录执行更新操作)

11     

page_latest

int unsigned

页面的最新版本,指向revision表的rev_id

12     

page_len

int unsigned

页面当前内容的长度(以字节为单位)

13     

page_content_model

varbinary(32)

内容模型(如wikitext)

 

索引

主键:page_id

外键:page_latest -> revision.rev_id

 

其它说明

 

 

(2)revision

序号

表名

revision

 

字段名

属性

非空

说明

1      

rev_id

int unsigned

版本ID(主键)

2      

rev_page

Int unsigned

指向页面ID

3      

rev_text_id

int unsigned

指向text表的old_id,text表保存revision的内容

4      

rev_comment

tinyblob

有关更改的注释信息

5      

rev_user

int unsigned

更改者的id,指向user表的user_id

6      

rev_user_text

varchar(255)

更改者的用户名或IP

7      

rev_timestamp

binary(14)

版本的创建时间

8      

rev_minor_edit

tinyint unsigned

是否勾选了“标记为小编辑”编辑框

9      

rev_deleted

tinyint unsigned

该版本是否已删除

10     

rev_len

int unsigned

该版本的长度(以字节为单位)

11     

rev_parent_id

int unsigned

父ID,指向revision表的rev_id

12     

rev_sha1

varbinary(32)

base-36编码的文本内容哈希值(SHA-1算法)

13     

rev_content_model

varbinary(32)

内容模型

14     

rev_content_format

varbinary(64)

内容格式

 

索引

主键:rev_id

外键:rev_page -> page. page_id

rev_text_id -> text.old_id

      rev_user -> user.user_id

      rev_parent_id -> revision.rev_id

 

其它说明

 

 

(3)text

序号

表名

text

 

字段名

属性

非空

说明

1      

old_id

int unsigned

text ID(主键)

2      

old_text

mediumblob

文本内容

3      

old_flags

tinyblob

文本格式(如gzip, utf8, object)

 

索引

主键:old_id

外键:

 

其它说明

 

参考资料:


0 0
原创粉丝点击