1、11软件(2)班 数据库系统概论课程设计 课 程 设 计 报 告课程设计名称: 数据库原理与应用 系 部: 三 系 学生姓名:班 级: 11软件工程2班 学 号: 201103112成 绩:指导教师: 陈林 开课时间: 20122013 学年 2 学期一设计题目:通用考试系统学生机部分二主要内容:系统功能的基本要求: 学生根据学号和试卷密码登录后,根据学生的登录信息系统会给出相应的试卷信息; 所有试卷都有四种题型,选择题、判断题、填空题以及问答题; 在考试过程中,考生对任一题有疑问时可以做个标志以备后查; 考试在考试结束前(时间结束)可以关闭考试系统,再次登陆可以继续考试,但考生一旦提交(考生
2、提交或时间结束系统自动提交),将不能再登陆考试; 学生可以统计做标记的题数和明细列表;可以统计尚未完成的题目数和分数。三具体要求1. 课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;2. 后台数据库采用MS SQL SERVER 2005,前台界面语言不限,编写的程序代码,须有较详细的注释说明;四进度安排课程设计安排:(该安排为11软件2班,11软件1班相应调整)16周星期一 讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;星期二 需求分析:给出系统的功能需求、性能需求,并绘制DFD和DD;星期三 概念结构设计:绘制实体属性图(可选),局部ER图和全局ER图
3、;星期四 逻辑结构设计:转换、优化,外模式设计;星期五 物理结构设计、数据库实施、应用程序编制调试;175周星期一 应用程序编制调试、整理课程设计报告;星期二 应用程序编制调试、整理课程设计报告,并检查;星期三 课程设计答辩,交材料;上交的材料包括:课程设计报告的电子稿、打印稿、源码(SQL代码和程序代码)五成绩评定考核方法:现场验收(占50%),课程设计报告(占50).考核内容:学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。成绩评定:优,良,中,及格,不及格.特别说明:(1)如发现抄袭,按照不及格处理。 (2)材料不齐的,考核等级降一级.电子稿件以压
4、缩文件的形式上交,压缩命名为:11位学号+姓名正文撰写包含的内容:1、 需求分析2、 概念结构设计3、 逻辑结构设计4、 物理结构设计5、 数据库实施及应用程序编制6、 心得体会7、 参考资料正文:题目:通用考试系统学生机部分一 需求分析1.1 开发背景开发本系统的目的是着眼于利用计算机及其网络资源为考务管理部门建立一个适合的考试平台。解决以往教学验收工作中给考务管理部门带来的诸多问题。1.2 系统的基本功能要求1 信息要求学生能够根据学号和密码登陆后,核对自己的信息、查看对应的试卷.2 处理要求(1)在考试过程中,考生对任一题有疑问时可以做个标志以备后查;(2)考试在考试结束前(时间结束)可
5、以关闭考试系统,再次登陆可以继续考试,但考生一旦提交(考生提交或时间结束系统自动提交),将不能再登陆考试;(3)学生可以统计做标记的题数和明细列表;可以统计尚未完成的题目数和分数.3 安全性和完整性要求安全性要求:(1)系统应设置访问用户的标识以鉴别是否是合法用户,保证用户身份不被盗用;完整性要求:(1)各种信息记录的完整性,信息记录内容不能为空;(2)各种数据间相互的联系的正确性;(3)相同的数据在不同记录中的一致性。1。3 数据字典1。数据项属性名存储代码类型长度是否为空姓名xmvarchar20不能为空学号xhchar11不能为空是否交卷jjvarchar10可为空试卷编号testidi
6、ntlong不能为空试卷密码passwordvarchar8不能为空考试时间testtimeintlong不能为空题号xzidvarchar8不能为空分数xzfsfloat不能为空题目xztivarchar100不能为空试卷号paperidintlong不能为空AAvarchar50不能为空 BBvarchar50不能为空CCvarchar50不能为空DDvarchar50不能为空填空题号tkidvarchar8不能为空填空题分数tkfsfloat不能为空填空题目tktivarchar100不能为空判断题号pdidvarchar8不能为空分数pdfsfloat不能为空判断题题目pdtivarc
7、har100不能为空问答题号wdidvarchar8不能为空分数wdfsfloat不能为空问答题目wdtivarchar100不能为空答案answervarchar50可以为空标记biaojichar2可以为空考试编号idintlong不能为空剩余分钟syfenintlong不能为空剩余秒symiaointlong不能为空2数据结构数据结构名组成学生姓名,学号,交卷题目题号,题目,分数考试剩余时间,完成选择题数,完成填空题数,完成判断题数,完成问答题数3数据流数据流名数据流来源数据流去向组成学生信息学生表学生表学生姓名、学号、是否交卷选择题信息选择题表选择题表选择题题号,选择题分数,选择题目,
8、A,B,C,D,试卷号填空题信息 填空题表填空题表填空题题号,填空题分数,填空题目,试卷号判断题信息判断题表判断题表判断题题号,判断题分数,判断题目,试卷号问答题信息问答题表问答题表问答题题号,问答题分数,问答题目,试卷号考试记录信息考试记录表考试记录表学号,答案,标记,题号,试卷号时间信息时间表时间表学号,剩余分钟,剩余秒4 数据存储数据存储名输入的数据流输出的数据流组成学生表学生信息学生信息 学生信息选择题表选择题信息选择题信息选择题信息填空题表填空题信息填空题信息填空题信息判断题表判断题信息判断题信息判断题信息问答题表问答题信息问答题信息问答题信息考试记录表考试信息考试信息考试信息试卷表
9、试卷信息试卷信息试卷信息时间表时间信息时间信息时间信息5 处理过程处理过程名输入数据流输出数据流登录学号、试卷密码试卷总体内容开始考试选择题表、填空题表、判断题表、问答题表相应的题目、填写答案并标记查看做题考试记录表剩余题目数和相应的分数查看标记考试记录表已标记题目的详细信息1.4 数据流图根据功能分析得系统数据流图如图1所示。学生登录学生信息文件查看试卷信息文件考试考试记录文件查看图1。系统数据流图二 概念结构设计2.1 实体属性根据系统功能分析得实体属性图如图2所示。学生学号姓名是否交卷试卷试卷编号试卷密码考试时间时间记录学号编号剩余分钟剩余秒考试考试编号标记答案学号题号试卷编号选择题分数
10、题号试卷号ABCD题目填空题填空题目填空题号试卷号填空题分数判断题试卷号判断题题目判断题号分数问答题问答题目问答题号试卷号分数图2。系统实体属性图2.2 系统ER图根据系统分析得ER图如图3所示。时间记录学号编号剩余分钟剩余秒n1学号姓名是否交卷学生考试试卷考试编号答案标记题号试卷编号试卷密码考试时间问答题问答题目问答题号试卷号分数判断题试卷号判断题题目判断题号分数填空题填空题目填空题号试卷号填空题分数选择题分数题号试卷号ABCD题目图3。系统的总ER图三 逻辑结构设计将ER图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根
11、据局部应用需要设计外模式。逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。3.1 ER图转换为关系模式ER图向模式转换的原则:一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键;一个联系转换为一个关系模式,与该联系相连的每个实体型的键以及联系的属性都转换为关系的属性。(1)学生(姓名,学号,是否交卷),此为学生实体转换成的关系.(2)试卷(试卷编号,考试时间,试卷密码),此为试卷实体转换成的关系。(3)选择题(题号,分数,题目,A,B,C,D,试卷号),此为选择题实体转换成的关系。(4)填空题(填空题号
12、,填空题分数,填空题目,试卷号),此为填空题实体转换成的关系。(5)判断题(判断题号,分数,判断题题目,试卷号),此为判断题实体转换成的关系。(6)问答题(问答题号,分数,问答题目,试卷号),此为问答题实体转换成的关系.(7)考试(学号,答案,标记,题号,试卷编号,考试编号),此为考试联系转换成的关系.(8)时间记录(学号,编号,剩余分钟,剩余秒),此为时间对应的关系模式。3。2数据模型的优化数据库逻辑设计的结果不是唯一的。为了进一步提高数据库的性能,还应该适当的修改、调整、优化。1。确定数据依赖。2。对于各个关系模式之间的数据依赖进行极小化处理3。按照数据依赖的理论对关系模式逐一进行分析,考
13、察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。4.按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解.5。对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率.经分析关系模式学生、试卷、选择题、填空题、判断题、问答题、考试、时间记录中的每个非主属性完全函数依赖于码且不传递依赖于码,属于第三范式,对于系统来说无需优化.四 物理结构设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统.数据库的物理设计分为两步:(1)确定数据库的物理结构,在关系模式中主要指存
14、取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。4。1 关系模式存取方法选择对于存储在数据库中的数据,当对其进行特定的操作时,需要通过建立索引来提高存取的效率,设计中利用系统对主码默认建立索引的方式,使用系统默认建立的索引对关系进行操作,提高查询效率。我在做系统的时候执行界面的跳转,用到了传递和接收数据,为了提高时间效率,我使用了值传递。为了减少维护代价,在信息处理时,我去除了一些无用的信息。4。2确定数据库存取结构确定数据库物理结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、等存储结构,确定系统配置等. 1、确定数据存放位置可以将表和索引放在不同的
15、磁盘上,在查询时,由于磁盘驱动器并行工作,可以提高物理I/O读写的效率,可以将较大的表放在两个磁盘上,以加快存取速度. 2、确定系统配置DBMS产品一般都提供了一些系统配置变量、存取分配参数,供设计人员和DBA对数据库进行物理优化.在物理设计时,对系统配置变量的调整只是初步的,在系统运行时还要根据系统实际运行情况做进一步的调整,以期切实改进系统性能。五 数据库实施及应用程序编制5。1数据库及应用程序实施说明用MS SQL SERVER2005建立数据库结构,加载(测试/虚拟)数据,能体现对数据库的保护(安全性和完整性控制等)。实现各种查询、链接应用程序,并能对数据库做简单的维护操作。5.2数据
16、库实施 1.创建数据库根据需求创建数据库如图4所示.图4.创建数据库图2.创建表根据需求创建表如图5所示.图5。创建信息表图3. 插入测试数据根据需求插入测试数据如图6所示。图6.插入测试数据图5。3应用程序编制1。系统登录界面根据需求实现系统的登录如图7所示。图7。系统登录界面图2。显示题目信息界面实现考试过程如图8所示。图8。实现考试过程图3. 考试界面考试界面如图9所示。图9。考试界面图4. 查看标记界面根据需求查看考试中的标记如图10所示。图10.考试标记图5. 查看做题情况界面根据需求查看考试中的标记如图11所示。图11。统计做题图6。 数据库实施根据系统需求建立学生信息、试卷信息、
17、填空题信息、选择题信息、判断题信息、问答题信息及考试记录信息如图12所示。学生信息表试卷信息表选择题表填空题表判断题表问答题表考试记录表图12.系统相关信息图六 心得体会此次课程设计,我做的是通用考试系统-学生机部分,由于对知识的不完全掌握,导致前一两天完全没有思路,后来经老师再三讲解,按照数据库课程设计的流程,首先要对系统进行需求分析,充分了解了题目的要求,同时也绘出了数据流图,为自己下面的程序编写奠定了基础.C#对我来说是一门全新的语言,一边学一边做有很大的挑战,后来在老师、同学的帮助下,顺利的解决了遇到的问题。我也同时认识到要做出一个出色的系统,最重要的是数据库的设计,而不是之前所认识到
18、的,系统能够实现就行.关键还要看数据库设计的合理与实用性。通过这次课程设计,我对C语言有了深入的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以在以后的学习过程中,我会更加注视实践操作,使自己更好地学好计算机编程.七 参考资料1王珊等著。数据库系统概论(第4版).高等教育出版社,20062张爱玲等著.Visual C 2008程序设计教程。清华大学出版社,2011- 11 -