版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库系统课程设计》报告
课程名称
数据库应用系统课程设计实验课题名称
学生成绩管理系统专
业
计算机科学与技术班
级
学
号
学生姓名
******指导教师
******完成日期
年月日目录TOC\o"1-4"\h\z\u1.引言 3(1)系统的意义 3(2)系统的特点 3(3)系统设计环境 32.系统需求分析 4(1)系统设计的目标 4(2)系统需求分析 4(3)系统功能分析 4(1)学生信息管理 4(2)课程和分数信息管理 4(3)教师信息管理 4(4)概念结构设计 43.系统设计 4(1)数据库设计 4①逻辑结构设计 51.关系模型 52.student表设计 53.Teacher表设计 5②各数据表结构 5(1)学生基本信息——Student 5(2)课程信息——Course 6(3)选课信息——SC 6(4)教师基本信息——Teacher 6(5)任课信息——TC 6③各表之间的关联关系 6(2)系统功能设计 74.系统实现 7(1)主界面 7(2)查询界面 8(3)插入界面 11(4)修改界面 14(5)删除界面 165.小结 191.引言(1)系统的意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大地提高学校学生成绩管理的效率。因此,开发这样一套管理软件成为很有必要的事情。而且只要软件的设计合理,可以为学校提供合理的管理模式。所以我想借本次毕业设计之际,开发一个不仅适用本校各系而且适用于其它各校的通用高校学生档案管理系统。现在我国的学校学生档案的管理水平有些还停留在纸质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。学生成绩管理工作是学校学生管理工作的重要组成部分,现在相当一部分学校的学生成绩管理工作仍沿用手工方式。随着学校规模的扩大、学生人数的增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,按照软件工程原理和数据库技术开发学生成绩管理系统已成为学生管理部门的迫切需要。该学生成绩管理系统主要包括有学生档案管理、学生选课管理、学生成绩管理等内容;面对大量的学生数据、报表,手工处理方式已经很难跟上现代化的步伐。随着计算机技术及网络通讯技术的飞速发展,许多学校已经有了较好的计算机应用甚至网络硬件建设基础。因此为提高学校管理工作的现代化、科学化水平,保证信息处理的即时化、准确化,开发一套对学生学籍进行管理的软件是极其重要的。(2)系统的特点学生成绩管理系统主要包括以下功能:•完成数据的录入和修改,并提交数据库保存。其中的数据包括:学生信息、课程设置、学生成绩以及操作员信息等。•实现信息查询。主要包括:学生信息查询、课程信息查询和成绩查询等。•教师信息管理。教师授课信息查询、授课记录修改,删除等归纳起来,好处大约有以下几点:1.可以很方便地查询、修改、删除学生资料、成绩等信息;2.可以很方便地查询、修改、删除教师授课信息记录等;3.只需一到二名档案录入员即可操作系统,节省大量人力;(3)系统设计环境(1)WindowsXP系统(2)SQLServer2000数据库管理系统(3)MicrosoftVisualBasic6.0开放平台2.系统需求分析(1)系统设计的目标学校学生成绩系统是针对数据库课程设计所做的一个小型数据库。它也是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。通过此系统,各科老师何管理员可以查询,修改,删除学生所选课的信息.能够方便的了解学生总体情况(2)系统需求分析数据库中至少有个一个表是来存储学生的各课成绩的。有了学生成绩,得知道这个成绩是哪个学生的,所以此表中也得有学生姓名,但是学生姓名肯定有重复的,所以得必须有个标志来惟一标识一个学生,所以得给每个学生一个编号(学号),但是也得必须清楚,这个成绩是哪门课程的,所以给课程定义了一个编号。之后,得想到有了学生成绩表,总得有个表来存放学生信息吧,所以又建立一个学生信息表,此表中的必须的字段得有学号、姓名、班级,其他的字段可以根据需要来添加。然后就是得有个课程表来存放哪个教师教哪门课程信息,所以此表中至少得有课程号,课程名称和教师的惟一标识(教师编号),再有一个表来存放教师的信息的,其中的字段必须有教师编号,教师姓名和所在的部门,当然也可以有教师出生日期、职称、电话号码等字段。(3)系统功能分析(1)学生信息管理每年的大量新生入学,老生毕业都需要处理大量的学生信息。通过这一模块,可以实现学生基本情况的添加、删除、更新。还能查询各个学生的情况,姓名、姓别、班级、学号等各个消息.(2)课程和分数信息管理每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程和成绩.而且可以查询任课的教师。可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。(3)教师信息管理对每位任课教师都有详细记录,可以轻松查询教师的姓名,职称,编号,收入门等,并可以对教师的信息进行查询、修改、删除等操作。(4)概念结构设计E-R图:成绩学分课程名先行课号课程号所在系年龄性别姓名课程选修学号学生成绩学分课程名先行课号课程号所在系年龄性别姓名课程选修学号学生mmnn所在系津贴工资职称年龄性别姓名教师号所在系津贴工资职称年龄性别姓名教师号教师教师mn学分课程名先行课号课程号课程任课mn学分课程名先行课号课程号课程任课3.系统设计(1)数据库设计①逻辑结构设计1.关系模型学生(学号,姓名,性别,年龄,所在系) 此为学生实体对应的关系模式,其中学号是码。课程(课程号,课程名,先行课名,学分) 此为课程实体对应的关系模式,其中课程号是码。选修(学号,课程号,成绩)此为联系“选修”对应的关系模式,其中学号,课程号是码。教师(教师号,姓名,性别,年龄,职称,工资,津贴,所在系)此为教师实体对应的关系模式,其中教师号是码。任教(教师号,课程号)此为任教实体对应的关系模式,其中课程号是码。2.student表设计3.Teacher表设计②各数据表结构(1)学生基本信息——Student字段名称数据类型字段大小作用必填字段是否主键Snochar4学号是是Snamechar10姓名是否Ssexchar2性别是否Sageint4年龄否否Sdeptchar30所在系否否(2)课程信息——Course字段名称数据类型字段大小作用必填字段是否主键Cnochar3课程号是是Cnamechar10课程名是否Chourtinyint1先行课名否否Ccreditchar4学分否否(3)选课信息——SC字段名称数据类型字段大小作用必填字段是否主键Snochar4学号否是Cnochar4课程号否是SCOREInt4成绩否否(4)教师基本信息——Teacher字段名称数据类型字段大小作用必填字段是否主键Tnochar2教师号是是Tnamechar8姓名是否Sexchar2性别是否Agetinyint1年龄否否Profchar10职称否否Salsmallint2工资否否Commsmallint2津贴否否Deptchar30所在系否否(5)任课信息——TC字段名称数据类型字段大小作用必填字段是否主键Tnochar10教师号否是Cnochar10课程号否是③各表之间的关联关系(2)系统功能设计操作名称相关数据学生基本信息学号,姓名,性别,年龄,所在系课程信息课程号,课程名,先行课名,学分选课信息学号,课程号,成绩教师信息教师号,姓名,性别,年龄,职称,工资,所在系任课信息教师号,课程号4.系统实现(1)主界面PrivateSubCommand1_Click()sForm1.ShowEndSubPrivateSubCommand2_Click()tForm1.ShowEndSubPrivateSubCommand3_Click()sForm2.ShowEndSubPrivateSubCommand4_Click()tForm2.ShowEndSubPrivateSubCommand5_Click()sForm3.ShowEndSubPrivateSubCommand6_Click()tForm3.ShowEndSubPrivateSubCommand7_Click()sForm4.ShowEndSubPrivateSubCommand8_Click()tForm4.ShowEndSubPrivateSubCommand9_Click()UnloadMeEndSub(2)查询界面PrivateSubForm_Load()DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;UID=sa;PWD=sa;InitialCatalog=jxsk"SetMSHFlexGrid1.DataSource=con.Execute("selectsc.snoas学号,snameas姓名,cnameas课程名fromstudent,course,scWherestudent.sno=sc.snoAndo=o")con.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.ConnectionDimrsAsADODB.RecordsetDimstrCnnAsStringDimsnameAsString,cnameAsStringsname=Trim(s_text.Text)cname=Trim(c_text.Text)strCnn="DRIVER={SQLSERVER};SERVER=ASUS;UID=sa;PWD=sa;DATABASE=jxsk"Setcn=NewADODB.Connectioncn.OpenstrCnnDimcmAsNewADODB.Commandcm.ActiveConnection=cncm.CommandText="selectscorefromstudent,sc,coursewherestudent.sno=sc.snoand"+_"o=oandstudent.sname='"+sname+"'andame='"+cname+"'"cm.CommandType=adCmdTextcm.CommandTimeout=15Setrs=cm.Execute(1,1,1)Ifrs.EOF=FalseThenscore_text.Text=Str(rs!score)EndIfSetrs=Nothingcn.CloseSetcn=NothingEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;UID=sa;PWD=sa;InitialCatalog=jxsk"SetMSHFlexGrid1.DataSource=con.Execute("selecttnameas姓名fromteacher")con.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.ConnectionDimrsAsADODB.RecordsetDimstrCnnAsStringDimt_nameAsStringt_name=Trim(t_text.Text)strCnn="DRIVER={SQLSERVER};SERVER=ASUS;UID=sa;PWD=sa;DATABASE=jxsk"Setcn=NewADODB.Connectioncn.OpenstrCnnstrSQL="selectcnamefromteacher,tc,coursewhereteacher.tno=tc.tnoand"+_"o=oandteacher.tname='"+t_name+"'"Setrs=NewADODB.Recordsetrs.CursorType=adOpenStaticrs.CursorLocation=adUseClientSetrs=cn.Execute(strSQL)DoWhilers.EOF=Falset_list.AddItemrs!cnamers.MoveNextLoopSetrs=Nothingcn.CloseSetcn=NothingEndSubPrivateSubCommand2_Click()UnloadMeEndSub(3)插入界面PrivateSubForm_Load()DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;UID=sa;PWD=sa;InitialCatalog=jxsk"SetMSHFlexGrid1.DataSource=con.Execute("selectsnoas学号,cnoas课程号,scoreas成绩fromsc")con.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.ConnectionDimstrCnnAsStringDimsnoAsString,cnoAsStringDimsc_scoreAsStringsno=Trim(s_text.Text)cno=Trim(c_text.Text)sc_score=Trim(score_text.Text)strCnn="DRIVER={SQLSERVER};SERVER=ASUS;UID=sa;PWD=sa;DATABASE=jxsk"Setcn=NewADODB.Connectioncn.OpenstrCnnDimcmAsNewADODB.Commandcm.ActiveConnection=cncm.CommandText="insertintoscvalues('"+sno+"','"+cno+"',"+sc_score+")"cm.CommandType=adCmdTextcm.CommandTimeout=15cn.Errors.ClearOnErrorGoToError11cm.ExecuteError11:Ifcn.Errors.Count=0ThenMsgBox("成功插入数据!")ElseMsgBox("插入数据失败!")EndIfcn.CloseSetcn=NothingEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;UID=sa;PWD=sa;InitialCatalog=jxsk"SetMSHFlexGrid1.DataSource=con.Execute("selecttnoas教师号,cnoas课程号fromtc")con.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.ConnectionDimstrCnnAsString,strSQLAsStringDimtnoAsString,cnoAsStringDimidtno=Trim(t_text.Text)cno=Trim(c_text.Text)strCnn="DRIVER={SQLSERVER};SERVER=ASUS;UID=sa;PWD=sa;DATABASE=jxsk"Setcn=NewADODB.Connectioncn.OpenstrCnnstrSQL="select*fromtc"Setrs=NewADODB.Recordsetrs.CursorType=adOpenDynamicrs.CursorLocation=adUseClientrs.LockType=adOpenDynamiccn.Errors.ClearOnErrorGoToError11rs.OpenstrSQL,cn,,,adCmdTextrs.AddNewrs!tno=tnors!cno=cnors.UpdateError11:Ifcn.Errors.Count=0Thenid=MsgBox("成功插入数据!",vbOKOnly,"插入教师授课信息")Elseid=MsgBox("插入数据失败!",vbOKOnly,"插入教师授课信息")EndIfSetrs=Nothingcn.CloseSetcn=NothingEndSubPrivateSubCommand2_Click()UnloadMeEndSub(4)修改界面PrivateSubForm_Load()DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;UID=sa;PWD=sa;InitialCatalog=jxsk"SetMSHFlexGrid1.DataSource=con.Execute("selectsnoas学号,cnoas课程号,scoreas成绩fromsc")con.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.ConnectionDimstrCnnAsStringDimsnoAsString,cnoAsStringDimsc_scoreAsIntegersno=Trim(s_text.Text)cno=Trim(c_text.Text)sc_score=Val(score_text.Text)strCnn="DRIVER={SQLSERVER};SERVER=ASUS;UID=sa;PWD=sa;DATABASE=jxsk"Setcn=NewADODB.Connectioncn.OpenstrCnnDimcmAsNewADODB.Commandcm.ActiveConnection=cncn.Errors.ClearOnErrorGoToError11cm.CommandText="update_score"Setprm=cm.CreateParameter("sno",adChar,adParamInput,6,sno)cm.Parameters.AppendprmSetprm=cm.CreateParameter("cno",adChar,adParamInput,5,cno)cm.Parameters.AppendprmSetprm=cm.CreateParameter("score",adTinyInt,adParamInput,,sc_score)cm.Parameters.Appendprmcm.CommandType=adCmdStoredProccm.ExecuteError11:Ifcn.Errors.Count=0ThenMsgBox("成绩更新成功!")ElseMsgBox("成绩更新失败!")EndIfcn.CloseSetcn=NothingEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;UID=sa;PWD=sa;InitialCatalog=jxsk"SetMSHFlexGrid1.DataSource=con.Execute("selecttnoas教师号,cnoas课程号fromtc")con.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.ConnectionDimstrCnnAsString,strSQLAsStringDimtnoAsString,c_oldAsString,c_newAsStringDimidAsIntegertno=Trim(t_text.Text)c_old=Trim(dc_text.Text)c_new=Trim(nc_text.Text)strCnn="DRIVER={SQLSERVER};SERVER=ASUS;UID=sa;PWD=sa;DATABASE=jxsk"Setcn=NewADODB.Connectioncn.OpenstrCnnstrSQL="selectcnofromtcwheretno='"+tno+"'andcno='"+c_old+"'"Setrs=NewADODB.Recordsetrs.CursorType=adOpenKeysetrs.CursorLocation=adUseClientrs.LockType=adLockOptimisticcn.Errors.ClearOnErrorGoToError11rs.OpenstrSQL,cn,,,adCmdTextIfrs.EOF=FalseThenrs!cno=c_newid=MsgBox("成功更新课程号数据!",vbOKOnly,"更新教师授课信息")Setrs=Nothingcn.CloseSetcn=NothingExitSubEndIfError11:id=MsgBox("更新数据失败!",vbOKOnly,"更新授课信息")Setrs=Nothingcn.CloseSetcn=NothingEndSubPrivateSubCommand2_Click()UnloadMeEndSub(5)删除界面PrivateSubForm_Load()DimconAsNewADODB.Connectioncon.Open"Provider=SQLOLEDB.1;UID=sa;PWD=sa;InitialCatalog=jxsk"SetMSHFlexGrid1.DataSource=con.Execute("selectsnoas学号,cnoas课程号fromsc")con.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.ConnectionDimstrCnnAsStringDimsnoAsString,cnoAsStringsno=Trim(s_text.Text)cno=Trim(c_text.Text)strCnn="DRIVER={SQLSERVER};SERVER=ASUS;UID=sa;PWD=sa;DATABASE=jxsk"Setcn=NewADODB.Connectioncn.OpenstrCnnDimcmAsNewADODB.Commandcm.ActiveConnection=cncn.Errors.ClearOnErrorGoToError11cm.CommandText="deletefromscwheresno='"+sno+"'andcno='"+cno+"'"cm.CommandType=adCmdTextcm.Executerecordsaffected,,adCmdTextIfrecordsaffected<>0ThenMsgBox("删除选课记录成功!")Else
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论