数据库课程设计试题库管理系统Word格式.docx
《数据库课程设计试题库管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计试题库管理系统Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
3)对系统的适应性、通用性要求:
要求系统不仅能提供一门课程的试题库管理,还要综合多么学科进行管理,建立一个高效的试题库管理系统。
4)对系统的安全性要求,要求进入系统必须进行口令校验。
5.1.3系统业务流程图
详细调查之后,结合现行试题库管理模式,为开放本
统而绘出的试题库管理业务流程图。
如图5.1.3.1
图5.1.3.1试题库管理系统业务流程图
5.2系统逻辑方案
系统分析的主要成果是系统的逻辑模型。
本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。
5.2.1数据流图(简称为DFD)
数据流图是组织中信息运动的抽象。
是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。
将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
首先,分析试题库管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;
然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数据流程图。
数据流程图的符号如图5.2.1.1所示
外部实体处理数据流数据存储
图5.2.1.1数据流程图的符号
数据流程图如下5.2.1.2所示:
(由局部到全部)
总的流程图:
图5.2.1.2数据流流程图
5.3概念结构设计
5.3.1数据模型
数据模型包含三种相互关联的信息:
数据对象、描述数据对象的属性及数据对象彼此间的相互连接的关系。
1)数据对象数据对象是对软件必须理解的复合信息的表示。
所谓复合信息是指具有一系列不同性质或属性的事物,因此只有单个值的事物(例如宽度)不是数据对象。
2)属性属性定义了数据对象的性质。
属性可以有下述的三种不同的特性之一,也就是说,可以用属性来:
为数据对象的实例命名;
描述该实例;
引用一个数据对象的实例。
此外,必须把一个或多个属性定义为“标识符”,即当我们希望找到数据对象的一个实例时,标识符属性成为“关键字”。
3)关系数据对象彼此之间相互连接的方式称为关系,也称为联系。
联系分为:
一对一联系(1:
1);
一对多联系(1:
N);
多对多联系(M:
N)。
在实体-关系图中使用的符号如下:
用矩形框表示实体
用圆角矩形框表示实体的属性
用菱形框表示实体间的相互关系
用无向边把实体或关系与其属性相连
图2实体关系图中使用的符号
1)试题E-R图如下:
2)试卷E-R图如下:
3)用户E-R图如下:
4)用户,试题,试卷三者的E-R图:
图6用户,试题,试卷E-R图
总体E-R图
5.4系统分析与总体设计
经过需求分析阶段的工作,系统已经清楚“做什么”,现在是决定“怎样做”。
总体设计的基本目的就是回答“概括地说,系统应该如何实现?
”这个问题,所以总体设计又称为概要设计和初步设计。
通过这个阶段的工作将划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容就在以后仔细设计。
总体设计阶段的另一项任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成,以及模块之间的关系。
5.4.1.1数据库设计
数据库设计是在需求分析的基础上,如何对应用系统所涉及的数据进行分类、描述、关联和存取的一种技术。
数据库设计通常是在一个通用的DBMS支持下进行的,对于一个给定的应用环境,构造最优的数据库模式,使之能够有效的存储数据,满足用户的各种需要。
数据库是信息系统的核心和基础,它将大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能。
只有对数据库进行合理的逻辑设计和有效的物理设计,才能开发出完善而有效的信息系统,用户才能方便、及时和准确地从数据库中获取所需的信息。
数据库设计的概念结构设计已经在上面的需求分析中给出(E-R图),这里就只介绍利用DBMS系统提供的数据定义语言创建数据库表
5.4.1.2定义
静态数据系统固定在内的描述系统实现功能的一部分数据。
动态数据在软件运行过程中,用户输入后的系统输出给用户的一部分数据,是系统要处理的数据。
数据字典数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,没有半点含糊。
5.4.1.3静态数据
静态数据是系统内部有关的数据结构与操作规程。
具体可包括:
单项选择题表dxt
多项选择题表duoxt
填空题表tkt
简答题表jdt
另外有:
多选题答案表duoxtdaan
单选题答案表dxtdaan
多选题题目表duoxttk
单选题题目表dxttk
5.4.1.4动态数据
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值。
5.4.1.5试题库管理系统数据库
本系统SQLServer2000为后台数据库。
主要包括34个表,其中有20个系统表,下面给出7个代表表的设计:
(1)单项选择题表dxt
数据来源:
试题录入模块直接输入
表1单项选择题表
列名
数据类型
长度
number
nandu
zhisd
ques
op1
op2
op3
op4
answ
Char
5
2
50
1000
500
单项选择题设计了序号,难度,知识点,问题,选项1,选项2,选项3,选项4,以及答案9个属性,其中后面8个都是要用户在录入试题时(录入试题模块中)添加,对于一个单项选择题,这8个属性都是缺一不可的。
序号为自动生成。
(2)多项选择题表duoxt
试题录入模块直接输入
表2多项选择题表
4
同单项选择一样,多项选择题设计了序号,难度,知识点,问题,选项1,选项2,选项3,选项4,以及答案9个属性,其中后面8个都是要用户在录入试题时(录入试题模块中)添加。
(3)填空题表:
tkt
表3填空题表
续表4
answ1
answ2
answ3
answ4
填空题一共设计了序号,难度,知识点,问题,答案1,答案2,答案3,答案4,8个属性,其中序号,难度,知识点,问题,答案1,是都不能为空的,答案2,答案3,答案4。
根据填空题所需要的空位而定。
(4)简答题表:
jdt
表4简答题表
简答题一共设计了序号,难度,知识点,问题,答案,除了序号是在录入试题时自动生成以外,其它都是要求录入试题的时候认真填写的。
(5)多选题答案表duoxtdaan
自动生成或者手动生成试卷时自动写入
表5多选题答案表
多选题答案表是为储存新生成试卷多选题答案而设计的,为后面的试卷评分做准备。
(6)多选题题目表duoxttm
表6多选题题目表
ch1
ch2
ch3
ch4
多选题答案表是为储存新生成试卷多选题题目而设计的。
另外还有单选题答案表(dxtdaan),单选题题目表(dxttk)和上面的多选题的设计是基本一样,区别是单选题的选项A,B,C,D用op1,op2,op3,op4描述。
六数据操作
建表及数据库
CreatedatabaseSTKGLsysterm
go
useSTKGLsysterm
使用SQL脚本建立单项选择题表(dxt)。
Createtabledxt(numberchar(5)primarykey,
nanduchar
(2);
zhisdchar(50);
queschar(1000);
op1char(500);
op2char(500);
op3char(500);
op4char(500);
answchar(4);
使用SQL脚本建立多项选择题表(duoxt)。
Createtableduoxt(numberchar(5)primarykey,
使用SQL脚本建立填空题表(tkt)。
Createtabletkt(numberchar(5)primarykey,
answ1char(500);
answ2char(500);
answ3char(500);
answ4char(500);
使用SQL脚本建立简答题表(dxt)。
Createtablejdt(numberchar(5)primarykey,
answchar(1000);
使用SQL脚本建立多选题答案表(duoxtdaan)。
Createtableduoxtdaan(numberchar(5)primarykey,
使用SQL脚本建立多项选择题题目表(duoxttm)。
Createtableduoxttm(numberchar(5)primarykey,
ch1char(500);
ch2char(500);
ch3char(500);
ch4char(500);
插入数据
1、dxt
INSERTINTOdxtVALUES('
4'
'
1'
004'
‘10022’,’1024’,’1025’,’1026’,’1027’,’1’);
7'
2'
001'
‘10027,’1024’,’1027,’1026’,’1021’,’1’);
5'
0'
007'
‘10023’,’1025’,’1025’,’1025’,’1025’,’0’);
7,'
0,'
008'
‘10024’,’1026’,’1022,’1026’,’1026’,’1’);
2、duoxt
INSERTINTOduoxtVALUES('
02,‘10033’,’1424’,’1111’,’1241’,’1111’,’1’);
5,'
026'
‘10034’,’1231’,’1112’,’1424’,’1112’,’2’);
8'
027'
‘10035’,’1113’,’1113’,’1113’,’1113’,’3’);
9'
028'
‘10036’,’1114’,’1114’,’1114’,’1114’,’4’);
3、tkt
INSERTINTOtktVALUES('
012'
‘10045’,’1024’,’1023’,’1012’,’1027’);
011'
‘10042’,’1045’,’1024’,’1024’,’1016’);
013'
‘10047’,’1025’,’1025’,’1025’,’1025’);
6'
014'
‘10048’,’1022’,’1026’,’1025’,’1024’’)
4、jdt
INSERTINTOjdtVALUES('
‘10045’,’10026’)
‘10046’,’10027’)
3'
‘10047’,’10028’)
‘10048’,’10029’)
插入
插入一道简答题记录('
INSERTINTOjdt(number,nandu,zhisd,ques,answ)
VALUES('
‘10047’,’10028’);
修改
修改某一个元组的值
例将多选题10025的考试内容改成微积分
UPDATEduoxt
SETcourse=‘微积分’
WHEREnumber=‘10022’;
删除
删除一个或多个元组
例删除单项选择题为10046的记录
DELETEFROMdxt
WHEREques=‘10046’;
查询
单表查询
1、查询多项选择题序号为10156的难度和知识点
SELECTnandu,zhisd
FROMduoxt
WHEREduoxtdeptLIKE'
10156'
ESCAPE'
/'
连接查询
创建视图
1.dxt表的视图
CreateviewI_dxt
As
Selectnumber,nandu,zhisd,ques,op1,op2,op3,op4answ;
Fromdxt
2.duoxt表的视图
CreateviewI_duoxt
Fromduoxt
3.tkt表的视图
CreateviewI_tkt
Selectnumber,nandu,zhisd,ques,answ1,answ2,answ3,answ4,
Fromtkt;
六、心得体会
这次的课程设计,在同学这段时间的努力下,和其他组同学的帮助下,顺利地完成了数据库系统概论课程设计——试卷库管理系统。
这次课程设计是对我们这一学期所学知识的一次总结,也是一次检验,更是我们对我们自己的一次挑战。
通过这次课程设计,我们都发现对SQL数据库的学习还是非常不够的。
但我们通过自己的努力,独立完成了本系统的构思、设计、调试及其完善。
这个系统的设计能够基本满足学校教务处和教师对试卷进行管理,更好的服务广大同学。
当然我的设计中也存在着很多不足之处比如用户的权限还不是很完善,对表的操作权限可能会存在一些问题。
在系统设计中,我遇到了很多的困难。
我们这门课程成绩本就不是很好,特别是操作过程中遇到很多问题,比如对E-R图的创建出现了多次错误,设计思路上多次出现问题,结果总是调试不出来等等诸多问题。
从开始的无从下手到慢慢入手在到思路清晰,我一步一个脚印从无到有学会了很多很多。
我想说只有不断实践才是成功的关键!
当然,我离将设计做得很完美的程度,还是存在非常之大的差距。
本次课程设计在很多地方需要完善,这需要我在今后的学习中,不断提高对自身的要求,及时掌握新的知识,多多参与实践,在实践中锻炼和提高自己的能力。
同时我们也学到了团队合作的重要,缺少谁我们都不能顺便了完成我们的任务,我们缺少谁都将直接影响到我们的最终结果。
因此这是我们此次学到最最最重要的一点就是我们又一次体会到了、学会了团队合作精神。