在线考试系统数据库设计Word文档格式.docx

上传人:b****3 文档编号:6942232 上传时间:2023-05-07 格式:DOCX 页数:23 大小:19.59KB
下载 相关 举报
在线考试系统数据库设计Word文档格式.docx_第1页
第1页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第2页
第2页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第3页
第3页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第4页
第4页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第5页
第5页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第6页
第6页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第7页
第7页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第8页
第8页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第9页
第9页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第10页
第10页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第11页
第11页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第12页
第12页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第13页
第13页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第14页
第14页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第15页
第15页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第16页
第16页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第17页
第17页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第18页
第18页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第19页
第19页 / 共23页
在线考试系统数据库设计Word文档格式.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

在线考试系统数据库设计Word文档格式.docx

《在线考试系统数据库设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《在线考试系统数据库设计Word文档格式.docx(23页珍藏版)》请在冰点文库上搜索。

在线考试系统数据库设计Word文档格式.docx

tb_answer:

简答题信息表17

tb_subject:

考试科目信息表18

3.5视图设计19

3.6索引设计19

3.7序列设计19

3.8完整性设计20

3.9授权设计20

3.10触发器设计20

3.11存储过程设计24

3.11.1CRUD中的CUD三个操作24

3.12数据复制设计26

4查询记录语句26

5词汇表27

6历史数据处理27

1引言

1.1编写目的

本文档是本项目开发中至关重要的一部分,通过本档编写,对本项目中相关数据存储信息进行明确定位,对数据结构等相关信息进行明确说明。

本文档尽可能的详细说明各个实体的属性及相互联系,使开发人员的开发效率尽可能增加。

1.2项目来源

Ø

实训要求

开发人员:

全体成员

文档使用者:

oracle开发人员、程序设计人员

1.3文档约定

1.4预期读者和阅读建议

对oracle和java熟悉

测试人员:

对java及oracle有一定的了解

1.5参考资料

1《在线考试系统可行性分析》

2《在线考试系统需求分析》

3《项目(bbs)数据库设计文档—刘维毅》

4

2数据库命名规则

db_examonline:

在线考试系统数据库

监考人员

学生或用户信息表

选择题相关信息表

简答题相关信息

判断题相关信息

管理员信息表

数据库测试试题

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

实体关系

编号

姓名

学号

考试状态

登录密码

班级

考生

监考人员

管理员

考试试卷

选择题数目

判断题数目

科目名称

简答题数目

题目

选项A

选项D

选项B

选项C

选择题

判断题

考试时间

简答题

科目

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

uclass

ustate

1

Createtabletb_user(

Tidnumber(10)primarykey,

Unamevarchar2(50),

Upasswordchar(16),

Unonumber(10),

Uclassvarchar2(50),

Ustatenumber

(1)

);

3.4.2.tb_invigilate:

监考人员信息表

tid

name

password

Createtabletb_invigilate(

Namevarchar2(50),

Passwordchar(16)

3.4.3.tb_admin:

aid

Createtabletb_admin(

Aidnumber(10)primarykey,

Namevarchar2(50),

3.4.4.tb_page:

考试试卷信息表

属性:

pid

subject

科目(外键)

snum

2

选择题数量

bnum

判断题数量

anum

问答题数量

pageDate

date

/

学生编号(外键)

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

optionA

100

optionB

optionC

optionD

试卷编号(外键)

Createtabletb_select(

Idnumber(10)primarykey,

optionAvarchar2(100),

optionBvarchar2(100),

optionCvarchar2(100),

optionDvarchar2(100),

subjectvarchar2(50),

pidnumber(10),

constraintselect_FKforeignkey(subject)references

constraintselect_FK2foreignkey(pid)references

tb_page(pid)

3.4.6.tb_boolean:

判断题信息表

Createtabletb_boolean(

idnumber(10)primarykey,

Pidnumber(10),

constraintboolean_FKforeignkey(subject)referencestb_subject(subject),

constraintboolean_FK2foreignkey(pid)references

3.4.7.tb_answer:

简答题信息表

5

Createtabletb_answer(

Idnumber(5)primarykey,

constraintanswer_FKforeignkey(subject)referencestb_subject(subject),

constraintanswer_FK2foreignkey(pid)references

3.4.8.tb_subject:

考试科目信息表

sid

科目自增编号

Createtabletb_subject(

Sidnumber(10),

Subjectvarchar2(50)primarykey

//备注uid是关键字已被系统占用

3.5视图设计

3.6索引设计

3.7序列设计

设计目的:

通过序列的设计,可以使得编号可以进行自增,从而达到设计目的。

●Tb_sq

序列自动进行递增

初值为:

递增为:

最大值:

Createsequencetb_sq

Incrementby1

Startwith1

Nomaxvalue

Nocycle

Cache10;

●Tb_invigilate_sq

监考人员的tid自动进行递增

Createsequencetb_invigilate_sq

Incrementby10

Startwith10

Nomaxvalue

Nocycle

Cache10;

3.8完整性设计

请参阅本文档的基表设计的外键设置

3.9授权设计

3.10触发器设计

●Tb_user_trigger

Createorreplacetriggertb_user_trigger

Beforeinsertontb_user

Foreachrow

Declare

Next_nonumber;

Begin

Selecttb_sq.nextval

Intonext_no

Fromdual;

:

new.tid:

=next_no;

End;

--insertintotb_user(uname,upassword,uno,uclass,ustate)

--values(…);

●Tb_invigilate_trigger

Createorreplacetriggertb_invigilate_trigger

Beforeinsertontb_invigilate

●Tb_admin_trigger

Createorreplacetriggertb_admin_trigger

Beforeinsertontb_admin

Begin

new.aid:

●Tb_page_trigger

Createorreplacetriggertb_page_trigger

Beforeinsertontb_page

new.pid:

●Tb_select_trigger

Createorreplacetriggertb_select_trigger

Beforeinsertontb_select

new.id:

●Tb_boolean_trigger

Createorreplacetriggertb_boolean_trigger

Beforeinsertontb_boolean

●Tb_answer_trigger

Createorreplacetriggertb_answer_trigger

Beforeinsertontb_answer

●Tb_subject_trigger

Createorreplacetriggertb_subject_trigger

Beforeinsertontb_subject

Declare

new.sid:

3.11存储过程设计

3.11.1CRUD中的CUD三个操作

--向试卷表中插入信息(create操作)

Createorreplaceprocedureinsert_tb_page(

p_subjectintb_page.subject%type,

p_snumintb_page.snum%type,

p_bnumintb_page.bnum%type,

p_anumintb_page.anum%type,

p_pageDateintb_page.pageDate%type,

--插入系统时间sysdate

p_tidintb_page.tid%type

)as

Insertintotb_page(subject,snum,bnum,anum,pageDate,tid)values

(p_subject,p_snum,p_bnum,p_anum,p_pageDate,p_tid);

Exception

WhenDUP_VAL_ON_INDEXthen

Dbms_output.put_line('

subjectprimarykeyerror!

'

);

Whenothersthen

异常'

Endinsert_tb_page;

--//执行过程:

executeinsert_tb_page(‘’,’’,…);

--向判断题表中插入信息(create操作)

Createorreplaceprocedureinsert_tb_boolean(

b_nameintb_boolean.name%type,

b_subjectintb_boolean.subject%type,

b_pidintb_boolean.pid%type)as

begin

Insertintotb_boolean(name,subject,pid)values

(b_name,b_subject,b_pid);

Endinsert_tb_boolean;

executeinsert_tb_boolean(‘’,’’,…);

--向简答题表中插入信息

Createorreplaceprocedureinsert_tb_answer(

a_nameintb_answer.name%type,

a_subjectintb_answer.subject%type,

a_pidintb_answer.pid%type

as

Insertintotb_answer(name,subject,pid)values

(a_name,a_subject,a_pid);

Endinsert_tb_answer;

--向科目表中插入信息

Createorreplaceprocedureinsert_tb_subject(

s_subjectintb_subject.subject%type

)as

Insertintotb_subject(subject)values

(s_subject);

Endinsert_tb_subject;

--向选择题表中插入信息

Createorreplaceprocedureinsert_tb_select(

s_nametb_select.name%type,

s_optionAtb_select.optionA%type,

s_optionBtb_select.optionB%type,

s_optionCtb_select.optionC%type,

s_optionDtb_select.optionD%type,

s_subjecttb_select.subject%type,

s_pidtb_select.pid%type

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2