题库管理系统数据库设计文档-系统架构设计相关文档
信息101-数据库程序设计之试题库管理系统《数据库系统概论》课程设计实验报告题目试题库管理系统学院商学院专业信息管理与信息系班级信息101学号215387295596学生姓名杨贵文同组成员周杭施建炉王于宾指导教师宣军英编写日期2012-06-19——2012-06-292012年6月末1页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统一、课题名称:试题库管理系统二、课题要求:结合所学知识,开发一个简易的试题库管理系统。三、实验目的:结合本学期所学知识,使学生温故而知新,并在实践操作上增加对数据库系统设计的认识和理解。四、实验步骤:五、1、需求分析、概念结构设计3、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护六、课程开发内容:5.1需求分析5.1.1系统调查对现行的试题库管理业务进行了详细的调查和研究是了解系统需求和进行系统分析和设计的重要基础工作,因此要对我们的试题库管理工作进行全面的细致的调查研究。首先与相关的老师进行了交流和沟通,了解他们对试题库管理的看法,看看有没有什么新的要求,在这个基础上,结合自身所掌握的知识水平,量力而行开发相应的试题库管理系统。
2012年6月末2页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统在调查中我们可以发现,高校的试题库是极其庞大的,如果没有一个智能的系统将人们从手工阶段解放出来,那么一个庞大的、完整的试题库是无法有效运行的,甚至出题的老师也无法有效、准确地在试题库中抽取自己所需要的试题,这等于说是一个没有实际运用价值的试题库。所以说,他们对希望有这样的一个可以详细地表示试题属性的这样的一个试题库。那么今天我们就围绕着这样的一个目标展开我们的工作。5.1.2用户需求要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下四个方面对用户需求进行了分析:1)用户的需求信息:出题老师可以看到题目所属的类型和题目所考察的内容以及试题的分值和难度等级。当然这个权限也给管理员和系主任。2)用户的处理要求:管理员可以对试题库进行插入和删除操作,出题老师可以凭借自己自定义的选题要求在试题库中选择自己需求的试题,这个权限也对系主任开放。3)对系统的适应性、通用性要求:要求系统不仅能提供一门课程的试题库管理,还要综合多么学科进行管理,建立一个高效的试题库管理系统。
2012年6月末3页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统4)对系统的安全性要求,要求进入系统必须进行口令校验。5.1.3系统业务流程图详细调查之后,结合现行试题库管理模式,为开放本统而绘出的试题库管理业务流程图。如图5.1.3.1图5.1.3.1试题库管理系统业务流程图2012年6月末4页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统5.2系统逻辑方案系统分析的主要成果是系统的逻辑模型。本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。5.2.1数据流图(简称为DFD)数据流图是组织中信息运动的抽象。是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。首先,分析试题库管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数
据流程图。数据流程图的符号如图5.2.1.1所示外部实体处理数据流数据存储图5.2.1.1数据流程图的符号数据流程图如下5.2.1.2所示:(由局部到全部)2012年6月末5页D1试题库王于宾、周杭、杨贵文、施建炉试题1信息101-数据库程序设计之试题库管理系统D1试题库试题2D2试卷答案生成试卷用户D2试卷答案4测试结果用户判断对错2012年6月末6页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统用户3接收试题答案答案D3测试答案试题答案4测试结果用户判断对错测试答案D3测试答案2012年6月末7页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统总的流程图:D1试题库试题试题试题1用户处理试题试题答案32生成试卷试卷,答案用户试题答案D2试卷答案试题答案4测试结果用户判断对错接收试题答案答案测试答案D3测试答案图5.2.1.2数据流流程图2012年6月末8页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统5.3概念结构设计5.3.1数据模型数据模型包含三种相互关联的信息:数据对象、描述数据对象的属性及数据对象彼此间的相互连接的关系。
1)数据对象数据对象是对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事物,因此只有单个值的事物(例如宽度)不是数据对象。2)属性属性定义了数据对象的性质。属性可以有下述的三种不同的特性之一,也就是说,可以用属性来:为数据对象的实例命名;描述该实例;引用一个数据对象的实例。此外,必须把一个或多个属性定义为“标识符”题库管理系统数据库设计文档,即当我们希望找到数据对象的一个实例时,标识符属性成为“关键字”。3)关系数据对象彼此之间相互连接的方式称为关系,也称为联系。联系分为:一对一联系(1:1);一对多联系(1:N);多对多联系(M:N)。在实体-关系图中使用的符号如下:2012年6月末9页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统用矩形框表示实体用圆角矩形框表示实体的属性用菱形框表示实体间的相互关系用无向边把实体或关系与其属性相连图2实体关系图中使用的符号1)试题E-R图如下:难易度题型试题知识点2)试卷E-R图如下:各题型个数题型组合间试卷知识点组合2012年6月末10页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统3)用户E-R图如下:用户名用户用户类型密码4)用户,试题,试卷三者的E-R图:管理员MN普通用户管理MMM生成生成MN试卷N维护维护NN组合NM试题2012年6月末11页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统图6用户,试题,试卷E-R图2012年6月末12页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统专业号教师编号专业号专业名称教师名称1n专业管理教师密码试卷号科目号n性别题型号试卷教邮箱教师号mm电话 15387295596卷头包含科目出生日期包含nn科目号科目名称专业号题型号题型章节号题型名称章节1章节名包含科目号n设计题章节号题号题型号题答案分数题内容难易度总体E-R图2012年6月末13页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统5.4系统分析与总体设计经过需求分析阶段的工作,系统已经清楚“做什么”,现在是决定“怎样做”。总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题,所以总体设计又称为概要设计和初步设计。通过这个阶段的工作将划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等
,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容就在以后仔细设计。总体设计阶段的另一项任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成,以及模块之间的关系。5.4.1.1数据库设计数据库设计是在需求分析的基础上,如何对应用系统所涉及的数据进行分类、描述、关联和存取的一种技术。数据库设计通常是在一个通用的DBMS支持下进行的,对于一个给定的应用环境题库管理系统数据库设计文档,构造最优的数据库模式,使之能够有效的存储数据,满足用户的各种需要。数据库是信息系统的核心和基础,它将大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能。只有对数据库进行合理的逻辑设计和有效的物理设计,才能开发出完善而有效的信息系统,用户才能方便、及时和准确地从数据库2012年6月末14页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统中获取所需的信息。数据库设计的概念结构设计已经在上面的需求分析中给出(E-R图),这里就只介绍利用DBMS系统提供的数据定义语言创建数据库表5.4.1.2定义静态数据系统固定在内的描述系统实现功能的一部分数据。动态数据在软件运行过程中,用户输入后的系统输出给用户的一部分数据,是系统要处理的数据。
数据字典数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,没有半点含糊。5.4.1.3静态数据静态数据是系统内部有关的数据结构与操作规程。具体可包括:单项选择题表dxt多项选择题表duoxt填空题表tkt简答题表jdt另外有:多选题答案表duoxtdaan单选题答案表dxtdaan多选题题目表duoxttk2012年6月末15页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统单选题题目表dxttk5.4.1.4动态数据动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值。5.4.1.5试题库管理系统数据库本系统SQLServer2000为后台数据库。主要包括34个表,其中有20个系统表,下面给出7个代表表的设计:(1)单项选择题表dxt数据来源:试题录入模块直接输入表1单项选择题表列名数据类型长度numberChar5nanduChar2zhisdChar50quesChar1000op1Char500op2Char500op3Char500op4Char500answChar2单项选择题设计了序号,难度,知识点,问题,选项1,选项2,选项3,选项4,以及答案9个属性,其中后面8个都是要用户在录2012年6月末16页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统入试题时(录入试题模块中)添加,对于一个单项选择题,这8个属性都是缺一不可的。
序号为自动生成。(2)多项选择题表duoxt数据来源:试题录入模块直接输入表2多项选择题表列名数据类型长度numberChar5nanduChar2zhisdChar50quesChar1000op1Char500op2Char500op3Char500op4Char500answChar4同单项选择一样,多项选择题设计了序号,难度,知识点,问题,选项1,选项2,选项3,选项4,以及答案9个属性,其中后面8个都是要用户在录入试题时(录入试题模块中)添加。(3)填空题表:tkt数据来源:试题录入模块直接输入表3填空题表2012年6月末17页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统列名数据类型长度numberChar5nanduChar2zhisdC
har50quesChar1000续表4列名数据类型长度answ1Char50answ2Char50answ3Char50answ4Char50填空题一共设计了序号,难度,知识点,问题,答案1,答案2,答案3,答案4,8个属性,其中序号,难度,知识点,问题,答案1,是都不能为空的,答案2,答案3,答案4。根据填空题所需要的空位而定。序号为自动生成。(4)简答题表:jdt数据来源:试题录入模块直接输入表4简答题表列名数据类型长度numberChar5nanduChar22012年6月末18页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统zhisdChar50quesChar1000answChar1000简答题一共设计了序号,难度,知识点,问题,答案,除了序号是在录入试题时自动生成以外,其它都是要求录入试题的时候认真填写的。(5)多选题答案表duoxtdaan数据来源:自动生成或者手动生成试卷时自动写入表5多选题答案表列名数据类型长度numberChar5answChar4多选题答案表是为储存新生成试卷多选题答案而设计的,为后面的试卷评分做准备。(6)多选题题目表duoxttm数据来源:自动生成或者手动生成试卷时自动写入表6多选题题目表列名数据类型长度numberChar5quesChar1000ch1Char500ch2Char5002012年6月末19页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统ch3Char500ch4Char500多选题答案表是为储存新生成试卷多选题题目而设计的。
另外还有单选题答案表(dxtdaan),单选题题目表(dxttk)和上面的多选题的设计是基本一样,区别是单选题的选项A,B,C,D用op1,op2,op3,op4描述。六数据操作建表及数据库CreatedatabaseSTKGLsystermgouseSTKGLsysterm使用SQL脚本建立单项选择题表(dxt)。Createtabledxt(numberchar(5)primarykey,nanduchar(2);zhisdchar(50);queschar(1000);op1char(500);2012年6月末20页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统op2char(500);op3char(500);op4char(500);answchar(4);使用SQL脚本建立多项选择题表(duoxt)。Createtableduoxt(numberchar(5)primarykey,nanduchar(2);zhisdchar(50);queschar(1000);op1char(500);op2char(500);op3char(500);op4char(500);answchar(4);2012年6月末21页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统使用SQL脚本建立填空题表(tkt)。
Createtabletkt(numberchar(5)primarykey,nanduchar(2);zhisdchar(50);queschar(1000);answ1char(500);answ2char(500);answ3char(500);answ4char(500);使用SQL脚本建立简答题表(dxt)。Createtablejdt(numberchar(5)primarykey,nanduchar(2);zhisdchar(50);queschar(
1000);answchar(1000);使用SQL脚本建立多选题答案表(duoxtdaan)。Createtableduoxtdaan(numberchar(5)primarykey,answchar(4);2012年6月末22页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统使用SQL脚本建立多项选择题题目表(duoxttm)。Createtableduoxttm(numberchar(5)primarykey,nanduchar(2);queschar(1000);ch1char(500);ch2char(500);ch3char(500);ch4char(500);插入数据1、dxtINSERTINTOdxtVALUES('4','1','004',‘10022’,’1024’,’1025’,’1026’,’1027’,’1’);INSERTINTOdxtVALUES('7','2','001',‘10027,’1024’,’1027,’1026’,’1021’,’1’);INSERTINTOdxtVALUES('5','0','007',‘10023’,’1025’,’1025’,’1025’,’1025’,’0’);INSERTINTOdxtVALUES('7,'0,'008',‘10024’,’1026’,’1022,’1026’,’1026’,’1’);2012年6月末23页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统2、duoxtINSERTINTOduoxtVALUES('7,'0','02,‘10033’,’1424’,’1111’,’1241’,’1111’,’1’);INSERTINTOduoxtVALUES('5,'1','026',‘10034’,’1231’,’1112’,’1424’,’1112’,’2’);INSERTINTOduoxtVALUES('8','0','027',‘10035’,’1113’,’1113’,’1113’,’1113’,’3’);INSERTINTOduoxtVALUES('9','1','028',‘10036’,’1114’,’1114’,’1114’,’1114’,’4’);3、tkt2012年6月末24页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统INSERTINTOtktVALUES('2','0','012',‘10045’,’1024’,’1023’,’1012’,’1027’);INSERTINTOtktVALUES('5','1','011',‘10042’,’1045’,’1024’,’1024’,’1016’);INSERTINTOtktVALUES('5','0','013',‘10047’,’1025’,’1025’,’1025’,’1025’);INSERTINTOtktVALUES('6','1','014',‘10048’,’1022’,’1026’,’1025’,’1024’’)4、jdtINSERTINTOjdtVALUES('1','0','011',‘10045’,’10026’)INSERTINTOjdtVALUES('2','1','012',‘10046’,’10027’)INSERTINTOjdtVALUES('3','0','013',‘10047’,’10028’)INSERTINTOjdtVALUES('4','1','014',‘10048’,’1002
9’)2012年6月末25页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统插入插入一道简答题记录('3','0','013',‘10047’,’10028’)INSERTINTOjdt(number,nandu,zhisd,ques,answ)VALUES('3','0','013',‘10047’,’10028’);修改修改某一个元组的值例将多选题10025的考试内容改成微积分UPDATEduoxtSETcourse=‘微积分’WHEREnumber=‘10022’;2012年6月末26页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统删除删除一个或多个元组例删除单项选择题为10046的记录DELETEFROMdxtWHEREques=‘10046’;查询单表查询1、查询多项选择题序号为10156的难度和知识点SELECTnandu,zhisdFROMduoxtWHEREduoxtdeptLIKE'10156'ESCAPE'/'2012年6月末27页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统TestTest-credit连接查询创建视图1.dxt表的视图CreateviewI_dxtAsSelectnumber,nandu,zhisd,ques,op1,op2,op3,op4answ;Fromdxt2.duoxt表的视图CreateviewI_duoxtAs2012年6月末28页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统Selectnumber,nandu,zhisd,ques,op1,op2,op3,op4answ;Fromduoxt3.tkt表的视图CreateviewI_tktAsSelectnumber,nandu,zhisd,ques,answ1,answ2,answ3,answ4,Fromtkt;六、心得体会这次的课程设计,在同学这段时间的努力下,和其他组同学的帮助下,顺利地完成了数据库系统概论课程设计——试卷库管理系统。
这次课程设计是对我们这一学期所学知识的一次总结,也是一次检验,更是我们对我们自己的一次挑战。通过这次课程设计,我们都发现对SQL数据库的2012年6月末29页王于宾、周杭、杨贵文、施建炉信息101-数据库程序设计之试题库管理系统学习还是非常不够的。但我们通过自己的努力,独立完成了本系统的构思、设计、调试及其完善。这个系统的设计能够基本满足学校教务处和教师对试卷进行管理,更好的服务广大同学。当然我的设计中也存在着很多不足之处比如用户的权限还不是很完善,对表的操作权限可能会存在一些问题。在系统设计中,我遇到了很多的困难。我们这门课程成绩本就不是很好,特别是操作过程中遇到很多问题,比如对E-R图的创建出现了多次错误,设计思路上多次出现问题,结果总是调试不出来等等诸多问题。从开始的无从下手到慢慢入手在到思路清晰,我一步一个脚印从无到有学会了很多很多。我想说只有不断实践才是成功的关键!当然,我离将设计做得很完美的程度,还是存在非常之大的差距。本次课程设计在很多地方需要完善,这需要我在今后的学习中,不断提高对自身的要求,及时掌握新的知识,多多参与实践,在实践中锻炼和提高自己的能力。同时我们也学到了团队合作的重要,缺少谁我们都不能顺便了完成我们的任务,我们缺少谁都将直接影响到我们的最终结果。因此这是我们此次学到最最最重要的一点就是我们又一次体会到了、学会了团队合作精神。2012年6月末30页王于宾、周杭、杨贵文、施建炉