《数据库课程设计-试题库管理系统14074.pdf》由会员分享,可在线阅读,更多相关《数据库课程设计-试题库管理系统14074.pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 数据库系统概论课程设计 实验报告 题 目 试题库管理系统 学 院 商学院 专 业 信息管理与信息系 班 级 信息 101 学 号 5130 学生姓名 杨贵文 同组成员 周杭 施建炉 王于宾 指导教师 宣军英 编写日期 2012-06-192012-06-29 一、课题名称:试题库管理系统 二、课题要求:结合所学知识,开发一个简易的试题库管理系统。三、实验目的:结合本学期所学知识,使学生温故而知新,并在实践操作上增加对数据库系统设计的认识和理解。四、实验步骤:五、1、需求分析 六、2、概念结构设计 3、逻辑结构设计 4、物理结构设计 5、数据库实施 6、数据库运行和维护 七、课程开发内容:八、
2、需求分析 系统调查 对现行的试题库管理业务进行了详细的调查和研究是了解系统需求和进行系统分析和设计的重要基础工作,因此要对我们的试题库管理工作进行全面的细致的调查研究。首先与相关的老师进行了交流和沟通,了解他们对试题库管理的看法,看看有没有什么新的要求,在这个基础上,结合自身所掌握的知识水平,量力而行开发相应的试题库管理系统。在调查中我们可以发现,高校的试题库是极其庞大的,如果没有一个智能的系统将人们从手工阶段解放出来,那么一个庞大的、完整的试题库是无法有效运行的,甚至出题的老师也无法有效、准确地在试题库中抽取自己所需要的试题,这等于说是一个没有实际运用价值的试题库。所以说,他们对希望有这样的
3、一个可以详细地表示试题属性的这样的一个试题库。那么今天我们就围绕着这样的一个目标展开我们的工作。用户需求 要设计一个性能良好的管理系统,明确用户的应用环境对 系统的要求是首要的和基本的。本系统从以下四个方面对用户需求进行了分析:1)用户的需求信息:出题老师可以看到题目所属的类型和题目所考察的内容以及试题的分值和难度等级。当然这个权限也给管理员和系主任。2)用户的处理要求:管理员可以对试题库进行插入和删除操作,出题老师可以凭借自己自定义的选题要求在试题库中选择自己需求的试题,这个权限也对系主任开放。3)对系统的适应性、通用性要求:要求系统不仅能提供一门课程的试题库管理,还要综合多么学科进行管理,
4、建立一个高效的试题库管理系统。4)对系统的安全性要求,要求进入系统必须进行口令校验。系统业务流程图 详细调查之后,结合现行试题库管理模式,为开放本 统 而 绘 出 的 试 题 库 管 理 业 务 流 程 图。如 图图试题库管理系统业务流程图 系统逻辑方案 系统分析的主要成果是系统的逻辑模型。本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。数据流图(简称为 DFD)数据流图是组织中信息运动的抽象。是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出
5、、数据存储及数据来源和去向(外部实体)等项目。首先,分析试题库管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数据流程图。数据流程图的符号如图所示 外部实体 处理 数据流 数据存储 图 数据流程图的符号 数据流程图如下所示:(由局部到全部)试题 试题库 1 处 理试题 用户 D1 试卷答案 试题 D1 2 生 成试卷 D2 试题库 用户 测试结果 4 判 断对错 用户 试卷答案 D2 测试答案 D3 试题答案 用户 3 接 收答案 测试结果 试题答案 测试答案 测试答案 D3 4
6、 判 断对错 用户 总的流程图:图数据流流程图 试卷,答案 测试结果 试题答案 测试答案 试题答案 试题 测试答案 D3 试题答案 试 卷 答案 试题答案 试题 试题 试题库 1 处 理试题 用户 D1 2 生 成试卷 D2 3 接 收答案 4 判 断对错 用户 用户 概念结构设计 数据模型 数据模型包含三种相互关联的信息:数据对象、描述数据对象的属性及数据对象彼此间的相互连接的关系。1)数据对象 数据对象是对软件必须理解的复合信息的表示。所谓复合信息是指具有一系列不同性质或属性的事物,因此只有单个值的事物(例如宽度)不是数据对象。2)属性 属性定义了数据对象的性质。属性可以有下述的三种不同的
7、特性之一,也就是说,可以用属性来:为数据对象的实例命名;描述该实例;引用一个数据对象的实例。此外,必须把一个或多个属性定义为“标识符”,即当我们希望找到数据对象的一个实例时,标识符属性成为“关键字”。3)关系 数据对象彼此之间相互连接的方式称为关系,也称为联系。联系分为:一对一联系(1:1);一对多联系(1:N);多对多联系(M:N)。在实体-关系图中使用的符号如下:用矩形框 表示实体 用圆角矩形框 表示实体的属性 用菱形框 表示实体间的相互关系 用无向边 把实体或关系与其属性相连 图 2 实体关系图中使用的符号 1)试题 E-R图如下:2)试卷 E-R 图如下:难易度 题型 知识点 试题 各
8、题型个数 题型组合间 知识点组合 试卷 3)用户 E-R 图如下:4)用户,试题,试卷三者的 E-R 图:N N M M M 用户 用户类型 用户名 密码 试题 管理员 普通用户 维护 维护 管理 生成 生成 组合 试卷 N M M M N N N 图 6 用户,试题,试卷 E-R 图 n 设计题 题号 题内容 题答案 分数 题型号 难易度 章节号 题型 包含 包含 题型号 包含 章节 章节号 章节名 科目号 m n 1 教师 教师名称 密码 性别 出生日期 邮箱 电话 专业号 教师编号 专业 专业号 专业名称 管理 科目 科目号 科目名称 专业号 教 试卷 试卷号 科目号 题型号 教师号 卷
9、头 n n m 1 1 n 题型名称 总体 E-R图 系统分析与总体设计 经过需求分析阶段的工作,系统已经清楚“做什么”,现在是决定“怎样做”。总体设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题,所以总体设计又称为概要设计和初步设计。通过这个阶段的工作将划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容就在以后仔细设计。总体设计阶段的另一项任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成,以及模块之间的关系。数据库设计 数据库设计是在需求分析的基础上,如何对应用系统所涉及的数据进行分类、描述、关
10、联和存取的一种技术。数据库设计通常是在一个通用的 DBMS 支持下进行的,对于一个给定的应用环境,构造最优的数据库模式,使之能够有效的存储数据,满足用户的各种需要。数据库是信息系统的核心和基础,它将大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能。只有对数据库进行合理的逻辑设计和有效的物理设计,才能开发出完善而有效的信息系统,用户才能方便、及时和准确地从数据库中获取所需的信息。数据库设计的概念结构设计已经在上面的需求分析中给出(E-R图),这里就只介绍利用 DBMS 系统提供的数据定义语言创建数据库表 定义 静态数据 系统固定在内的描述系统实现功能的一部分数据。动态数据 在软件运
11、行过程中,用户输入后的系统输出给用户的一部分数据,是系统要处理的数据。数据字典 数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,没有半点含糊。静态数据 静态数据是系统内部有关的数据结构与操作规程。具体可包括:单项选择题表 dxt 多项选择题表 duoxt 填空题表 tkt 简答题表 jdt 另外有:多选题答案表 duoxtdaan 单选题答案表 dxtdaan 多选题题目表 duoxttk 单选题题目表 dxttk 动态数据 动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值。试题库管理系统数据库 本系统 SQL Ser
12、ver 2000为后台数据库。主要包括 34个表,其中有 20个系统表,下面给出 7个代表表的设计:(1)单项选择题表 dxt 数据来源:试题录入模块直接输入 表 1 单项选择题表 列名 数据类型 长度 number nandu zhisd ques op1 op2 op3 Char Char Char Char Char Char Char 5 2 50 1000 500 500 500 op4 answ Char Char 500 2 单项选择题设计了序号,难度,知识点,问题,选项 1,选项 2,选项 3,选项 4,以及答案 9 个属性,其中后面 8 个都是要用户在录入试题时(录入试题模块
13、中)添加,对于一个单项选择题,这 8个属性都是缺一不可的。序号为自动生成。(2)多项选择题表 duoxt 数据来源:试题录入模块直接输入 表 2 多项选择题表 列名 数据类型 长度 number nandu zhisd ques op1 op2 op3 op4 answ Char Char Char Char Char Char Char Char Char 5 2 50 1000 500 500 500 500 4 同单项选择一样,多项选择题设计了序号,难度,知识点,问题,选项 1,选项 2,选项 3,选项 4,以及答案 9个属性,其中后面 8个都是要用户在录入试题时(录入试题模块中)添加。
14、(3)填空题表:tkt 数据来源:试题录入模块直接输入 表 3 填空题表 列名 数据类型 长度 number nandu zhisd ques Char Char Char Char 5 2 50 1000 续表 4 列名 数据类型 长度 answ1 answ2 answ3 answ4 Char Char Char Char 50 50 50 50 填空题一共设计了序号,难度,知识点,问题,答案 1,答案 2,答案 3,答案 4,8个属性,其中序号,难度,知识点,问题,答案 1,是都不能为空的,答案 2,答案 3,答案 4。根据填空题所需要的空位而定。序号为自动生成。(4)简答题表:jdt 数
15、据来源:试题录入模块直接输入 表 4 简答题表 列名 数据类型 长度 number nandu zhisd ques answ Char Char Char Char Char 5 2 50 1000 1000 简答题一共设计了序号,难度,知识点,问题,答案,除了序号是在录入试题时自动生成以外,其它都是要求录入试题的时候认真填写的。(5)多选题答案表 duoxtdaan 数据来源:自动生成或者手动生成试卷时自动写入 表 5多选题答案表 列名 数据类型 长度 number answ Char Char 5 4 多选题答案表是为储存新生成试卷多选题答案而设计的,为后面的试卷评分做准备。(6)多选题
16、题目表 duoxttm 数据来源:自动生成或者手动生成试卷时自动写入 表 6 多选题题目表 列名 数据类型 长度 number ques ch1 ch2 ch3 ch4 Char Char Char Char Char Char 5 1000 500 500 500 500 多选题答案表是为储存新生成试卷多选题题目而设计的。另外还有 单选题答案表(dxtdaan),单选题题目表(dxttk)和上面的多选题的设计是基本一样,区别是单选题的选项 A,B,C,D用 op1,op2,op3,op4 描述。六 数据操作 建表及数据库 Create database STKGLsysterm go use
17、 STKGLsysterm 使用 SQL脚本建立单项选择题表(dxt)。Create table dxt(number char(5)primary key,nandu char(2);zhisd char(50);ques char(1000);op1 char(500);op2 char(500);op3 char(500);op4 char(500);answ char(4);使用 SQL脚本建立多项选择题表(duoxt)。Create table duoxt(number char(5)primary key,nandu char(2);zhisd char(50);ques char
18、(1000);op1 char(500);op2 char(500);op3 char(500);op4 char(500);answ char(4);使用 SQL脚本建立填空题表(tkt)。Create table tkt(number char(5)primary key,nandu char(2);zhisd char(50);ques char(1000);answ1 char(500);answ2 char(500);answ3 char(500);answ4 char(500);使用 SQL脚本建立简答题表(dxt)。Create table jdt(number char(5)p
19、rimary key,nandu char(2);zhisd char(50);ques char(1000);answ char(1000);使用 SQL脚本建立多选题答案表(duoxtdaan)。Create table duoxtdaan(number char(5)primary key,answ char(4);使用 SQL脚本建立多项选择题题目表(duoxttm)。Create table duoxttm(number char(5)primary key,nandu char(2);ques char(1000);ch1 char(500);ch2 char(500);ch3 c
20、har(500);ch4 char(500);插入数据 1、dxt INSERT INTO dxt VALUES(4,1,004,10022,1024,1025,1026,1027,1);INSERT INTO dxt VALUES(7,2,001,10027,1024,1027,1026,1021,1);INSERT INTO dxt VALUES(5,0,007,10023,1025,1025,1025,1025,0);INSERT INTO dxt VALUES(7,0,008,10024,1026,1022,1026,1026,1);2、duoxt INSERT INTO duoxt
21、VALUES(7,0,02,10033,1424,1111,1241,1111,1);INSERT INTO duoxt VALUES(5,1,026,10034,1231,1112,1424,1112,2);INSERT INTO duoxt VALUES(8,0,027,10035,1113,1113,1113,1113,3);INSERT INTO duoxt VALUES(9,1,028,10036,1114,1114,1114,1114,4);3、tkt INSERT INTO tkt VALUES(2,0,012,10045,1024,1023,1012,1027);INSERT
22、INTO tkt VALUES(5,1,011,10042,1045,1024,1024,1016);INSERT INTO tkt VALUES(5,0,013,10047,1025,1025,1025,1025);INSERT INTO tkt VALUES(6,1,014,10048,1022,1026,1025,1024)4、jdt INSERT INTO jdt VALUES(1,0,011,10045,10026)INSERT INTO jdt VALUES(2,1,012,10046,10027)INSERT INTO jdt VALUES(3,0,013,10047,10028
23、)INSERT INTO jdt VALUES(4,1,014,10048,10029)插入 插入一道简答题记录(3,0,013,10047,10028)INSERT INTO jdt(number,nandu,zhisd,ques,answ)VALUES(3,0,013,10047,10028);修改 修改某一个元组的值 例 将多选题 10025的考试内容改成微积分 UPDATE duoxt SET course=微积分 WHERE number=10022;删除 删除一个或多个元组 例 删除单项选择题为 10046的记录 DELETE FROM dxt WHERE ques=10046;查
24、询 单表查询 1、查询多项选择题序号为 10156的难度和知识点 SELECT nandu,zhisd FROM duoxt WHERE duoxt dept LIKE 10156 ESCAPE /连接查询 创建视图 表的视图 Test Test-credit Create view I_dxt As Select number,nandu,zhisd,ques,op1,op2,op3,op4 answ;From dxt 表的视图 Create view I_duoxt As Select number,nandu,zhisd,ques,op1,op2,op3,op4 answ;From du
25、oxt 表的视图 Create view I_tkt As Select number,nandu,zhisd,ques,answ1,answ2,answ3,answ4,From tkt;六、心得体会 这次的课程设计,在同学这段时间的努力下,和其他组同学的帮助下,顺利地完成了数据库系统概论课程设计试卷库管理系统。这次课程设计是对我们这一学期所学知识的一次总结,也是一次检验,更是我们对我们自己的一次挑战。通过这次课程设计,我们都发现对SQL 数据库的学习还是非常不够的。但我们通过自己的努力,独立完成了本系统的构思、设计、调试及其完善。这个系统的设计能够基本满足学校教务处和教师对试卷进行管理,更好
26、的服务广大同学。当然我的设计中也存在着很多不足之处比如用户的权限还不是很完善,对表的操作权限可能会存在一些问题。在系统设计中,我遇到了很多的困难。我们这门课程成绩本就不是很好,特别是操作过程中遇到很多问题,比如对 E-R 图的创建出现了多次错误,设计思路上多次出现问题,结果总是调试不出来等等诸多问题。从开始的无从下手到慢慢入手在到思路清晰,我一步一个脚印从无到有学会了很多很多。我想说只有不断实践才是成功的关键!当然,我离将设计做得很完美的程度,还是存在非常之大的差距。本次课程设计在很多地方需要完善,这需要我在今后的学习中,不断提高对自身的要求,及时掌握新的知识,多多参与实践,在实践中锻炼和提高自己的能力。同时我们也学到了团队合作的重要,缺少谁我们都不能顺便了完成我们的任务,我们缺少谁都将直接影响到我们的最终结果。因此这是我们此次学到最最最重要的一点就是我们又一次体会到了、学会了团队合作精神。