数据库设计教务管理系统.docx
《数据库设计教务管理系统.docx》由会员分享,可在线阅读,更多相关《数据库设计教务管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
![数据库设计教务管理系统.docx](https://file1.bdocx.com/fileroot1/2023-2/24/98f9f1d5-e11b-400d-87ca-f6d022aac24b/98f9f1d5-e11b-400d-87ca-f6d022aac24b1.gif)
数据库设计教务管理系统
计算机科学与技术学院、软件学院
数据库设计与开发实验报告
教
务
管
理
系
统
学生姓名:
学号:
班级:
指导老师:
目录
第1章需求分析...........................................................................................................................3
第2章数据库设计.......................................................................................................................3
2.1E-R图分析..................................................................................................................................3
2.2数据库表设计.............................................................................................................................4
2.2.1zhj_course表结构............................................................................................................4
2.2.2zhj_student表结构...........................................................................................................4
2.2.3zhj_teacher表结构..........................................................................................................4
2.2.4zhj_C_T表结构..............................................................................................................4
2.2.5zhj_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.1E-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,其他表实现法相同
createproczhj_student_insert
@学号char(15),
@姓名char(50),
@性别char
(2),
@班级char(30),
@char(30),
@联系式char(15)
asinsertintozhj_student
values(@学号,@姓名,@性别,@班级,@,@联系式)
描述:
该存储过程用于修改学生记录
createproczhj_student_update
@学号char(15),
@姓名char(50),
@性别char
(2),
@班级char(30),
@char(30),
@联系式char(15)
asupdatezhj_student
setstudent_name=@姓名,student_sex=@性别,student_class=@班级,
student_email=@,student_phone=@联系式
wherestudent_ID=@学号
3.4触发器设计
3.4.1插入触发器
描述:
插入新的信息后会有提示消息,便于用户确认是否执行成功,这里只展示表zhj_student,其他表实现法同。
createtriggerzhj_student_insert_trigger
onzhj_student
forinsert
ASRAISERROR('正在修改zhj_student表',16,10)
3.4.2更新触发器
描述:
更新某项后会将被更新的元组的所有容输出
createtriggerzhj_student_update_trigger
onzhj_student
forupdate
asselect*frominserted
3.4.3删除触发器
描述:
删除信息后会把表中所有信息显示出来,便于用户确认。
实现法与更新相同,不详述。
3.5游标的应用
描述:
用于汇总学生的选课信息和成绩信息,将游标应用在存储过程中,便调用,数据库中有一个表zhj_summary,每次应用游标时,清空zhj_summary表,将最新信息插入。
然后显示,便于用户查看。
createprocsearch
asdeclare@zhjcursor
SET@zhj=CURSORSCROLLDYNAMICfor
selectstudent_IDfromzhj_studentgroupbystudent_ID
begin
deletefromzhj_summary
declare
@countint,@sumfloat,@avgfloat,@codeint
open@zhj
fetchnextfrom@zhjinto@code
while(@@fetch_status=0)
begin
set@count=(selectCOUNT(C_S_ID)fromzhj_C_Swherestudent_ID=@code)
set@sum=(selectSUM(grade)fromzhj_C_Swherestudent_ID=@code)
set@avg=@sum/@count
insertintozhj_summaryvalues(@code,@count,@sum,@avg);
fetchnextfrom@zhjinto@code
end
close@zhj
deallocate@zhj
end
select
zhj_summary.student_ID,zhj_student.student_name,count,sum,avg
fromzhj_student,zhj_summary
wherezhj_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连接数据库的能力得到了很大水平的提升,学会了在代码中应用存储过程和游标,完成了选课、录入成绩等较复杂的功能。
这次写的是教务管理系统,在编写过程中对系统的操作流程有了很清晰的体会。
在与同学交流的过程中学到了很多东西,发现了自己的不足,我及时更正了一些错误,终于最后完成了这次实验。
这是我写的最累的一次实验了,因为时间比较紧,又只有一个人做,好多次都想要放弃一些功能,但是看到其他同学做到了,就觉得自己也能也应该做到,最后真的做到了,觉得很满足。