1、考试系统库表设计考试系统库表设计1 引言 31.1 编写目的 31.2 文档导读 32 库表设计 42.1 数据量评估 42.1.1 应用服务器空间评估 42.1.2 数据库服务器空间评估 42.2 表空间和用户设计 52.3 库表设计 62.3.1 系统管理模块 62.3.1.1 公告表(tblnotice) 62.3.1.2 学生表(tblstudents) 72.3.1.3 员工表(tblstaff) 82.3.1.4 员工角色关系表(tblstaff_role) 92.3.1.5 角色表(tblRole) 92.3.1.6 权限表(tblprivilege) 102.3.1.7 菜单表
2、(tblmenu) 102.3.1.8 字典表(tblDict) 112.3.2 试卷管理模块 122.3.2.1 科目类型表(tblclass) 122.3.2.2 级别表(tblLevle) 132.3.2.3 题型表(tbTitleType) 132.3.2.4 题目表(tbTitle) 142.3.2.5 题目备选项表(tbTitle_Option) 142.3.2.6 试卷表(tblPage) 152.3.2.7 试卷生成题目规则表(tblPage_rule) 152.3.2.8 试卷对应题目表(tblPage_title) 162.3.2.9 发试卷(tblstudent_Page
3、) 172.3.2.10 学生答卷表(tblstudent_Page_answer) 172.3.2.11 问卷调查(tblinquiry) 182.3.2.12 问卷调查选项(tblinquiry_Option) 182.3.2.13 学生调查答题表(tblstudent_inquiry) 19文档信息:文件名称:考试系统库表设计.doc文件编号:DTP-20100308-2项目名称:考试系统库表设计项目经理:总设计师:版 本 号:V1.0版本日期:制作:制作日期:审批:审批日期:审核:xxx审核日期: 1 引言1.1 编写目的该文档编写目的主要是为了明确系统需求,和项目干系人达成一致的理解
4、,为将来设计、编码、测试等工作提供参考依据,本项目的预期读者包括:客户、系统分析员、系统设计人员、程序员、测试人员、实施人员和维护人员。1.2 文档导读本文档主要是采用oracle数据库对考试系统的设计,主要从三方面讲述:1、 数据量评估与设计2、 数据表空间的分配3、 库表详细设计2 库表设计2.1 数据量评估本系统最大的数据量在题库中,由于题库中存在图片,而图片我们的设计是以文件的形式保存,即逻辑图如下:2.1.1 应用服务器空间评估假设每题有四个选项,包题目和备选项共5个图片,每个图片在1M以下,估每题5M假设共支持题库10万条即图片空间要求 50万M,即10G,加上中间件2G和程序,保
5、守估算应用服务器磁盘空间最少要15G2.1.2 数据库服务器空间评估假设每条记录10K,支持20万条记录即到少2G2.2 表空间和用户设计-创建临时表空间create temporary tablespace test_temp tempfile D:oracleproduct10.2.0oradatadongnstest_temp.dbfsize 50m autoextend on next 50m maxsize 20480m extent management local; -创建数据表空间create tablespace test_dataloggingdatafile D:orac
6、leproduct10.2.0oradatadongnstest_data.dbf size 500m autoextend on next 50m maxsize 20480m extent management local; -创建用户并指定表空间以后以该用户登录,创建的任何数据库对象都属于test_temp 和test_data表空间,这就不用在每创建一个对象给其指定表空间了 create user test identified by test default tablespace test_data temporary tablespace user_temp;-给用户授予权限 gr
7、ant connect,resource to test;2.3 库表设计2.3.1 系统管理模块2.3.1.1 公告表(tblnotice)字段名类型是否为空备注notice_idnumber(10)not null消息标识 notice_titlevarchar2(100)not null消息标题 notice_contextvarchar2(1024)not null消息内容 publish_datedate not null,发布日期 notice_statenumber(1)not null状态 1:有效 0:无效 staff_idnumber(10)发布人 -公告信息create
8、table tblnotice( notice_id number(10) not null, -消息标识 notice_title varchar2(100) not null, -消息标题 notice_context varchar2(1024) not null, -消息内容 publish_date date not null, -发布日期 notice_state number(1) not null, -状态 1:有效 0:无效 staff_id number(10) -发布人);create sequence seq_tblnotice start with 1;alter t
9、able tblnotice add constraint KEY_tblnotice primary key (notice_id);2.3.1.2 学生表(tblstudents)字段名类型是否为空备注student_idnumber(10)not null学生标识 student_name varchar2(20)not null学生姓名login_namevarchar2(20)not null登录号 login_pwdvarchar2(20)not null密码 student_sex number(1) ,字典:0:未知 1:男 2:女student_birth date ,生日
10、universityvarchar2(50)not null学校 collegevarchar2(50)not null学院 speciality varchar2(50)not null专业 Gradevarchar2(50)not null年级Student_classvarchar2(50)not null班级education_id number(10)not null学历 字典 Graduate_date date毕业时间 relate_Nbrvarchar2(30),联系电话 relate_mailvarchar2(50)not null联系邮件 relate_QQ varchar
11、2(30) qq relate_addrvarchar2(100)联系地址 home_townvarchar2(100)籍贯 student_state number(1)not null状态 1:有效 0:无效 Student_imgVarchar2(50)照片URLChrnotevarchar2(100)备注- 学生表create table tblstudents( student_id number(10) not null, - 学生标识 student_name varchar2(20) not null, - 学生姓名 login_name varchar2(20) not nu
12、ll, - 登录号 login_pwd varchar2(20) not null, - 密码 student_sex number(1) , - 字典:0:未知 1:男 2:女 student_birth date , - 生日 university varchar2(50) not null, - 学校 college varchar2(50) not null, - 学院 speciality varchar2(50) not null, - 专业 grade varchar2(50) not null, -年级 student_class varchar2(50) not null,-
13、班级 education_id number(10) not null, - 学历 字典 graduate_date date, - 毕业时间 relate_Nbr varchar2(30), - 联系电话 relate_mail varchar2(50) not null, - 联系邮件 relate_QQ varchar2(30) , - qq relate_addr varchar2(100), - 联系地址 home_town varchar2(100), - 籍贯 student_img varchar2(50), -照片 student_state number(1) not nu
14、ll, - 状态 1:有效 0:无效 chrnote varchar2(100) - 备注 );create sequence seq_tblstudents start with 1;alter table tblstudents add constraint KEY_tblstudents primary key (student_id);2.3.1.3 员工表(tblstaff)字段名类型是否为空备注staff_idnumber(10)not null员工IDstaff_namevarchar2(20)not null学生姓名login_namevarchar2(20)not null登
15、录号 login_pwdvarchar2(20)not null密码 student_sex number(1) ,字典:0:未知 1:男 2:女universityvarchar2(50)not null任职学校 collegevarchar2(50)not null任职学院 relate_Nbrvarchar2(30),联系电话 relate_mailvarchar2(50)not null联系邮件 relate_QQ varchar2(30) qq relate_addrvarchar2(100)联系地址staff_state number(1)not null状态 1:有效 0:无效
16、chrnotevarchar2(100)备注 -员工表create table tblstaff( staff_id number(10) not null, -员工ID staff_name varchar2(20) not null, -学生姓名 login_name varchar2(20) not null, -登录号 login_pwd varchar2(20) not null, -密码 student_sex number(1) , -字典:0:未知 1:男 2:女 university varchar2(50) not null, -任职学校 college varchar2(
17、50) not null, -任职学院 relate_Nbr varchar2(30), -联系电话 relate_mail varchar2(50) not null, -联系邮件 relate_QQ varchar2(30) , -qq relate_addr varchar2(100), -联系地址 staff_state number(1) not null, -状态 1:有效 0:无效 chrnote varchar2(100) -备注 );create sequence seq_tblstaff start with 1;alter table tblstaff add const
18、raint KEY_tblstaff primary key (staff_id);2.3.1.4 员工角色关系表(tblstaff_role)字段名类型是否为空备注staffRole_idnumber(10)not null员工角色标识 staff_idnumber(10)not null员工ID role_idnumber(10)not null角色ID -员工角色关系表create table tblstaff_role( staffRole_id number(10) not null, -员工角色标识 staff_id number(10) not null, -员工ID role_
19、id number(10) not null -角色ID);create sequence seq_tblstaff_role start with 1;alter table tblstaff_role add constraint KEY_tblstaff_role primary key (staffRole_id);2.3.1.5 角色表(tblRole)字段名类型是否为空备注role_idnumber(10)not null角色ID role_namenumber(10)not null角色名称 role_state number(1)not null状态 1:有效 0:无效chrn
20、otevarchar2(100)备注 -角色表create table tblRole( role_id number(10) not null, -角色ID role_name number(10) not null, -角色名称 role_state number(1) not null, -状态 1:有效 0:无效 chrnote varchar2(100) -备注);create sequence seq_tblRole start with 1;alter table tblRole add constraint KEY_tblRole primary key (role_id);2
21、.3.1.6 权限表(tblprivilege)字段名类型是否为空备注privilege_id number(10)not null权限IDrole_idnumber(10)not null角色IDmenu_idnumber(10)not null菜单ID-权限表create table tblprivilege( privilege_id number(10) not null, -权限ID role_id number(10) not null, -角色ID menu_id number(10) not null -菜单ID);create sequence seq_tblprivileg
22、e start with 1;alter table tblprivilege add constraint KEY_tblprivilege primary key (privilege_id);2.3.1.7 菜单表(tblmenu)字段名类型是否为空备注menu_idnumber(10)not null菜单ID menu_namevarchar2(30)not null菜单名 menu_urlvarchar2(100)菜单URL menu_statenumber(1)not null菜单状态 1:有效 0无效 super_idnumber(10)not null上级菜单ID ,第一级菜单
23、的上级菜单为0-菜单表create table tblmenu( menu_id number(10) not null, -菜单ID menu_name varchar2(30) not null, -菜单名 menu_url varchar2(100) , -菜单URL menu_state number(1) not null, -菜单状态 1:有效 0无效 super_id number(10) not null -上级菜单ID ,第一级菜单的上级菜单为0 ); create sequence seq_tblmenu start with 1;alter table tblmenu a
24、dd constraint KEY_tblmenu primary key (menu_id);2.3.1.8 字典表(tblDict)字段名类型是否为空备注dict_idnumber(10)not null字典ID dict_value number(10)not null字典值 dict_namevarchar2(50)not null字典名字 dict_flagvarchar2(50)not null针对字典间的区别superIdnumber(10),上级字典 chrnotevarchar2(50)备注 create table tblDict( dict_id number(10) n
25、ot null, -字典ID dict_value number(10) not null, -字典值 dict_name varchar2(50) not null, -字典名字 dict_flag varchar2(50) not null, -针对字典间的区别 superId number(10), -上级字典 chrnote varchar2(50) -备注);create sequence seq_tblDict start with 1;alter table tblDict add constraint KEY_tblDict primary key (dict_id);2.3.
26、2 试卷管理模块2.3.2.1 科目类型表(tblclass)字段名类型是否为空备注class_idnumber(10)not null科目ID class_namevarchar2(30)not null科目名 -科目类型表create table tblclass( class_id number(10) not null, -科目ID class_name varchar2(30) not null -科目名);create sequence seq_tblclass start with 1;alter table tblclass add constraint KEY_tblclas
27、s primary key (class_id);2.3.2.2 级别表(tblLevle)字段名类型是否为空备注level_idnumber(10)not null级别IDclass_idnumber(10)not null科目IDlevel_namevarchar2(30)not null级别名sort_idnumber(10)not null排序 -级别表create table tblLevle( level_id number(10) not null, -级别ID class_id number(10) not null, -科目ID level_name varchar2(30)
28、 not null, -级别名 sort_id number(10) not null -排序);create sequence seq_tblLevle start with 1;alter table tblLevle add constraint KEY_tblLevle primary key (level_id);2.3.2.3 题型表(tbTitleType)字段名类型是否为空备注 titleType_idnumber(10)not null题型ID type_namevarchar2(30)not null题型名 支持 1:单选题、2:多选题、3:判断题、4:简答题-题型表create table tbTitleType( titleType_id number(10) not null, -题型ID type_name varchar2(30) not null -题型名 支持 1:单选题、2:多选题、3:判断题、4:简答题);create sequence seq_tbTitleType start with 1;alter table tbTitleTy
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2