--职业表
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);
sql
最新推荐文章于 2024-06-27 18:08:19 发布