当前位置:文档之家› 数据库实验报告2

数据库实验报告2

学生成绩管理系统实验报告
姓名:
学号:
专业:
班级:
院系:
一、实验目的
通过这次上机实习,进一步巩固本学期学习的数据库知识,熟练掌握数据库的使用,熟练应用数据库的增、删、改、查询等操作。

二、实验需求
在Access中完成有如下功能要求的系统。

功能要求:
1.基础数据管理
1.1学生管理。

例如,加入新学生,删去已退学的学生、修改学生资料
1.2成绩管理。

例如,添加、删除、修改学生成绩
1.3教师管理。

例如,添加、删除、修改教师信息
2.查询:(将所有的查询结果通过窗体的形式显示)
a)查询出英语四级为“通过”的学生信息
b)根据姓名查询某个学生各门课程的成绩
c)根据课程名查询出所有学生成绩(降序排序)
d)根据学生各门成绩计算出总成绩并新生成一个总成绩表(包括学号、总成
绩字段)
e)查询出某个教师上的所有课程的详细情况
f)查询至少有一门课程在90分以上的学生信息
3.统计:
a)统计出每门课程的平均成绩
b)统计出每个系英语四级的通过比例
c)统计出具有获得奖学金资格的学生的名单(要求没有不及格科目的同学才
有资格,以SQL语句完成)
4.sql语句练习
a)写一个SQL语句,统计各门课程的平均成绩超过85分的学生的名字、学
号和成绩。

b)统计平均成绩超过85分的学生的名字、学号和平均成绩。

5.览印:生成成绩通知单(分类报表),列出学生的详细资料,及对应学生的各门课
程成绩,并在对应学生所有成绩的后面计算出总成绩。

6.宏操作:将“查询”窗体用宏实现
7.要求至少8条学生信息、3条教师信息、3条系别信息、5门课程、每个学生至少3
条成绩信息。

8.根据各自需要,在前面要求的基础上再自行添加其他需要的功能
三、数据库设计
(一)、概念结构设计
1、总E-R图:
2、功能模块
数据系统的主要功能模块有基础数据管理、查询、统计、成绩通知单5大模块,使用者通过设定的账号和密码登录后即可使用该系统的相关功能进行数据操作,系统的特点是通用性和简单操作性。

下面是各模块的详细介绍
一)、在学生信息管理的子模块中包括了以下模块:
(1)、录入学生信息模块:
录入学生的学号、姓名、性别、民族、籍贯、出生日期、联系电话、家庭地址和家长姓名等信息。

录入第一条记录后,系统会自动进入下一编号的录入页面(编号自动加一),减轻了手工劳动并避免了许多错误的发生。

若录入的编号或自动加一生成的编号与数据库中的记录重复,则会自动转入修改页面。

修改完成后同样也会自动进入下一编号录入页面。

此模块必须先登录后才能使用。

(2)、查询学生信息模块:
可从编号、姓名或班级三种查询方法任选其一进行查询学生信息。

并且支持模糊查询!例如:在编号查询框中输入2001,则查询结果为编号中包含“2001”的学生;
在姓名中输入“小”,则查询结果为姓名中包含有“小”的学生;此模块必须先登录后才能使用。

(3)、修改/删除学生信息模块:
首先使用查询功能查询出需要修改/删除的记录,然后进行修改/删除操作。

在删除页面设置了复选按钮,可以批量删除记录。

(4)、班级管理模块:
添加/删除班级,但是其结果会直接影响“按班级查询”方式。

二)、在学生成绩管理系统中包括了以下模块
(1)、录入学生成绩模块:
录入某次考试中一科或多科的成绩。

提供两种录入方式:单条记录方式和列表方式。

单条记录方式比较简单,且不容易出错。

列表方式提供了批量录入的功能,可以一次性录入所有成绩,但容易出错。

(2)、查询学生成绩模块:
提供两种方式查询学生成绩:按考试查询和按科目查询。

按考试查询是指首先选择要查询成绩的考试名称,然后查询这一次考试中的某一科或多科的成绩,这种方式适合某一次考试的横向比较;按科目查询是指首先选择要查询成绩的某一科目,然后查询这一科的某次或多次考试的成绩,这种方式适合科任老师对学生几次考试的成绩进行纵向比较。

(3)、学生成绩修改/删除模块:
修改/删除某次考试中某个学生的成绩。

(二)、逻辑结构设计。

1:关系模型:
(1)学生(学号,姓名,性别,出生日期)
(2)课程(课程号,课程名,性质,学分)
(3)老师与课程(老师姓名,班级号,课程号)
(4)学生与课程(学号,课程号,分数)
(5)班级与学生(学号,班级号)
(6)专业与班级(班级号,专业)
(7)管理员(姓名,密码)
学生登陆(学号,密码)
下划线所对应的属性为该基本关系的主码。

2:参照完整性
(1)基本关系“老师与课程”中的‘课程号’是关系的外码,被参照关系是“课程”。

(2)基本关系“学生与课程”中的‘学号’和‘课程号’是外码,‘学号’的被参照关系是“学生”,‘课程号’的被参照关系是‘课程’(3)基本关系“学生平均成绩”的‘学号’是外码,被参照关系是“学生”。

3:为方便查询建立视图:
学生资料(学号,姓名,性别,出生日期,班级,专业,系)
可通过对基本关系“学生”、“班级和学生”和“专业与班级”三者的自然连接得到。

学生成绩(学号,姓名,课程名,分数,学分,性质)
可通过对“学生”、“课程”和“学生与课程”三个表操作得到。

学生平均成绩(学号,姓名,平均成绩,选修课没及格累计学分,必修课没及格累计学分)可通过对基本关系“学生”、“学生与课程”和“课程”三者的自然连接得到。

学生与老师(学号,老师)
可通过对“学生”“学生与课程”“老师与课程”三者的自然连接得到。

4:定义的完整性。

(1)基本关系学生中的‘性别’属性只能是‘男’、‘女’、‘M’和‘F’中的一个。

(2)‘学号’属性只能是10位数字。

‘班级号’属性只能是7位数字。

(三)、系统主菜单
可参考下图设计系统主菜单
部分系统子菜单(查询)
将“功能要求”中“查询”中所有内容分别作为数据源,创建对应的窗体或报表,并可参考下图通过组合框控件来设计此子菜单
四、实验心得
通过这次实验,我更进一步地掌握了使用SQL、向数据库输入数据、修改数据和删除数
据的操作,并且巩固了上一个实验中的各种基本操作,加深了对数据库知识的理解。

没有
做好充分的准备就开始动手写代码编程,于是花费了很多时间,推倒重来。

我想这也是做
数据处理的一大忌讳,因此,我还是要做充分的需求分析,概要设计和详细设计之后再进
行动手编码。

相关主题