sql

--职业表
create table vocation 
(
	vc_id number(10),
	--职业名称
	vc_name varchar2(50) not null,
	--上级职业名称 
	vc_parentid number(10),
	--简单描述
	vc_description varchar2(500),
	--是否还有下级职业 
	vc_ishavechild number(1) default 0,
	constraint PK_VC_ID primary key (vc_id)
) 
alter table vocation add constraint FK_VOCATION_REF_VOCATION foreign key (vc_parentid) references vocation(vc_id); 
--用户表
create table users
(
	u_id number(10) not null,
	--用户名称
	u_name varchar2(50) not null,
	--用户密码
	u_password varchar2(50) not null,
	--初始密码用于系统管理员恢复用户密码
	u_initps varchar2(50) not null,
	--职业级别
	u_occupationlevel number(1) not null,
	--用户状态
	u_status number(1) not null,
	--用户职业类别
	u_vc_type number(10) not null
)
alter table users add constraint PK_USER_ID primary key (u_id);
alter table users add constraint CK_USER_STATUS check (u_status in(1,0,-1));
/**
	1菜鸟2 中级3专家级
*/
alter table users add constraint CK_USER_OCCUPATIONLEVEL check (u_occupationlevel in(1,2,3,4,5));
alter table users add constraint FK_USERS_REF_VOCATION foreign key (u_vc_type) references vocation(vc_id);	
--知识点
create table knowledge
(
	k_id number(10),
	--知识名称
	k_name varchar2(100) not null,
	--父级知识点
	k_parent_id number(10),
	--重要程度
	k_importance char(1),--三级才有XYZ
	--比例分配
	k_proportion char(8),--二级才有(sumx:sumy:sumz)
	--是否有子级知识点	
	k_ishavechild number(1) default 0,
	k_createdate date default sysdate,
	k_createuser number(10) not null,
	k_status number(1) not null
)
alter table knowledge add constraint PK_KNOWLEDGE primary key (k_id);
alter table knowledge add constraint FK_KNOWLEDGE_REF_KNOWLEDGE foreign key (k_parent_id) references knowledge(k_id);
/**
	1使用2暂停
*/
alter table knowledge add constraint CK_KNOWLEDGE_STATUS check (k_status in (1,0,-1) );

--试题表
create table questions
(
	q_id number(10),
	q_k_id number(10),
	--难度系数
	q_difficult_degree number(2,1) not null,
	q_vc_id number(10) not null,
	q_type number(2) not null,
	q_content varchar2(2000) not null,
	--单选多选项
	q_choice1 varchar2(100),
	q_choice2 varchar2(100),
	q_choice3 varchar2(100),
	q_choice4 varchar2(100),
	q_choice5 varchar2(100),
	q_choice6 varchar2(100),
	/***/
	--填空题 空项位置 content 
	q_position1 number(3),
	q_position2 number(3),
	q_position3 number(3),
	q_position4 number(3),
	q_position5 number(3),
	q_position6 number(3),
	--	图片题中图片URL
	q_content_image1 varchar2(100) ,
	q_content_image2 varchar2(100) ,
	q_content_image3 varchar2(100) ,

	--试题答案 单选多选对应 q_choice问答描述 对应 文本

	q_answer varchar2(1000),
	q_createuser number(10) not null
	
)
alter table questions add constraint FK_QUESTIONS_REF_VOCATION foreign key (q_vc_id) references vocation(vc_id)
alter table questions add constraint PK_QUESTIONS  primary key(q_id);
alter table questions add constraint FK_QUESTIONS_REF_KNOWLEDGE foreign key (q_k_id) references knowledge(k_id);

--	1 单选 2多选3 填空

alter table questions add constraints CK_QUESTIONS_TYPE check (q_type in (1,2,3,4,5,6,7,8,9));
--试卷表
create table questionpaper
(
	qp_id number(10),
	--试卷编号
	qp_number varchar2(100) not null,--对外使用
	--试卷名称
	qp_name varchar2(100) not null,
	--试卷总分值
	qp_mark number(3) not null,
	--试卷平均难度
	qp_average_dif_gree number(2,1),
	--创建人
	qp_createuser number(10),
	--创建时间
	qp_createdate date ,
	--审核人
	qp_verifyuser number(10),
	--审核时间
	qp_verifydate date,
	--试卷预计使用年限
	qp_years number(1),
	--试卷状态 1使用0 停用
	qp_status number(1),
	--系统自动生成试卷的路径
	qp_docurl varchar2(200),
	--系统自动生成试卷答案的路径
	qp_docanswerurl varchar2(200)
)
alter table questionpaper add constraint PK_QUESTIONPAPER primary key (qp_id)
--试卷内容表
create table qpcontent
(
	qpc_id number(10),
	--对应试卷主键
	qpc_qp_id number(10),
	--对应试题主键
	qpc_q_id number(10),
	--试题答案
	qpa_ansnswer varchar2(2000)
	--分配的分值
	qpc_values number(3,2)
)
/**
--试卷答案表
create table qpansswer
(
	qpa_qp_id number(10),
	
)*/
--试卷整体分析表
create table qpanalyse
(
	qpay_id number(10),
	--分析试卷的主键
	qpay_qp_id number(10),
	--参数考试总人数
	qpay_attendcount number(10),
	--试题平均得分重新评估试题维度
	qpay_averageacore number(3,2)
)
--试卷分析明细
create table qpa_detail
(
	
)
--考生分数表
create table userscore
(
	us_id number(10),
	--参加考试用户主
	us_user_id number(10),
	--使用试卷主键 
	us_qp_id number(10),
	--总得分
	us_socre number(3,2)
	--考试时间
	us_date date
)
--考生分数明细表
create table usdetail
(
	--具体那次考试对应考生分数主键
	usd_us_id number(10),
	--试卷试题ID
	usd_qp_id number(10)
	-- 该试题得分
	usd_socre number(3,2)
	
)
--试卷鉴定范围可以通过以上表组合分析出
create table qpauthenticate
(
	qpat_qp_id number(10),
	qpat_k_id number(10),
)
--用户记录
create table usertrace
(
	--用户id
	ut_user_id number(10),
	--用户登陆时间
	ut_logindate date ,
	--用户注销系统时间
	ut_loginoutdate date,
	--用户登陆IP
	ut_loginip varchar2(15),
	constraint PK_USERTRACE primary key (ut_user_id)
)
--用户痕迹
create table usermark
(	
	um_user_id number(10),
	
	--试题主键
	um_q_id number(10),
	--操作类型 读 做 
	um_operate number(1),
	--操作时间
	um_operate_date date ,
	--是否试卷还是试题
	um_type number(1),
	um_qp_id number(10),
	constraint PK_USERMARK primary key (um_user_id,um_q_id,um_qp_id)
)
alter table usermark add constraint FK_REF_QUESTIONS foreign key (um_q_id) references questions(q_id);
alter table usermark add constraint FK_REF_QUESTIONPAPER foreign key (um_qp_id) references questionpaper(qp_id);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值