数据库课程设计.docx
- 文档编号:29489417
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:31
- 大小:689.85KB
数据库课程设计.docx
《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(31页珍藏版)》请在冰豆网上搜索。
数据库课程设计
教学单位商洛学院
学生学号11094101
编号
数据库原理与应用
课程设计
题目学生学籍管理系统
班级09计科二班
学生姓名张瑜
专业名称计算机科学与技术
指导教师樊景博
2011年12月27日
摘要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟.管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本文介绍了在VisualBasic6.0环境下采用"自上而下地总体规划,自下而上地应用开发"的策略开发一个管理信息系统的过程。
通过分析访客管理的不足,创建了一套行之有效的计算机管理学生的方案。
文章介绍了访客管理信息系统的系统分析部分,包括可行性分析,业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统面友好,操作简单,比较实用。
关键词:
SQLserver2008,VB6.0程序设计,软件工程
Abstract
Alongwithinformationtechniquemoreandmorethoroughbutextensiveonthemanagementofapplication,manageinformationsystemoftheimplementhasbeengraduallymatureonthetechnique.Managetheinformationsystemisanewacademicswhichcontinuouslydevelops,thewhicheverunitwantstoexisttowantadevelopment,high-efficiencilyinternalactivityorganicallytheorganizationgetup,havetobuildupadaptingwithoneselfcharacteristicsmutuallyofmanagementinformationsystem.
ThistextintroducedintheVisualBasic6.0undertheenvironmentsthestrategyofadoption"fromtoptobottomtotalprogramming,frombottombutlastpplicationdevelopment"developaprocesswhichmanageinformationsystem.Passtheshortageofanalyticalvisitormanagement,establishedavalidasetoflineacalculatoramanagementthestudent'sproject.Thearticleintroducedvisitoramanagementinformationsystemofsystemanalysispart,Systemrealizationpartexplainedafewcalculatewaysofmainmoldpiece,thissysteminterfaceamity,operationsimple,morepractical.
Keywords:
TheSQL2000servers,VBprogramdesign,softwareengineering
目录
目录4
第一章绪论5
1.1引言5
1.2开发环境6
第二章系统需求分析7
2.1功能需求7
2.2学生需求7
2.3教师需求7
第三章系统设计8
3.1数据流图及数据字典8
3.2E_R图及关系模式12
3.2.1E_R图12
3.2.2E—R图转换为关系模式12
3.2.3逻辑设计结果13
第四章物理结构设计与功能实现17
4.1初始运行主界面17
4.2学生信息查询界面18
4.3教师信息查询界面20
4.4学生信息修改界面22
4.5学生成绩录入界面25
4.6学生选课界面27
参考文献29
致谢30
第一章绪论
1.1引言
学生学籍管理是学校管理的重要组成部分,对于学校和政府教育单位来说都至关重要,所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。
传统的人工方式管理方式效率低、保密性差,不利于查找、更新和维护。
使用计算机对学生信息进行管理,能够极大地提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。
作为计算机应用的部分,使用计算机对学生学籍信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
经过分析,我们使用易于与数据库连接的MicrosoftVisualBasic6.0开发工具,利用其提供的各种面向对象的开发工具,学生学籍管理系统要实现的目标是为学校提供学生管理解决方案。
具体目标如下:
1、提高学生信息管理效率,节约管理成本,增强学生管理的安全性。
2、满足学校学生管理的人员、老师和学生的不同层次和不同方面的需要。
3、为学校将来的信息化建设提供必要的支持。
总之,通过该系统的建设来提高学校的学生信息管理效率,使得学校的发展能够适应当前的教育信息化建设的中体发展趋势。
1.2开发环境
本学生学籍管理系统开发环境如下:
开发环境:
Windows7旗舰版
数据库管理系统:
SQLserver2008
辅助设计工具:
VisualBasic6.0
运行环境:
WindowsXP/Vista/7
第二章系统需求分析
2.1功能需求
本系统开发的目的,就是通过系统开发,实现课程管理有关工作的计算机化,提高关键环节的处理速度和规范化,并对有关的工作进行集成和重组,通过网络系统实现集中管理、分散操作,提高选课管理工作的质量和效率。
通过对学校的选课及成绩管理工作进行实际调查,学生可以自由选择课程、选老师,学生注册的行政班和教学班是游离的,开发工作需要涉及任课教师、学生、管理员(教务工作人员)三种用户。
2.2学生需求
在学校规定的选课期间,学生通过任何一台连接因特网计算机的浏览器就能进行网上选课。
学生以用户名和密码进入选课系统。
选课系统会根据用户名和密码自动识别所在的系,然后显示出与学生有关的课程列表。
系统必须控制某一门课程在学期间只能选一次。
在学生选课时能自动进行有关逻辑判断,如:
是否选课超过了规定的门数,是否选择了不符合预修条件的课程,是否选择的课程超过此课程最大选择人数,只有符合要求的选择才能选课成功。
学生可以更改部分个人信息如密码,电话号码等;学生可以查询已修课程成绩和已选课程信息。
2.3教师需求
任课教师登录后,可以查看自己所教课程的课程表;对于同一学期内有多门课程的教师,需要选择具体课程后,才能查看已选这门课程的学生信息:
期末,教师可以上传这些学生的成绩。
第三章系统设计
3.1数据流图及数据字典
顶层图:
数据字典:
数据流项目:
学生信息=姓名+学号+性别+年龄+专业+总学分
成绩单=姓名+课目+成绩
数据项条目:
数据项名:
成绩
类型:
int
长度:
4
范围:
100-0
加工条目:
处理过程:
过程名:
学籍管理系统
输入:
学生信息,考试成绩,学生记录
输出:
统计表,成绩单
0层图
数据字典:
数据存储:
数据存储名:
学生记录
组成:
姓名+学号+性别+年龄+专业+总学分
处理过程:
处理过程名:
录入存储处理
输入:
学生信息处理要求:
如果没有所输入的学生记录,则建立新的学生记录,存储基本情况和课目成绩
处理过程名:
查询处理
输入:
学生信息,课程号
输出:
成绩
处理要求:
根据学生的学号查询相应的成绩
处理过程名:
统计处理
输入:
学生考试成绩
输出:
平均成绩,排名成绩
1层图
数据字典:
数据流:
新生信息=入学时间+姓名+年龄+专业+性别
合格单=姓名+专业
处理过程:
处理过程名:
审查
输入:
学生信息
输出:
合格单
处理要求:
根据学生信息判断是否是新生
处理过程名:
是否是新生
输入:
合格单
输出:
新生信息
处理要求:
根据合格单建立新生信息
处理过程名:
录入存储学生信息,各科成绩
输入:
新生信息,考试成绩
输出:
本次考试成绩
2层图
数据字典:
数据存储:
数据存储名:
考试成绩
组成:
姓名+专业+成绩+学号
组织方式:
一学号为关键字
处理过程:
处理过程名:
有效性检查
输入:
学号,课程号
输出:
有效查询
处理要求:
根据所输入的信息查询有效性
处理过程名:
成绩查询
输入:
考试成绩
输出:
成绩
处理要求:
根据考试成绩查询成绩
3层图
处理过程:
处理过程名:
统计选择
输入:
学生记录
输出:
按规定统计成绩
处理要求:
根据所输入学生记录查询成绩
3.2E_R图及关系模式
3.2.1E_R图
1、学生实体E-R图
2、课程实体E-R图
3、各实体之间的E-R图
3.2.2E—R图转换为关系模式
1)学生(XS)(学号(sno),姓名(sname),专业(sdept),性别(ssex),出生日期(sbirth),总学分(all_credit))
主码:
学号(sno)
函数依赖:
snoU.
此表中,不存在非主属性对码的部分依赖,传递依赖,以及主属性对码的部分依赖和传递依赖,故满足3NF
2)课程(KC)(课程号(cno),课程名(cname),开课学期(term),学时(class_hour),学分(credit))
主码:
课程号(cno)
函数依赖:
cnoU
此表中不存在非主属性对码的部分依赖,传递依赖,以及主属性对码的部分依赖和传递依赖,故满足3NF
3)选课(XS_KC)(学号(sno),课程号(cno),成绩(grade))
主码:
(学号,课程号)
外码:
学号,课程号
函数依赖:
(sno,cno)U
此表中不存在非主属性对码的部分依赖,传递依赖,以及主属性对码的部分依赖和传递依赖,故满足3NF
4)教师(TCH)(编号(tno),姓名(tname),性别(tsex),出生日期(tbirth),职称(professional),专业(department))
主码:
编号(tno)
函数依赖:
tnoU
此表中不存在非主属性对码的部分依赖,传递依赖,以及主属性对码的部分依赖和传递依赖,故满足3NF
5)授课(TCH_KC)(教师编号(tno),课程号(cno),上课地点(place))
主码:
(教师编号,课程号)
外码:
教师编号,课程号
函数依赖:
(tno,cno)U
此表中不存在非主属性对码的部分依赖,传递依赖,以及主属性对码的部分依赖和传递依赖,故满足3NF。
3.2.3逻辑设计结果
数据库表名XS(学生)
字段名
数据类型
含义说明
空值情况
备注
Sno
Char(10)
学号
非空
主键
Sname
Char(10)
姓名
非空
ssex
Char(10)
性别
可以空
只能取“男”“女”,默认为“男”
Sbirth
date
出生日期
可以空
Sdept
Char(10)
所在专业
可以空
All_credit
Int
总学分
可以空
数据库表名KC(课程)
字段名
数据类型
含义说明
空值情况
备注
Cno
Char(10)
课程号
非空
主键
Sname
Char(10)
课程名
非空
credit
int
学分
可以空
Class_hour
Int
课时数
可以空
Term
Int
开课学期
可以空
数据库表名TCH(教师)
字段名
数据类型
含义说明
空值情况
备注
tno
Char(10)
教师号
非空
主键
tname
Char(10)
姓名
非空
完全依赖Tno,是unique
Tbirth
date
出生日期
可以空
Tsex
Char(10)
性别
可以空
只能取“男”“女”,默认为男
Professional
Char(10)
职称
可以空
Department
Char(10)
专业
可以空
数据库表名XS_KC(选课)
字段名
数据类型
含义说明
空值情况
备注
Cno
Char(10)
课程号
非空
主码
Sno
Char(10)
学号
非空
主码
Grade
int
成绩
可以空
数据库表名TCH_KC(授课)
字段名
数据类型
含义说明
空值情况
备注
Tno
Char(10)
教师编号
非空
主码
Cno
Char(10)
课程号
非空
主码
Place
Char(10)
授课地点
可以空
第四章物理结构设计与功能实现
4.1初始运行主界面
此为主界面,有五个按钮,可进行查询,修改等操作。
程序代码:
PrivateSubCommand1_Click()
StuSearch.Show
EndSub
PrivateSubCommand2_Click()
AddStu.Show
EndSub
PrivateSubCommand3_Click()
AddStuCourse.Show
EndSub
PrivateSubCommand4_Click()
AddStuGrade.Show
EndSub
PrivateSubCommand5_Click()
TchSearch.Show
EndSub
4.2学生信息查询界面
上图为学生信息查询窗口,可按学号,姓名,专业进行查询。
程序代码:
DimSqlStrAsString
PublicSubMakeSqlStr()
SqlStr=""
IfTrim(Stusno)<>""Then
SqlStr=SqlStr+"andsnolike'%"+Trim(Stusno.Text)+"%'"
EndIf
IfTrim(Stusname)<>""Then
SqlStr=SqlStr+"andsnamelike'%"+Trim(Stusname.Text)+"%'"
EndIf
IfTrim(Stusdept)<>""Then
SqlStr=SqlStr+"andsdept='"+Trim(Stusdept.Text)+"'"
EndIf
EndSub
PrivateSubCommand1_Click()
MakeSqlStr
StuADO.RecordSource="selectsno学号,sname姓名,sdept专业,ssex性别,sbirth出生日期,all_credit总学分fromXSwhere(ssex='男'orssex='女')"_
&SqlStr
StuADO.Refresh
EndSub
PrivateSubStuDG_DblClick()
ShowStuKC.StuKCADO.RecordSource="selectsname姓名,cname课程名,grade成绩,credit学分,term开课学期,class_hour课时fromXS,KC,XS_KC"_
&"whereXS.sno=XS_KC.snoandKC.cno=XS_KC.cno"_
&"andXS.sno='"+StuADO.Recordset("学号")+"'"
ShowStuKC.StuKCADO.Refresh
ShowStuKC.Show
StuSearch.Enabled=False
EndSub
上图为学生选课信息窗口,双击上图学生信息查询窗口中表格左边,可弹出此窗口显示该学生选课信息。
程序代码:
PrivateSubform_unload(cancelAsInteger)
StuSearch.Enabled=True
EndSub
4.3教师信息查询界面
上图为教师信息查询窗口,可按教师编号,姓名,职称部门进行查询,双击表格左部可显示教师授课信息,如下图所示。
程序代码:
DimSqlStrAsString
PublicSubMakeSqlStr()
SqlStr=""
IfTrim(Tchtno)<>""Then
SqlStr=SqlStr+"andtnolike'%"+Trim(Tchtno.Text)+"%'"
EndIf
IfTrim(Tchtname)<>""Then
SqlStr=SqlStr+"andtnamelike'%"+Trim(Tchtname.Text)+"%'"
EndIf
IfTrim(Tchprofessional)<>""Then
SqlStr=SqlStr+"andprofessionallike'%"+Trim(Tchprofessional.Text)+"%'"
EndIf
IfTrim(Tchdepartment.Text)<>""Then
SqlStr=SqlStr+"anddepartmentlike'%"+Trim(Tchdepartment.Text)+"%'"
EndIf
EndSub
PrivateSubTchDG_DblClick()
ShowTchKC.TchKCADO.RecordSource="selecttname姓名,cname课程,credit学分,place上课地点fromKC,TCH,TCH_KCwhereTCH.tno=TCH_KC.tnoandKC.cno=TCH_KC.cno"_
&"andTch.tno='"+TchADO.Recordset("教师编号")+"'"
ShowTchKC.TchKCADO.Refresh
ShowTchKC.Show
EndSub
PrivateSubTchseek_Click()
MakeSqlStr
TchADO.RecordSource="selecttno教师编号,tname姓名,tsex性别,tbirth出生日期,professional职称,department部门fromTCHwhere(tsex='男'ortsex='女')"_
&SqlStr
TchADO.Refresh
EndSub
PrivateSubTchDG_Click()
EndSub
4.4学生信息修改界面
此为学生信息修改窗口,单击一行,可在上面文本框中显示该生信息,并进行插入,修改,删除等操作。
程序代码:
PrivateSubCommand3_Click()'取消
Stusno.Text=""
Stusname.Text=""
Stusbirth.Text=""
Stusdept.Text=""
Stuall_credit.Text=""
Stusexm=False
Stusexf=False
EndSub
'修改元组
PrivateSubStuchange_Click()
IfTrim(Stusno.Text)=""OrTrim(Stusname.Text)=""Or(Stusexm=FalseAndStusexf=False)Then
MsgBox"加*数据项不能为空,请重新设置",vbOKOnly,"信息提示"
Stusno.SetFocus
ExitSub
EndIf
IfTrim(Stusbirth.Text)<>""Then
IfNotIsDate(Trim(Stusbirth.Text))Then
MsgBox"出生日期输入不正确,请重新输入",vbOKOnly,"信息提示"
Stusbirth.SetFocus
ExitSub
EndIf
EndIf
StuADO.Recordset.Fields("学号")=Trim(Stusno.Text)
StuADO.Recordset.Fields("姓名")=Trim(Stusname.Text)
StuADO.Recordset.Fields("出生日期")=Trim(Stusbirth.Text)
StuADO.Recordset.Fields("专业")=Trim(Stusdept.Text)
StuADO.Recordset.Fields("总学分")=Trim(Stuall_credit.Text)
IfStusexm=TrueThen
StuADO.Recordset.Fields("性别")="男"
Else:
Stusexf=True
StuADO.Recordset.Fields("性别")="女"
EndIf
StuADO.Recordset.Update
EndSub
'删除元组
PrivateSubStuDel_Click()
ret=MsgBox("是否要删除"+StuADO.Recordset("学号")+"号学生的记录?
",vbYesNo,"提示")
Ifret=vbYesThen
StuADO.Recordset.Delete
EndIf
StuADO.RecordSource="selectsno学号,sname姓名,sdept专业,ssex性别,sbirth出生日期,all_credit总学分fromXS"
Command3_Click
StuADO.Refresh
EndSub
'选中一行显示元组
PrivateSubStuDG_Click()
Stusno.Text=StuADO.Reco
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计