在线考试系统数据库设计电子版本.docx
《在线考试系统数据库设计电子版本.docx》由会员分享,可在线阅读,更多相关《在线考试系统数据库设计电子版本.docx(20页珍藏版)》请在冰豆网上搜索。
在线考试系统数据库设计电子版本
在线考试系统数据库设计
数据库设计文档
成员:
曹丽琼冯继伟刘维毅
班级08软工三班
指导老师:
郭东恩
日期:
2011-5-22
数据库设计文档
1引言
1.1编写目的
本文档是本项目开发中至关重要的一部分,通过本档编写,对本项目中相关数据存储信息进行明确定位,对数据结构等相关信息进行明确说明。
本文档尽可能的详细说明各个实体的属性及相互联系,使开发人员的开发效率尽可能增加。
1.2项目来源
Ø实训要求
Ø开发人员:
全体成员
Ø文档使用者:
oracle开发人员、程序设计人员
1.3文档约定
1.4预期读者和阅读建议
Ø开发人员:
对oracle和java熟悉
Ø测试人员:
对java及oracle有一定的了解
1.5参考资料
1《在线考试系统可行性分析》
2《在线考试系统需求分析》
3《项目(bbs)数据库设计文档—刘维毅》
4
2数据库命名规则
Ødb_examonline:
在线考试系统数据库
Øtb_invigilate:
监考人员
Øtb_user:
学生或用户信息表
Øtb_select:
选择题相关信息表
Øtb_answer:
简答题相关信息
Øtb_boolean:
判断题相关信息
Øtb_admin:
管理员信息表
Øtb_page:
数据库测试试题
3数据库设计说明
3.1数据库逻辑设计
数据字典
●考生属性:
编号tid,姓名uname,登录密码upassword,学号uno,班级uclass,考试状态ustate
●监考人员属性:
编号tid,姓名name,登录密码password
●管理员属性:
编号aid,姓名name,登录密码password
●试卷属性:
编号pid,科目subject,选择题数量snum,判断题数量bnum,问答题数量anum,考试时间pageDate
●选择题属性:
编号id,题目name,选项AoptionA,选项BoptionB,选项CoptionC,选项DoptionD,所属科目subject
●判断题属性:
编号id,题目name,对选项yes,错选项no,所属科目subject
●简答题属性:
编号id,题目name,所属科目subject
●科目属性:
编号sid,科目subject
实体关系
编号
姓名
学号
考试状态
登录密码
班级
考生
监考人员
编号
姓名
登录密码
管理员
姓名
登录密码
编号
E_R图
S—R关系:
学生关系表:
Stb_user(usid,uname,upassword,uno,uclass,ustate)
监考人员关系表:
Stb_invigilate(tid,name,password)
管理员信息关系:
Stb_admin(aid,name,password)
考试试卷信息关系:
Stb_page(usid,pid,subject,snum,bnum,anum,pageDate)
选择题信息关系:
Stb_select(id,pid,subject,name,
optionA,optionB,optionC,optionD)
判断题信息关系:
Stb_boolean(id,pid,subject,name,yes,no)
简答题信息关系:
Stb_answer(id,pid,subject,name)
科目信息关系:
Stb_subject(sid,subject)
3.2数据库物理设计
暂无
3.3数据库分布
暂无
3.4基表设计
在线考试系统数据库:
3.4.1.tb_user:
考生信息表
属性:
编号Tid,姓名name,登录密码password,学号number,班级class,考试状态state
字段名称
数据类型
长度
主键
描述
Tid
number
10
是
主键标识
uname
Varchar2
50
否
学生姓名
upassword
char
16
否
登录密码
uno
number
10
否
学号
uclass
Varchar2
50
否
班级
ustate
number
1
否
考试状态
Createtabletb_user(
Tidnumber(10)primarykey,
Unamevarchar2(50),
Upasswordchar(16),
Unonumber(10),
Uclassvarchar2(50),
Ustatenumber
(1)
);
3.4.2.tb_invigilate:
监考人员信息表
属性:
编号tid,姓名name,登录密码password
字段名称
数据类型
长度
主键
描述
tid
number
10
是
主键标识
name
Varchar2
50
否
姓名
password
char
16
否
登录密码
Createtabletb_invigilate(
Tidnumber(10)primarykey,
Namevarchar2(50),
Passwordchar(16)
);
3.4.3.tb_admin:
管理员信息表
属性:
编号aid,姓名name,登录密码password
字段名称
数据类型
长度
主键
描述
aid
number
10
是
主键标识
name
Varchar2
50
否
姓名
password
char
16
否
登录密码
Createtabletb_admin(
Aidnumber(10)primarykey,
Namevarchar2(50),
Passwordchar(16)
);
3.4.4.tb_page:
考试试卷信息表
属性:
编号pid,科目subject,选择题数量snum,判断题数量bnum,问答题数量anum,考试时间pageDate
字段名称
数据类型
长度
主键
描述
pid
number
10
是
主键标识
subject
Varchar2
50
否
科目(外键)
snum
number
2
否
选择题数量
bnum
number
2
否
判断题数量
anum
number
2
否
问答题数量
pageDate
date
/
否
考试时间
tid
number
10
是
学生编号(外键)
Createtabletb_page(
Pidnumber(10)primarykey,
Subjectvarchar2(50),
Snumnumber
(2),
Bnumnumber
(2),
Anumnumber
(2),
pageDatedate,
tidnumber(10),
constraintpage_FKforeignkey(subject)references
tb_subject(subject),
constraintpage_FK2foreignkey(tid)references
tb_user(tid)
);
3.4.5.tb_select:
选择题信息表
属性:
编号id,题目name,选项AoptionA,选项BoptionB,选项CoptionC,选项DoptionD,所属科目subject
字段名称
数据类型
长度
主键
描述
id
number
10
是
主键标识
name
Varchar2
50
否
题目
optionA
Varchar2
100
否
选项A
optionB
Varchar2
100
否
选项B
optionC
Varchar2
100
否
选项C
optionD
Varchar2
100
否
选项D
subject
Varchar2
50
否
科目(外键)
pid
number
10
是
试卷编号(外键)
Createtabletb_select(
Idnumber(10)primarykey,
Namevarchar2(50),
optionAvarchar2(100),
optionBvarchar2(100),
optionCvarchar2(100),
optionDvarchar2(100),
subjectvarchar2(50),
pidnumber(10),
constraintselect_FKforeignkey(subject)references
tb_subject(subject),
constraintselect_FK2foreignkey(pid)references
tb_page(pid)
);
3.4.6.tb_boolean:
判断题信息表
属性:
编号id,题目name,对选项yes,错选项no,所属科目subject
字段名称
数据类型
长度
主键
描述
id
number
10
是
主键标识
name
Varchar2
50
否
题目
subject
Varchar2
50
否
科目(外键)
pid
number
10
否
试卷编号(外键)
Createtabletb_boolean(
idnumber(10)primarykey,
Namevarchar2(50),
Subjectvarchar2(50),
Pidnumber(10),
constraintboolean_FKforeignkey(subject)referencestb_subject(subject),
constraintboolean_FK2foreignkey(pid)references
tb_page(pid)
);
3.4.7.tb_answer:
简答题信息表
属性:
编号id,题目name,所属科目subject
字段名称
数据类型
长度
主键
描述
id
number
5
是
主键标识
name
Varchar2
50
否
题目
subject
Varchar2
50
否
科目(外键)
pid
number
10
否
试卷编号(外键)
Createtabletb_answer(
Idnumber(5)primarykey,
Namevarchar2(50),
Subjectvarchar2(50),
Pidnumber(10),
constraintanswer_FKforeignkey(subject)referencestb_subject(subject),
constraintanswer_FK2foreignkey(pid)references
tb_page(pid)
);
3.