1、数据库学生成绩管理系统课程设计数据库学生成绩管理系统课程设计河南理工大学 计算机科学与技术学院 课程设计报告 200 7 200 8 学年第 二 学期 课程名称 数据库课程设计 设计题目 学生成绩管理系统 学生姓名 0 学 号 专业班级 指导教师 申自浩 2008 年 7 月 1 日 1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。 2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。 3)每门课程有课程号,课程名称、任课教师、学分等信息。 4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行查询、浏览和修改。 学生成绩管理系统主要用于学生成绩信息管
2、理,据分析学生成绩管理系统的数据表可浓缩为:学生基本信息表、课程基本信息表和学生成绩信息表。根据学校的情况,可按下面的步骤来分析: (1) 确定学生所在的院系、所学的专业以及所在的班级。 (2) 确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在班级、学号和学期。 (3) 分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。 (4) 用户信息分析,通常包括用户名和密码。 学号 课程号 姓名 课程名称 成绩 性别 查询成绩 学生 课程 班级 出生日期 任课教师 学分 根据ER图,将其转化为如下数据实体,数据库:学生成绩管理系统.dbc,包括如下的表和视图: 1) 学生
3、登记表学生表.dbf。 xh 字符型 10 xm 字符型 6 xb 字符型 2 csrq 日期型 8 bj 字符型 4 2) 课程登记表课程表.dbf。 kch 字符型 2 kcm 字符型 10 js 字符型 10 xf 字符型 10 3) 成绩登记表成绩表.dbf xh 字符型 10 kch 字符型 2 cj 数值型 3 4) 借书视图(lyxview)。 为了进行浏览总表的需要,需要设计了一个总表浏览视图,该视图从学生表.dbf等3个表中提取了10个字段的数据: 学生表.xh 学生表.xm 学生表.xb 学生表.csrq 学生表.bj 课程表.kch 课程表.kcm 课程表.js 课程表.
4、xf 成绩表.cj 其视图关系可由以下SQL语句定义: SELECT 学生表.*, 课程表.*, 成绩表.cj; FROM 学生成绩管理系统!学生表, 学生成绩管理系统!课程表,; 学生成绩管理系统!成绩表; WHERE 学生表.xh = 成绩表.xh; AND 课程表.kch = 成绩表.kch 所建数据库如下图所示: 本系统需要使用的数据如下: 本系统由SQL语言编写,在Visual Foxpro 6.0软件环境下可以正常运行系统流程图模块主要由刘龙洋同学设计,而系统的功能设计主要由李江滨同学完成,我主要负责程序主要功能界面的设计,下面是部分流程图: 开始 用户登陆界面 浏览 查询 系统维
5、护 报表 帮助 维浏浏总浏学课成更版、 护览览表览生程绩查改权表学成浏课报报报询口所 记生绩览程表表表令有 录 : 第一步:在表单上单击鼠标右键,并在弹出菜单中选择“数据环境”项,打开数据环境设计器,添加数据表mm.dbf; 第二步:创建表单并保存为“登录”; 第三步:添加lable1,并设置其caption属性为“欢迎使用学生成绩管理系统!”; 第四步:添加lable2和text1并设置相关属性; 第五步:添加timer控件,并设置其Enabled属性为“真”,用于设计窗口动画。 登录界面如下图所示: 第一步:在表单上单击鼠标右键,并在弹出菜单中选择“数据环境”项,打开数据环境设计器,添加数
6、据表mm.dbf; 第二步:创建表单并保存为“修改密码”; 第三步:添加label1 、label2、 label3,并设置其caption属性分别为“请输入旧密码”、“请输入新密码”、“请确认新密码”; 第四步:添加text1、 text2、 text3,并设置相关属性; 第五步:添加command1和command2,并设置其caption属性分别为“确认”和“取消”; 修改密码表单如下图: 第一步:创建表单,并保存为学生表.scx; 第二步:添加lable1lable5,其caption的属性如下图所示 ; 第三步: 添加文本框text1text5,并设置相关属性; 第四步:添加“院系”
7、、“专业”、“班级”和“学期”列表框; 第五步:添加类,并设置相关属性,用于增添和修改学生基本信息; 第六步:添加文本框text6,并设置相关属性; 第七步:添加command1command10,并设置相关属性; 第八步:添加“返回”按钮,其功能是关闭此界面; 第九步:执行运行命令,并进行测试。 第一步:创建表单,并保存为课程表.scx; 第二步:添加lable1lable4,其caption的属性如下图所示 ; 第三步: 添加文本框text1text4,并设置相关属性; 第四步:添加类,并设置相关属性,用于增添和修改课程基本信息; 第五步:添加command1command10,并设置相关
8、属性 第一步:创建表单,并保存为成绩表.scx; 第二步:添加lable1lable3,其caption的属性如下图所示 ; 第三步: 添加文本框text1text3,并设置相关属性; 第四步:添加类,并设置相关属性,用于增添和修改学生成绩基本信息; 第五步:添加command1command10,并设置相关属性; 第六步:执行运行命令,并进行测试 第一步:创建表单,并保存为“浏览学生.scx”; 第二步:使用组合框生成器来生成编辑组合框,其操作步骤是:首先选择要编辑的组合框,然后单击鼠标右键,在弹出的快捷菜单中选择 “生成器”菜单项,屏幕上弹出组合框生成器窗体,设置数据环境为“学生表.dbf
9、”。 第三步: 添加label1和列表框,并设置相关属性; 第四步:添加command1,并设置其caption属性为“查找”。 第一步:创建表单,并保存为“浏览成绩.scx”; 第二步:使用组合框生成器来生成编辑组合框,其操作步骤是:首先选择要编辑的组合框,然后单击鼠标右键,在弹出的快捷菜单中选择 “生成器”菜单项,屏幕上弹出组合框生成器窗体,设置数据环境为“成绩表.dbf”。 第三步: 添加label1和列表框,并设置相关属性; 第四步:添加command1,并设置其caption属性为“查找”。 运行界面如下: 第一步:创建表单,并保存为“查询成绩.scx”; 第二步:使用组合框生成器来
10、生成编辑组合框,其操作步骤是:首先选择要编辑的组合框,然后单击鼠标右键,在弹出的快捷菜单中选择 “生成器”菜单项,屏幕上弹出组合框生成器窗体,设置数据环境为“成绩表.dbf”。 第三步: 添加label1,并设置其caption属性为“浏览学生成绩”; 第四步:添加command1、command2,并设置其caption属性为“查询”和“退出”。 运行界面如下:学生表报表的设计过程说明如下: 报表数据源 学生表.dbf,该表已在前面做了说明。 报表分组条件 学生表.bj 报表排序条件 学生表.xh 该报表由向导程序生成,其后进行了一些格式美化的调整修改工作,关键问题是要先定义好作为数据源的表
11、文件,运行界面如下: 学生表报表的设计过程说明如下: 报表数据源 课程表.dbf,该表已在前面做了说明。 报表排序条件 课程表.kch 该报表由向导程序生成,其后进行了一些格式美化的调整修改工作,关键问题是要先定义好作为数据源的表文件,运行界面如下:成绩表报表的设计过程说明如下: 报表数据源 成绩表.dbf,该表已在前面做了说明。 报表分组条件 成绩表.kcm 报表排序条件 学生表.xh 该报表由向导程序生成,其后进行了一些格式美化的调整修改工作,关键问题是要先定义好作为数据源的表文件,运行界面如下: 第一步:创建表单,并保存为 版权.scx; 第二步:添加lable1lable3,其capt
12、ion的属性如下图所示 ; 第三步: 设置其picture属性,选择背景图片。 运行界面如下: 本系统在设计好之后,初次调试过程中一直出现编译不成功的现象,系统总是显示你所编译的目标文件不存在,找不到你所编译的目标文件路径,后来通过查资料才知道,Visual Foxpro 6.0软件在对程序编译的时候默认路径为D盘,随后我们将原vf软件装入D盘,才编译成功。编译成功之后生成可执行文件的过程如下: 第一步:在“项目管理器”中设计完成相应的数据库、数据表、各种应用界面、菜单以及主控程序“主程序.prg”,并将“主程序.prg”设置为主文件; 第二步:生成可执行文件。 在项目管理器中 执行“连编可执
13、行文件”创建可执行文件(.exe),单击“确定”按钮后系统打开“另存为”对话框。将文件另存为“学生成绩管理系统”,然后单击“保存”按钮,系统将自动对项目中的所有程序进行编译。 在本次课程设计中,我主要负责学生成绩管理系统的界面设计。界面设计非常重要,它是一套系统展现在使用者没面前的最终东西,它的好坏将直接影响到使用者对本套系统的认可,良好的仕途效果与平面设计,以及好的布局能给人留下深刻的印象。在设计过程中碰到了好多问题,但最终在同学和老师的帮助下都得到了解决,在设计学生成绩管理界面时,我学会了好多在课本上学不到的东西,通过本次课程设计我也能将课本上的知识融会贯通,提到很好的辅助学习效果。 通过
14、做课程设计,我确实学到了相当多的东西。眼高手低是同学们的通病,有些事情看起来很同意,但做起来并不是如此。在做本次数据库课程设计之前,我已经将课本上的东西熟练掌握,自认为做一个很简单的课程设计应该很容易,然而真正操作起来却遇到了很多的麻烦。 首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。 但是我总相信一句话“只要坚持,一千次失败过后,被会有一次闪亮的成功,凡事不能一蹴而就,对待学问、对待科研更是
15、如此”,在做完这次课程设计之后,我也体会到了一种成功的喜悦。同时这次课程设计也让我查到了许多在数据库学习中的漏洞,我也通过这次的实践机会完善了自己的知识,起到了很好的查缺补漏的效果。参考文献 1、关系数据库原理与系统,宋瀚涛,梁允荣,北京理工大学出版社,1992 2、数据库系统设计及其应用案例分析,刘秋生,东南大学出版社,2005 3、数据库系统概论(第3版),王珊,高等教育出版社,2002 4、SQL Server数据库原理及应用教程,张丽,王强,清华大学出版社,20035、visual foxpro应用于开发案例教程,徐谡, 清华大学出版社2005 6、Visual FoxPro 6.0数据库原理与应用,胡晓燕, 西安电子科技大学出版社 7、Visual FoxPro 6.0程序设计教程,刘瑞新, 文成林 机械工业出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1