教学管理系统数据库课程设计.docx
《教学管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《教学管理系统数据库课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
教学管理系统数据库课程设计
数据库课程设计报告
教学管理系统
实验题目:
教学管理系统
教学管理系统
一、概述
数据库课程设计是集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合的实践练习,主要目的在于加深学生对数据库基础理论和基本知识的理解,熟悉数据库的设计方法,掌握基于数据库的信息管理系统的开发方法,进一步加强学生综合运用知识和实践动手的能力。
学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。
二、总体设计
1、软件环境:
VisualStudio2010、SQLServerManagementStudio
2、硬件环境:
PC机
三、实验主要内容
1、主要数据表
课程信息表,学生信息表单,教师信息表,学生成绩表等。
2、功能模块
(1)课程设置,包括:
查询、添加、删除、查询和修改课程信息
(2)学生成绩查询,网上评教。
(3)教师查询课程时间和教室的安排。
(4)教师管理学生成绩查询,添加,修改,删除。
(5)学生和教师信息的注册。
四、系统分析报告
1、数据流图
教学管理系统的基本数据流图如下所示:
学生选课信息
课程信息
选课审核信息
图1教学管理系统的基本数据流图
学生成绩信息
学生考试信息
学生信息管理
个人考试信息
成绩确认信息
图2教学管理系统的基本数据流图
排课信息
个人考试成绩
排课信息排课信息
排课信息
图3教学管理系统的基本数据流图
2、系统功能模块
本系统主要包括学生信息管理、课程信息管理、成绩信息管理等模块,另外还包括进行系统管理的一些辅助模块。
其示意图如下:
3、业务流图
4、系统数据模型设计
(1)系统ER图
各实体E-R图:
学生信息:
课程信息:
教师信息:
学生成绩:
(2)关系模式
学生信息(姓名,学号,登录密码)
课程信息(课程号,课程名,上课教室,登录密码,)
教师信息(教师编号,姓名,登录密码)
学生成绩(学号,课程号,课程名,成绩)
(3)数据表
课程信息表
教师信息表
个人成绩表
学生成绩表
学生课表
五、代码实现
1.登录界面
PrivateSubForm1_Load(ByValsenderAs,ByValeAsHandles
Dimmin,max,rndnum,iAsInteger
min=10
max=99
=""
Fori=0To1
rndnum=CStr(CInt(min+Rnd()*(max-min)))
=&""&rndnum
Next
EndSub
PrivateSubButton2_Click(ByValsenderAs,ByValeAsHandles
DimConnStrAsString="Server=(local);uid=sa;pwd=1234;database=shiy"
DimcnAs=New(ConnStr)'建¡§立¢¡é连¢接¨®对象¨®,ê同ª时º¡À说¦Ì明¡Â连¢接¨®字Á符¤串ä
DimcmdAsNew'生¦¨²成¨¦命¨¹令¢对象¨®,ê用®于®¨²执¡ä行DSQL语®句
DimdrAsIDataReader'用®来¤¡ä临¢¨´时º¡À存ä放¤执¡ä行D语®句后¨®的Ì结¨¢果
DimSQLStrAsString
If=TrueThen
SQLStr="select*fromteacherwheretusernum="+"'"++"'"
=cn
()
=SQLStr
dr=()
If()Then
Ifdr!
().Trim=Then
If=Then
MsgBox("登Ì录成¨¦功|")
DimjiaoshiAsNewForm3
()
Hide()
Else
MsgBox("验¨¦证¡è码错䨪误¨®")
EndIf
Else
MsgBox("密¨¹码不正y确¨¡¤")
EndIf
Else
MsgBox("该用®户¡ì不存ä在¨²")
EndIf
()
()
Else
SQLStr="select*fromstudentwheresnum="+"'"++"'"
=cn
()
=SQLStr
dr=()
If()Then
Ifdr!
().Trim=Then
If=Then
MsgBox("登Ì录成¨¦功|")
DimxueshengAsNewForm6
()
()
Else
MsgBox("验¨¦证¡è码错䨪误¨®")
EndIf
Else
MsgBox("密¨¹码不正y确¨¡¤")
EndIf
Else
MsgBox("该用®户¡ì不存ä在¨²")
EndIf
()
()
EndIf
EndSub
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimzhuceAsNewForm2
()
()
EndSub
2.注册界面
PublicClassForm2
DimobjDSAsNewDataSet
DimobjXSTableAsDataTable
DimobjdaAsNew
DimcnAsNew("server=(local);uid=sa;pwd=1234;database=shiy")
PublicSubrefreshdata()
(objDS,"teacher")'第̨²二t个参数ºy为a需¨¨要°a更¨¹新数ºy据Y库a表À¨ª名
()
(Nothing,Nothing)
()
EndSub
PrivateSubzhuce_Click(ByValsenderAs,ByValeAsHandles
DimcmdAsNew
=cn'数ºy据Y从䨮当Ì¡À前¡ã建¡§立¢¡é的Ì连¢接¨®cn中D进入¨
If=TrueThen
DimbuilderAs=New(objda)
Try
()
="select*fromteacher"
=cmd
(objDS,"teacher")
objXSTable=("teacher")
()
DimresponseAsMsgBoxResult
response=MsgBox("确¨¡¤实º¦Ì要°a注Á¡é册¨¢吗eê",vbOKCancel+vbQuestion,"系¦Ì统ª3提¬¨¢示º")
Ifresponse=Then
DimmyRowAsDataRow
myRow=
myRow("tusernum")=
myRow("tusername")=
myRow("tpwd")=
(objDS,"teacher")
()
refreshdata()
EndIf
CatchexAsException
EndTry
Else
DimbuilderAs=New(objda)
()
="select*fromstudent"
=cmd
(objDS,"student")
objXSTable=("student")
()
DimresponseAsMsgBoxResult
response=MsgBox("确¨¡¤实º¦Ì要°a注Á¡é册¨¢吗eê",vbOKCancel+vbQuestion,"系¦Ì统ª3提¬¨¢示º")
Ifresponse=Then
DimmyRowAsDataRow
myRow=
myRow("snum")=
myRow("sname")=
myRow("spwd")=
(objDS,"student")
()
refreshdata()
EndIf
EndIf
DimdengluAsNewForm1
()
()
EndSub
PrivateSubchongzhi_Click(ByValsenderAs,ByValeAsHandles
=""
=""
=""
EndSub
EndClass
3.教师界面
PublicClassForm3
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimkebiaoAsNewForm4
()
()
EndSub
PrivateSubButton4_Click(ByValsenderAs,ByValeAsHandles
DimdengluAsNewForm1
()
()
EndSub
PrivateSubButton5_Click(ByValsenderAs,ByValeAs
EndSub
PrivateSubButton2_Click(ByValsenderAs,ByValeAsHandles
DimchengjigAsNewForm5
()
()
EndSub
PrivateSubButton3_Click(ByValsenderAs,ByValeAs
EndSub
4.课表管理
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
="server=(local);uid=sa;pwd=1234;database=shiy"
()
="select*fromcoursewherecoursenum='"&&"'andcourxseclass='"&&"'"
=conn
="selectcoursenamefromcoursewherecoursenum='"&&"'andcourxseclass='"&&"'"
=
=conn
="selectcoursetimefromcoursewherecoursenum='"&&"'andcourxseclass='"&&"'"
=
=conn
="selectcourseaddressfromcoursewherecoursenum='"&&"'andcourxseclass='"&&"'"
=
=conn
()
EndSub
PrivateSubButton2_Click(ByValsenderAs,ByValeAsHandles
DimjiaoshijiemianAsNewForm3
()
()
EndSub
5.成绩管理
ImportsClassForm5
PrivateSubButton5_Click(ByValsenderAs,ByValeAsHandles
DimjiaoshiAsNewForm3
()
()
EndSub
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
="server=(local);uid=sa;pwd=1234;database=shiy"
()
="select*fromchengji"
=conn
DimdaAsNewSqlDataAdapter,conn)
DimdsAsNewDataSet
(ds,"chengji")
()
=(0)
EndSub
PrivateSubButton2_Click(ByValsenderAs,ByValeAsHandles
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
="server=(local);uid=sa;pwd=1234;database=shiy"
()
="insertintochengjivalues('"&&"','"&&"','"&&"','"&&"')"
=conn
()
="select*fromchengji"
=conn
DimdaAsNewSqlDataAdapter,conn)
DimdsAsNewDataSet
(ds,"chengji")
()
=(0)
EndSub
PrivateSubButton3_Click(ByValsenderAs,ByValeAsHandles
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
="server=(local);uid=sa;pwd=1234;database=shiy"
()
="updatechengjisetsnum='"&&"',coursenum="&&",coursename='"&&"',coursegrade='"&&"'wheresnum='"&&"'"
=conn
()
="select*fromchengji"
=conn
DimdaAsNewSqlDataAdapter,conn)
DimdsAsNewDataSet
(ds,"chengji")
()
=(0)
EndSub
PrivateSubButton4_Click(ByValsenderAs,ByValeAsHandles
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
="server=(local);uid=sa;pwd=1234;database=shiy"
()
="deletefromchengjiwheresnum="&=conn
()
="select*fromchengji"
=conn
DimdaAsNewSqlDataAdapter,conn)
DimdsAsNewDataSet
(ds,"chengji")
()
=(0)
EndSub
6.学生界面
PrivateSubButton6_Click(ByValsenderAs,ByValeAsHandles
DimdengluAsNewForm1
()
()
EndSub
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
="server=(local);uid=sa;pwd=1234;database=shiy"
()
="select*fromscourse"
=conn
DimdaAsNewSqlDataAdapter,conn)
DimdsAsNewDataSet
(ds,"scourse")
()
=(0)
EndSub
PrivateSubButton3_Click(ByValsenderAs,ByValeAs
EndSub
PrivateSubButton2_Click(ByValsenderAs,ByValeAsHandles
DimconnAsNewSqlConnection
DimcommAsNewSqlCommand
="server=(local);uid=sa;pwd=1234;database=shiy"
()
="select*fromgrchengji"
=conn
DimdaAsNewSqlDataAdapter,conn)
DimdsAsNewDataSet
(ds,"grchengji")
()
=(0)
EndSub
PrivateSubButton4_Click(ByValsenderAs,ByValeAsHandles
DimpingjiaoAsNewForm7
()
()
EndSub
7.网上评教
PublicClassForm7
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
DimdengluAsNewForm6
()
()
EndSub
PrivateSubButton2_Click(ByValsenderAs,ByValeAsHandles
MsgBox("提¬¨¢交成¨¦功|")
EndSub
EndClass
六、系统实现结果
7、实验分工及总结
首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。
其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。