资源描述
。
计算机科学与技术学院、软件学院
数据库设计与开发实验报告
教
务
管
理
系
统
学生姓名:
学号:
班级:
指导老师:
目录
第 1 章 需求分析....................................................................................................................... ....3
第 2 章 数据库设计................................................................................................................... ....3
2.1E-R 图分析..................................................................................................................................3
2.2 数据库表设计.............................................................................................................................4
2.2.1zhj_course表结构............................................................................................................4
2.2.2zhj_student表结构...........................................................................................................4
2.2.3 zhj_teacher表结构..........................................................................................................4
2.2.4 zhj_C_T表结构..............................................................................................................4
2.2.5 zhj_C_S表结构..............................................................................................................4
第3 章 数据库程序设计.................................................................................................................5
3.1 数据库及表的定义.....................................................................................................................5
3.2 为数据库各表建立索引.............................................................................................................5
3.3 创建各表的存储过程.................................................................................................................5
3.3.1 普通存储过程(无参数)............................................................................................6
3.3.2 带参数的存储过程........................................................................................................7
3.3.3 带output参数的存储过程............................................................................................7
3.4 触发器设计.................................................................................................................................8
3.4.1 插入触发器....................................................................................................................8
3.4.2 更新触发器....................................................................................................................9
3.4.3 删除触发器....................................................................................................................9
3.5 游标的应用...............................................................................................................................10
第4 章 用户交互界面...................................................................................................................11
4.1 、登录界面模块........................................................................................................................11
4.2 、学生登录模块........................................................................................................................12
4.2.1 个人信息管理..............................................................................................................12
4.2.2 选课模块......................................................................................................................13
4.2.3 查看与删除选课..........................................................................................................13
4.3 、教师登录模块........................................................................................................................14
4.3.1 选择授课............................................... ......................................................................14
4.3.2 查看授课......................................................................................................................14
4.3.3 录入成绩......................................................................................................................14
4.4 、系统管理员登录模块.............................................................................................................16
4.4.1 学生管理......................................................................................................................16
4.4.2 教师管理......................................................................................................................18
4.4.3 课程管理......................................................................................................................18
4.4.4 选课管理......................................................................................................................18
4.4.5 授课管理......................................................................................................................18
4.4.6 查看学生所选课程数目总分平均分..........................................................................18
第 5 章 总结..................................................................................................................................19
第一章 需求分析
问题提出:
每年系主任诽课都会遇到困难。系主任希望用计算机记录教师的基本信息、每个学期的开课信息、学生基本信息、教师授课信息、以及学生选课的情况。通常,每位教师可以选择多门课程授课,每位学生,也可以选择自己喜欢的教师。
本教务管理系统包括以下3个模块:
1. 学生模块:
学生通过登陆验证后进入系统,可以查询自己的相关信息,修改个人信息,所选课程的相关信息, 成绩的相关信息,同时还可以选课,查询选课结果,删除已选课程。
2. 教师模块:
教师通过登陆验证后进入系统,可以查询教师所教的班级的学生信息,可以选择授课,删除授课,同时教师还可以上传学生成绩。
3. 系统管理员模块:
管理员(教务处)通过登陆验证后进入系统,可以实现对学生个人信息管理,包括增删改查,同时可以为学生选课,修改成绩(若学生选课失败可到教务处直接选课,若教师发现上传的成绩不对时可向教务处说明情况并修改学生成绩)。对课程信息的增删改查,教师信息增删改查,授课管理还有学生选课科目数,总分平均分的统计,发布等。
第二章 数据库设计
2.1 E-R图分析
2.2数据库表设计
2.2.1zhj_course表结构
字段
数据结构
长度
是否允许空值
备注
课程号course_ID
int
否
主键
课程名course_name
char
15
否
备注course_remark
char
20
是
2.2.2zhj_student表结构
字段
数据结构
长度
是否允许空值
备注
学号student_ID
int
否
主键
姓名student_name
char
15
否
性别student_sex
char
2
是
班级student_class
char
10
是
邮箱student_email
char
20
是
联系方式student_phone
char
20
是
2.2.3zhj_teacher表结构
字段
数据结构
长度
是否允许空值
备注
教师工号teacher_ID
int
否
主键
姓名teacher_name
Char
10
否
电话teacher_phone
char
20
是
2.2.4C_T表结构
字段
数据结构
长度
是否允许空值
备注
授课号C_T_ID
int
否
主键
教师工号teacher_ID
int
否
外键
课程号course_ID
int
否
外键
2.2.5C_S表结构
字段
数据结构
长度
是否允许空值
备注
选课号C_S_ID
int
否
主键
学号student_ID
int
否
外键
授课号C_T_ID
int
否
外键
成绩grade
int
是
第三章 数据库程序设计
3.1数据库及表的定义(此部分由企业管理器完成,不详述)
3.2为数据库各表建立索引(如果各表的数据海量可以加快查询速度)
其他表索引同上
3.3创建各表的存储过程
3.3.1 普通存储过程(无参数)
描述:该存储过程用于查询各表的信息(简化select语句),这里只展示表zhj_student,其他表实现方法相同
3.3.2带参数的存储过程
描述:该存储过程用于在学生表中插入信息,简化insert语句,这里只展示表zhj_student,其他表实现方法相同
create proc zhj_student_insert
@学号 char(15),
@姓名 char(50),
@性别 char(2),
@班级 char(30),
@邮箱 char(30),
@联系方式 char(15)
as insert into zhj_student
values(@学号,@姓名,@性别,@班级,@邮箱,@联系方式)
描述:该存储过程用于修改学生记录
create proc zhj_student_update
@学号 char(15),
@姓名 char(50),
@性别 char(2),
@班级 char(30),
@邮箱 char(30),
@联系方式 char(15)
as update zhj_student
set student_name=@姓名,student_sex=@性别,student_class=@班级,
student_email=@邮箱,student_phone=@联系方式
where student_ID=@学号
3.4 触发器设计
3.4.1 插入触发器
描述:插入新的信息后会有提示消息,便于用户确认是否执行成功,这里只展示表zhj_student,其他表实现方法同。
create trigger zhj_student_insert_trigger
on zhj_student
for insert
AS RAISERROR ('正在修改zhj_student表', 16, 10)
3.4.2 更新触发器
描述:更新某项后会将被更新的元组的所有内容输出
create trigger zhj_student_update_trigger
on zhj_student
for update
as select *from inserted
3.4.3 删除触发器
描述:删除信息后会把表中所有信息显示出来,便于用户确认。
实现方法与更新相同,不详述。
3.5 游标的应用
描述:用于汇总学生的选课信息和成绩信息,将游标应用在存储过程中,方 便调用,数据库中有一个表zhj_summary,每次应用游标时,清空zhj_summary表,将最新信息插入。然后显示,便于用户查看。
create proc search
as declare @zhj cursor
SET @zhj = CURSOR SCROLL DYNAMIC for
select student_ID from zhj_student group by student_ID
begin
delete from zhj_summary
declare
@count int, @sum float, @avg float, @code int
open @zhj
fetch next from @zhj into @code
while (@@fetch_status=0)
begin
set @count=(select COUNT (C_S_ID) from zhj_C_S where student_ID=@code)
set @sum=(select SUM (grade) from zhj_C_S where student_ID=@code)
set @avg=@sum/@count
insert into zhj_summary values (@code,@count,@sum,@avg);
fetch next from @zhj into @code
end
close @zhj
deallocate @zhj
end
select
zhj_summary.student_ID, zhj_student.student_name,count,sum, avg
from zhj_student,zhj_summary
where zhj_student.student_ID= zhj_summary.student_ID
第四章 用户交互界面
4.1登陆界面模块
4.2学生登陆模块
可以选择在学生身份下可进行的操作
4.2.1个人信息管理
可查看个人信息,修改邮箱、电话,其他信息只有管理员有权修改
4.2.2选课模块
学生可在所列课程中点击单选钮、选择键进行选课
如选择授课号为14005的课程
4.2.3查看与删除选课
可查看所选课程,如刚刚所选授课号为14005已在已选课程中。选择选课号前的单选钮点击删除该选课可将已选课程删除
4.3教师登陆模块
教师登陆,查看个人信息,修改个人信息等与学生相同,不详述,以下为登陆后教师可进行的操作
4.3.1选择授课
教师可选择准备教授的课程,如选择课程号为2014001的课程
4.3.2查看授课
教师可查看授课信息,如之前所选课程号为2014001的课程已在列表中。教师可点击单选钮、删除键将授课删除
4.3.3录入成绩
首先选择要登入成绩的课程,点击登入成绩
教师输入成绩,点击提交
登入成功,并显示已登入的成绩
4.4系统管理员模块
系统管理员登陆后可进行的操作
4.4.1学生管理
查看全部学生
修改学生信息
插入学生信息(学号在数据库中为自动增长)
删除学生
4.4.2教师管理
对教师进行增删改查,与学生界面相同
4.4.3课程管理
对课程进行增删该查,与学生界面相同
4.4.4选课管理
对选课进行增删该查,与学生界面相同
4.4.5授课管理
对授课进行增删该查,与学生界面相同
4.4.6学生所选课程数目和总分平均分
第五章 总结
这次的实验收获颇丰。在写之前觉得那些选课什么的都好困难,都觉得不会写,但是经过两个星期的研究学会了应用很多东西,让自己对java连接数据库的能力得到了很大水平的提升,学会了在代码中应用存储过程和游标,完成了选课、录入成绩等较复杂的功能。这次写的是教务管理系统,在编写过程中对系统的操作流程有了很清晰的体会。在与同学交流的过程中学到了很多东西,发现了自己的不足,我及时更正了一些错误,终于最后完成了这次实验。这是我写的最累的一次实验了,因为时间比较紧,又只有一个人做,好多次都想要放弃一些功能,但是看到其他同学做到了,就觉得自己也能也应该做到,最后真的做到了,觉得很满足。
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考
-可编辑修改-
展开阅读全文