wiki数据库表

xiaoxiao2021-03-01  19

现在涉及到构建后台数据库表,问题是这样的,有上千个词条,每个词条有上百个历史版本,而且可能涉及到不定期的增加历史版本的问题。怎么构建可以灵活支持以后插入新的数据就成为了一个问题。 1、最简单的想法就是把数据写在一个表中: 列:page_id(词条的id)、revision_id(词条版本的id)、text(词条的内容) 但是这样的话,表太大,现在我抓取了截止到2011年4月19号的所有英文高质量词条,共3251个。每个词条有500个历史记录(我现在想的是,500个记录会不会太多,主要是我后面分析数据的时候难度可能会增加,所以我准备减少到200个记录,最后看实验结果了。。。唉。) 2、分表,每500个词条在一个表中。 列:page_id(词条的id)、revision_id(词条版本的id)、text(词条的内容) 与第一个没什么区别,就是把大表搞小了而已 3、今天看了看wiki本身的数据库表的设计。。它的数据比我做实验的要大多了,数据库表中的关系也要复杂多了。不过也挺有收获的,最后决定我的数据库表的采用和它一致的方法。只是我的简单多了。。只涉及三个表。 (1)表page 列:page_id(词条的id)、page_name(词条的名称) (2)表revision 列:revision_page(词条的id)、rev_text_id(词条历史版本的id)、rev_user(词条历史版本的作者) (3)表text 列:text_id(词条历史版本的id)、text(历史记录) ---------------------------------------------------------------------------------- 当然这只是表设计的一部分。表中的列没有写全。主要是记录设计的思想。 相关资源:mySql数据库在线管理系统
转载请注明原文地址: https://www.6miu.com/read-3378202.html

最新回复(0)