自建cms

97 阅读4分钟

cms数据库分析
功能分析:模型(建立数据库),模型字段管理(新建数据库字段管理),
栏目表关联模型,内容关联栏目(这个表中只存一个文档的基本信息(标题、缩略图、所在栏目),其他的信息是存在模型对应的表中的,所以如果要取出一个文档的完整信息需要连模型表取出模型字段的信息), 采集相关的自定义

use itcms;
set names utf8;
# 管理员表
DROP TABLE IF EXISTS it_admin;
CREATE TABLE it_admin
(
	id smallint unsigned not null auto_increment,
	username varchar(30) not null,
	password char(32) not null comment '密码的算法:md5(md5(password).salt)',
	salt char(6) not null,
	role_id smallint unsigned not null comment '关联角色表的角色ID',
	primary key (id)
)engine=MyISAM default charset=utf8;
INSERT INTO it_admin VALUES(1,'admin','89806a026555aef7a7b9105757bb14ae','sdi4rl','addmodel,editmodel');

# 角色表
DROP TABLE IF EXISTS it_role;
CREATE TABLE it_role
(
	id smallint unsigned not null auto_increment,
	role_name varchar(30) not null comment '角色名称',
	action_list text comment'当前管理所拥有的权限的字符串,如果多个权限用,隔开。all:代表有所有的权限',
	primary key (id)
)engine=MyISAM default charset=utf8;

#模型表
DROP TABLE IF EXISTS it_model;
CREATE TABLE it_model
(
	id smallint unsigned not null auto_increment,
	model_name varchar(30) not null comment '栏目名称',
	table_name varchar(30) not null comment '模型对应的表名',
	primary key (id)
)engine=MyISAM default charset=utf8;

#模型字段表
DROP TABLE IF EXISTS it_modelfield;
CREATE TABLE it_modelfield
(
	id smallint unsigned not null auto_increment,
	field_cnname varchar(30) not null,
	field_enname varchar(30) not null,
	field_type enum("single","multi","radio","checkbox","float","int","html","option","img") not null,
	field_value varchar(600) not null default '' comment '默认值, 多个值用,号隔开',
	model_id smallint unsigned not null comment '关联模型表中的ID',
	primary key (id)
)engine=MyISAM default charset=utf8;

# 栏目表
DROP TABLE IF EXISTS it_category;
CREATE TABLE it_category
(
	id smallint unsigned not null auto_increment,
	cat_name varchar(30) not null comment '栏目名称',
	parsent_id smallint unsigned not null default '0' comment '上级栏目的ID,0:顶级栏目',
	model_id smallint unsigned not null comment '关联模型表中的ID',
	list_temp varchar(150) not null comment '列表页模板',
	content_temp varchar(150) not null comment '内容页模板',
	primary key (id)
)engine=MyISAM default charset=utf8;

# 内容文档表:这个表中只存一个文档的基本信息(标题、缩略图、所在栏目),其他的信息是存在模型对应的表中的,所以如果要取出一个文档的完整信息需要连模型表取出模型字段的信息
DROP TABLE IF EXISTS it_archives;
CREATE TABLE it_archives
(
	id int unsigned not null auto_increment,
	title varchar(30) not null,
	litpic varchar(150) not null default '',
	typeid smallint unsigned not null comment '主栏目',
	typeid2 varchar(150) not null default '' comment '副栏目,可以属于多个栏目多个栏目的ID用,隔开',
	model_id smallint unsigned not null comment '所在模型的ID',
	primary key (id)
)engine=MyISAM default charset=utf8;

# 采集的节点的基本信息表
DROP TABLE IF EXISTS it_cjinfo;
CREATE TABLE it_cjinfo
(
	id int unsigned not null auto_increment,
	model_id smallint unsigned not null comment '采集的模型的ID',
	cjname varchar(30) not null comment '节点名称',
	cjlisturl varchar(150) not null comment '要采集的目标网站的URL地址',
	startnum int unsigned not null,
	endnum int unsigned not null,
	startarea varchar(600) not null,
	endarea varchar(600) not null,
	cjcontenturl varchar(150) not null comment '要采集的某一个内容页的地址',
	titlefieldrule varchar(500) not null comment '标题字段的规则字符串',
	primary key (id)
)engine=MyISAM default charset=utf8;

# 采集点中字段的规则表 -> 每一条 记录就是一个规则
DROP TABLE IF EXISTS it_cjfieldrule;
CREATE TABLE it_cjfieldrule
(
	id int unsigned not null auto_increment,
	cj_id int unsigned not null comment '关联采集节点基本信息表',
	rulestr varchar(500) not null comment '规则的字符串',
	field_id smallint unsigned not null comment '采集的字段的ID',
	primary key (id)
)engine=MyISAM default charset=utf8;

# 采集到的数据暂时存储的表-基本信息信息 -> 标题、缩略图、电影源地址
DROP TABLE IF EXISTS it_cjdata;
CREATE TABLE it_cjdata
(
	id int unsigned not null auto_increment,
	title varchar(30) not null,
	litpic varchar(150) not null default '',
	ourl varchar(150) not null comment '电影源地址',
	cj_id int unsigned not null comment '采集节点的ID,用来标签这个数据是哪个采集采集到的',
	primary key (id)
)engine=MyISAM default charset=utf8;

# 根据字段规则采集到的数据
DROP TABLE IF EXISTS it_cjfielddata;
CREATE TABLE it_cjfielddata
(
	id int unsigned not null auto_increment,
	data varchar(150) not null comment '根据字段规则采集到的数据',
	field_id smallint unsigned not null comment '这个数据是哪个字段的数据',
	basedata_id int unsigned not null comment '关联采集到的基本信息的ID',
	primary key (id)
)engine=MyISAM default charset=utf8;