资源描述
池 州 学 院
CHIZHOU COLLEGE
《数据库》
课程设计汇报
课程名称 数据库
题目名称 教务管理辅助系统设计
专业班级 10计算机科学和技术(1)班
学 号
学生姓名 周庆瑞 胡浪
夏权 宋张超
指导老师 黄孝
目录
1 系统分析 3
1.1 开发背景 3
1.2 开发目标 3
1.3 现行系统存在关键问题 3
1.4 需求分析 4
1.4.1 信息要求: 4
1.4.2 处理要求: 4
1.4.3 安全性和完整性要求: 5
1.5 系统功效分析 5
1.6 业务步骤图、数据步骤图 5
2 系统设计 8
2.1 ER图和关系模式 8
2.2 总体结构设计 9
2.3 数据库设计 9
3 系统实现 10
4 试验总结: 28
5 参考文件 29
教务辅助管理系统设计和实现
1 系统分析
1.1 开发背景
伴随计算机技术不停发展,计算机应用于各大领域,并给大家生活带来了极大便利,一样能够应用在教务管理方面。以往大学老师因为缺乏合适软件而给其工作带来了很多不便。本文所介绍便是一个教务辅助管理系统,以方便其在课程安排、成绩处理、学籍管理上工作。
教务辅助管理系统是一个庞大而复杂系统,它包含对院系资料管理,对课程资料管理,对学生资料管理和对学生成绩管理等等关键功效。教务辅助管理系统是每个学校一项必不可少内容,它好坏直接影响到学校里关键工作,
为了提升教务管理工作效率,降低错误出现,节省大量人力资源,现在学校教务管理也逐步从手工转到计算机自动化信息处理阶段
1.2 开发目标
l 为了教务处管理系统更完善;
l 节省资源
l 为了教务处办公室对学生管理更方便;
l 为了减轻工作人员工作负担
1.3 现行系统存在关键问题
1) 单机单用户系统,伴随网络发展和校园网建立,同时教务管理系统中信息使用者大大增加,原有单机单用户系统已远远不能满足需要。同时,原有数据库也不支持多用户网络运行环境。
2) 系统独立性差,原有系统通常全部是使用数据库提供开发工具编写程序,所以收数据库制约比较大,编写出来程序性能也不好。尤其是无法支持如Access, MS SQL Server等新数据库。
3) 模块性差,因为不是一个完整编程语言,故无法做到代码模块化,给功效扩展带来了巨大不便。
1.4 需求分析
教务辅助管理系统大大提升了学校管理工作效率,使用户能够方便对院系信息、课程信息、学生信息和成绩信息进行管理。本系统对含有不一样权限用户所开放功效是不一样,最高级用户权限是“管理员”,它能使用系统全部功效,另一个用户权限是“用户”,它只能使用系统部分功效。
1.4.1 信息要求:
u 教务管理系统包含实体有:
l 老师——工作证号、姓名、职称、电话等;
l 学生——学号、姓名、性别、出生年月等;
l 班级——班号、最低总学分等;
l 系——系代号、系名和系办公室电话等;
l 课程——课序号、课名、学分、上课时间及名额等。
u 这些实体之间联络以下:
l 每个学生全部属于一个班,每个班全部属于一个系,每个老师也全部属于一个系。
l 每个班班主任全部由一名老师担任。
l 一名老师能够教多门课,一门课能够有几位主讲老师,但不一样老师讲同一门课其课序号是不一样(课序号是唯一)。
l 一名同学能够选多门课,一门课可被若干同学选中。一名同学选中课若已学完,应该统计有对应成绩。
l 本单位学生、老师全部有重名,工作证号、学号能够作为标识。
1.4.2 处理要求:
教学系统关键提供数据维护、选课和信息查询。其中常见查询有:系统中各对象基础信息查询。 查询指定班、系学生信息(名单、人数等)。查询学生成绩、学分情况。查询老师讲课情况和学生选课情况。
1.4.3 安全性和完整性要求:
u l安全性要求:
1.系统应设置访问用户标识以判别是否是正当用户,并要求正当用户设置其密码,确保用户身份不被盗用;
2.系统应对不一样数据设置不一样访问等级,限制访问用户可查询和处理数据类别和内容;
3.系统应对不一样用户设置不一样权限,区分不一样用户,如学生,老师,系统管理员。
u l 完整性要求:
1.多种信息统计完整性,关键信息统计内容不能为空;
2.多种数据间相互联络正确性;
3.相同数据在不一样统计中一致性
1.5 系统功效分析
不一样权限用户能使用功效以下:
² 用户管理:此项功效只能由管理员使用
² 修改密码:管理员和用户全部能使用
² 信息管理:包含了系别管理、学生管理、课程管理、成绩管理四个模块,只能由管理员使用,用户不能使用。
² 学生资料查询:只能由管理员使用,用户不能使用
² 学生成绩查询:管理员和用户全部能使用
1.6 业务步骤图、数据步骤图
所在系信息
课程信息
专业信息
学生信息
老师信息
成绩信息
教务人员
基础数据维护
课程信息维护
学籍信息维护
老师信息维护
开课制订
课程信息数据表
公共信息数据表
学生信息数据表
开课信息数据表
老师信息数据表
成绩信息数据表
成绩单打印
成绩维护
图 1.6.1业务步骤图
学生档案管理人员
1公共信息管理
2学籍管理
查询学院、专业、学生、班级条件
班级、学生资料卡
学院、专业资料卡
学员信息统计
学院数据库
专业数据库
专业信息统计
库中学院统计
学生、专业、学院、班级查询信息结果
存库班级信息
班级数据库
库中学生信息
库中班级信息
存库学生信息
学生数据库
课程数据库
课程统计
成绩相关课程信息
库中课程信息
库中专业信息
3课程管理
开课班级信息
4学生成绩处理
学生信息统计
成绩排名
学生成绩管理人员
指定班级信息
成绩单
指定学生信息
图 1.6.2数据步骤图
2 系统设计
2.1 ER图和关系模式
学院名称
老师
学生
姓名
性别
学号
姓名
职称
老师号
讲授
选修
课程
课程号
类型
分数
电话
n
n
m
m
电话
出生年月
成绩
工作
系
系代号
系名
系办公室电话
属于
班级
负责
1
1
1
n
n
1
属于
1
n
班号
班级最低总分姓名
关系模式:
老师(老师号,姓名,职称,电话,系代号)
学生(学号,姓名,性别,出生年月,班号)
系(系代号,系名,系办公室电话)
课程(课序号,课名,学分,上课时间,名额,工作证号)
班级(班号,最低总学分,工作证号,系代号)
2.2 总体结构设计
教务管理系统
登陆管理
系统管理
信息管理
信息查询
帮助
管理员登录
用户登录
用户管理
修改密码
添加用户
删除用户
系统管理
学生管理
课程管理
成绩管理里
学生资料查询
学生成绩查询
相关系统
相关作者
添加院系
修改院系
删除院系
添加课程
修改课程
删除课程
添加学生
修改学生
删除学生
添加成绩
删除成绩
l
2.3 数据库设计
表1:登录信息表
统计号
字段名称
数据类型
字段大小
属性(是否可为空)
1
用户名
text
16
否
2
密码
text
16
否
3
权限
text
16
否
表2:系别信息表
统计号
字段名称
数据类型
字段大小
属性(是否可为空)
1
系编号
int
4
主键
2
系名
nvarchar
50
是
3
系办公室电话
nvarchar
50
是
表3:学生信息表
统计号
字段名称
数据类型
字段大小
属性(是否可为空)
1
学生编号
char
10
主键
2
学生姓名
nvarchar
50
是
3
学生性别
char
10
是
4
年纪
int
4
是
5
身份证号
nvarchar
50
是
6
所在院系
nvarchar
50
是
表4:课程信息表
统计号
字段名称
数据类型
字段大小
属性(是否可为空)
1
课程编号
Int
4
主键
2
课程名
nvarchar
50
否
3
课程类型
nvarchar
50
是
4
课程学分
float
8
是
3 系统实现
一、主页登录部分 default.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Trim(request.form("username"))<>"" AND Trim(request.form("pswd"))<>"" Then
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim userid,pswd,strsql,rs
userid=Request.Form("username")
pswd=Request.Form("pswd")
End If
If request.form("D1")="学生" Then
strsql="Select * From stu Where sno='"&userid&"'"
Set rs=db.Execute(strsql)
If pswd=rs("spin") Then
Session("stuid")=userid
Response.Redirect"student.asp"
Else
Response.write"密码错误"
End If
ElseIf request.form("D1")="老师" Then
strsql="Select * From tea Where tno='"&userid&"'"
Set rs=db.Execute(strsql)
If pswd=rs("tpin") Then
Session("teaid")=userid
Response.Redirect"teacher.asp"
Else
Response.write"密码错误"
End If
ElseIf request.form("D1")="教务管理员" Then
strsql="Select * From adm Where adm='"&userid&"'"
Set rs=db.Execute(strsql)
If pswd=rs("apin") Then
Session("admid")=userid
Response.Redirect"adm.asp"
Else
Response.write"密码错误"
End If
Else
Session("stuid")=""
Session("teaid")=""
Session("admid")=""
End If
%>
二、学生用户界面
(一)实现选课 student.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("stuid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
Else
Dim stuid,cnoid
stuid=Session("stuid")
cnoid=Request.form("T1")
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,rs
strsql="Insert Into score(cno,sno) Values('"&cnoid&"','"&stuid&"')"
Set rs=db.Execute(strsql)
End If
db.close
Set db=Nothing
%>
(二)显示课表 cou_list.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("stuid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
Else
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,rs
strsql="Select Distinct o,ame,cou.tno, cou.room From cou"
Set rs=db.Execute(strsql)
End if
%>
<div align="center">
<table border="1" width="80%" id="table2" cellpadding="0">
<tr> <td align="center">课程编号</td>
<td align="center">课程名称</td>
<td align="center">任课老师</td>
<td align="center">上课地点</td>
</tr>
<%
Do While Not rs.Eof
%>
<tr> <td align="center"><%=rs("cno")%></td>
<td align="center"><%=rs("cname")%></td>
<td align="center"><%=rs("tno")%></td>
<td align="center"><%=rs("room")%></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</div>
(三)成绩查询 mark.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("stuid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
Else
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim rs,strsql
strsql="Select * From score Where sno='"&Session("stuid")&"'"
Set rs=db.Execute(strsql)
End if
%>
<tr>
<td align="center" height="34">学号</td>
<td align="center" height="34">课号</td>
<td align="center" height="34">成绩</td>
</tr>
<%
Do While Not rs.Eof
%>
<tr>
<td align="center" ><%=rs("sno")%></td>
<td align="center" ><%=rs("cno")%></td>
<td align="center" ><%=rs("mark")%></td>
</tr>
<%
rs.MoveNext
Loop
%>
老师用户界面 实现成绩录入功效 teacher.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("teaid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
ElseIf Request.Form("T1")<>"" And Request.Form("T2")<>"" And Request.Form("T3")<>"" Then
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,cno,sno,mark
cno=Request.Form("T1")
sno=Request.Form("T2")
mark=Request.Form("T3")
strsql="Update score Set mark='"&mark&"'Where cno='"&cno&"'And sno='"&sno&"'And tno='"&Session("teaid")&"'"
db.Execute(strsql)
Response.Write "添加成功"
End If
%>
四、教务管理员登录界面 adm.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
End If
%>
(一)课程信息维护
1、显示课程信息 adm_cou.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
Else
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,rs
strsql="Select * From cou"
Set rs=db.Execute(strsql)
End if
%>
<form method="POST" action="">
<table border="0" width="100%" id="table8">
<%
Do While Not rs.Eof
%>
<tr>
<td align="center" height="27"><%=rs("cno")%></td>
<td align="center" height="27"><%=rs("cname")%></td>
<td align="center" height="27"><%=rs("tno")%></td>
<td align="center" height="27"><%=rs("room")%></td>
<td align="center"height="27"><a href="update_cou.asp?cno=<%=rs("cno")%>">修改</a></td>
<td align="center" height="27"><a href="dele_cou.asp?cno=<%=rs("cno")%>">删除</a></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</form>
2、修改课程信息 update_cou.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.write"请先登录"
Response.Redirect "default.asp"
Else
Dim cno
cno=Request.QueryString("cno")
Session("cno")=cno
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,rs
strsql="Select * From cou Where cno='"&cno&"'"
Set rs=db.Execute(strsql)
End If
%>
3、修改课程实施程序 update3.asp
<% Option Explicit %>
<%
Dim cnoid
cnoid=Session("cno")
If Request.Form("T1")<>"" And Request.Form("T2")<>"" And Request.Form("T3")<>"" And Request.Form("T5")<>"" Then
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim cno,cname,tno,stime,room,strsql
cno=Request.Form("T1")
cname=Request.Form("T2")
tno=Request.Form("T3")
room=Request.Form("T5")
strsql="Update cou Set cno='"&cno&"',cname='"&cname&"',tno='"&tno&"',room='"&room&"' Where cno='"&cnoid&"'"
db.Execute(strsql)
Response.Redirect "adm_cou.asp"
Response.Write"修改成功"
End If
%>
4、删除课程实施程序 dele_cou.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.write"请先登录"
Response.Redirect "default.asp"
Else
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,cno
cno=Request.QueryString("cno")
strsql="Delete From cou Where cno='"&cno&"'"
db.Execute(strsql)
Response.Redirect"adm_cou.asp"
End if
%>
5、添加课程实施程序 add_cou.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.Redirect "default.asp"
End If
If Request.Form("T1")<>"" And Request.Form("T2")<>"" And Request.Form("T3")<>"" And Request.Form("T5")<>"" Then
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,cno,cname,tno,stime,room
cno=Request.Form("T1")
cname=Request.Form("T2")
tno=Request.Form("T3")
room=Request.Form("T5")
strsql="Insert Into cou(cno,cname,tno,room) Values('"&cno&"','"&cname&"','"&tno&"','"&room&"')"
db.Execute(strsql)
Response.Redirect"add_cou.asp"
Response.write"添加成功"
End If
%>
(二)老师信息维护
1、显示老师信息 adm_tea.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
Else
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,rs
strsql="Select tno,tname,ttel From tea"
Set rs=db.Execute(strsql)
End if
%>
<form method="POST" action="">
<table border="0" width="100%" id="table8">
<%
Do While Not rs.Eof
%>
<tr>
<td width="20%" align="center"><%=rs("tno")%></td>
<td width="20%" align="center"><%=rs("tname")%></td>
<td width="19%" align="center"><%=rs("ttel")%></td>
<td width="19%" align="center"><a href="update_tea.asp?tno=<%=rs("tno")%>">修改</a></td>
<td width="19%" align="center"><a href="dele_tea.asp?tno=<%=rs("tno")%>">删除</a></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</form>
2、修改老师信息 update_tea
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.write"请先登录"
Response.Redirect "default.asp"
Else
Dim tno
tno=Request.QueryString("tno")
Session("tno")=tno
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,rs
strsql="Select * From tea Where tno='"&tno&"'"
Set rs=db.Execute(strsql)
End If
%>
3、修改老师信息实施程序 update2.asp
<% Option Explicit %>
<%
Dim tnoid
tnoid=Session("tno")
If Request.Form("T1")<>"" And Request.Form("T2")<>"" And Request.Form("T3")<>"" Then
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim tno,tname,ttel,strsql
tno=Request.Form("T1")
tname=Request.Form("T2")
ttel=Request.Form("T3")
strsql="Update tea Set tno='"&tno&"',tname='"&tname&"',ttel='"&ttel&"'Where tno='"&tnoid&"'"
db.Execute(strsql)
Response.Redirect"adm_tea.asp"
Else
Response.Write"请将全部信息填写完整"
Response.Write"<a href='adm_tea.asp'>重新修改</a>"
End If
%>
4、删除老师信息实施程序 dele_tea.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.write"请先登录"
Response.Redirect "default.asp"
Else
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,tno
tno=Request.QueryString("tno")
strsql="Delete From tea Where tno='"&tno&"'"
db.Execute(strsql)
Response.Redirect"adm_tea.asp"
End if
%>
5、添加信息老师信息实施程序 add_tea.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
End If
If Request.Form("T1")<>"" And Request.Form("T2")<>"" And Request.Form("T3")<>"" Then
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,tno,tname,ttel
tno=Request.Form("T1")
tname=Request.Form("T2")
ttel=Request.Form("T3")
strsql="Insert Into tea(tno,tname,ttel) Values('"&tno&"','"&tname&"','"&ttel&"')"
db.Execute(strsql)
Response.Redirect"add_tea.asp"
Response.write"添加成功"
End If
%>
(三)学生信息维护
1、显示学生信息 adm_stu.asp
<% Option Explicit %>
<% Response.Buffer=True%>
<%
If Session("admid")="" Then
Response.Redirect "default.asp"
Response.write"请先登录"
Else
Dim db
Set db=Server.CreateObject("ADODB.Connection")
db.Open "jiaowu"
Dim strsql,rs
strsql="Select distinct sno,sname,ssex,class From stu"
Set rs=db.Execute(strsql)
End if
%>
<form method="POST" action="update_1.asp">
<table border="0" width="100%" id="table8">
<%
Do While Not rs.Eof
%>
<tr>
<td width="17%" align="center"><%=rs("sno")%></td>
<td width="16%" align="center"><%=rs("sname")%></td>
<td width="16%" align="center"><%=rs("ssex")%></td>
<td width="16%" align="center"><%=rs("class")%></td>
<td width="16%" align="center"><a href="update_stu.asp?sno=<%=rs("sno")%>">修改</a>
</td>
<td width="16%" align="center"><a href="dele_stu.asp?sno=<%=rs("sno")%>">删除</a></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</form>
2、修改学生信息 update_stu.asp
<% Option Explicit %>
<% Response.Buffer=True %>
<%
If Session("admid")="" Then
Response.write"请先登录"
Response.Redirect "default.asp"
Else
Dim sno
sno=Request.QueryString("sno")
Session("sno")=sno
Dim db
Set db=Server
展开阅读全文