河南理工大学
计算机科学与技术学院
课程设计报告
200 7 — 200 8 学年第 二 学期
课程名称 数据库课程设计 设计题目 学生成绩管理系统 学生姓名 ^0^ 学 号 专业班级 指导教师 申自浩
2008 年 7 月 1 日
? 1 问题描述
1.1 背景
1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。 2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。 3)每门课程有课程号,课程名称、任课教师、学分等信息。
4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行查询、浏览和修改。 1.2 数据需求
学生成绩管理系统主要用于学生成绩信息管理,据分析学生成绩管理系统的数据表可浓缩为:学生基本信息表、课程基本信息表和学生成绩信息表。根据学校的情况,可按下面的步骤来分析:
(1) 确定学生所在的院系、所学的专业以及所在的班级。 (2) 确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在
班级、学号和学期。
(3) 分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。 (4) 用户信息分析,通常包括用户名和密码。
? 2 解决方案 ( 或数据库系统设计 )
2.1 E-R 模型设计
学号 姓名 成绩 课程号 课程名称 性别 学生 班级 查询成绩 课程 出生日期 任课教师 学分
根据E—R图,将其转化为如下数据实体,数据库:学生成绩管理系统.dbc,包括如下的表和视图:
1) 学生登记表——学生表.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 课程表.xf 成绩表.cj
其视图关系可由以下SQL语句定义:
SELECT 学生表.*, 课程表.*, 成绩表.cj;
FROM 学生成绩管理系统!学生表, 学生成绩管理系统!课程表,; 学生成绩管理系统!成绩表;
WHERE 学生表.xh = 成绩表.xh; AND 课程表.kch = 成绩表.kch 所建数据库如下图所示:
2.2 数据表
本系统需要使用的数据如下: ?3 系统实现
3.1 开发环境
本系统由SQL语言编写,在Visual Foxpro 6.0软件环境下可以正常运行 3.2 系统流程图
系统流程图模块主要由刘龙洋同学设计,而系统的功能设计主要由李江滨同学完成,我主要负责程序主要功能界面的设计,下面是部分流程图:
开始 用户登陆界面 系统维护 浏览 查询 报表 帮助 维更、 护改口 表记令 录总表浏览浏览学生浏览课程浏览成绩查询学生报表课程报表成绩报表版权所有 3.3 程序主要功能界面
1、登录界面的设计:
第一步:在表单上单击鼠标右键,并在弹出菜单中选择“数据环境”项,打开数据环境设计器,添加数据表mm.dbf;
第二步:创建表单并保存为“登录”; 第三步:添加lable1,并设置其caption属性为“欢迎使用学生成绩管理系统!”; 第四步:添加lable2和text1并设置相关属性;
第五步:添加timer控件,并设置其Enabled属性为“真”,用于设计窗口动画。
登录界面如下图所示: