学分管理系统--数据库课程设计报告Word文件下载.docx

上传人:聆听****声音 文档编号:3728500 上传时间:2023-05-02 格式:DOCX 页数:19 大小:878.68KB
下载 相关 举报
学分管理系统--数据库课程设计报告Word文件下载.docx_第1页
第1页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第2页
第2页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第3页
第3页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第4页
第4页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第5页
第5页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第6页
第6页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第7页
第7页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第8页
第8页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第9页
第9页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第10页
第10页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第11页
第11页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第12页
第12页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第13页
第13页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第14页
第14页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第15页
第15页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第16页
第16页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第17页
第17页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第18页
第18页 / 共19页
学分管理系统--数据库课程设计报告Word文件下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学分管理系统--数据库课程设计报告Word文件下载.docx

《学分管理系统--数据库课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《学分管理系统--数据库课程设计报告Word文件下载.docx(19页珍藏版)》请在冰点文库上搜索。

学分管理系统--数据库课程设计报告Word文件下载.docx

运用关系型数据库管理系统,实现学生成绩管理系统开发。

具体功能如下:

1、学生基本信息设置:

包括专业、班级、姓名、学号等;

2、学生课程名称和成绩录入;

3、学生基本信息和课程信息的查询及增删改;

4、成绩排名及相应绩点分计算。

三、需求分析

学生基本信息:

包括学生的姓名、学号、性别、系别、班级,可以方便学生信息的查询和更新;

课程基本信息:

包括课程代号、课程名、课程种类、学分,可以方便课程信息的查询与更新;

成绩基本信息:

包括学生的学号、学生选取的课程号、学生的成绩及学分,这可以提高查询效率。

4、概要设计

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。

合理的数据库结构设计可提高数据存储的效率,保证数据的完整和一致。

同时,合理的数据库结构也将有利于程序的实现。

数据库需求分析

用户的需求具体体现在各种信息的提供、保证、更新和查询,这就要求数据库结构能够充分满足各种信息的输出和输入。

针对一般学生信息管理系统的要求,通过对学生学习过程的内容和数据流程分析,设计如下的数据项和数据结构:

1、学生基本信息包括的数据项有:

学生学号、学生姓名、性别、班级、所在系。

课程名

学分

2、学生选课信息包括数据项有:

学生学号、课程号、考试分数、学分。

3、课程信息有:

课程号、课程名、课程类别。

根据上面的数据结构、数据项和数据流程,进行数据库设计。

5、详细设计

学号

成绩

选取

系别

学生

5.1、E-R图:

姓名

性别

班级

课程号

课程类型

课程

5.2、建立数据库:

学生表:

课程表:

学生选课表:

Sql建表命令:

createtable课程表(

课程号nchar(20)notnullprimarykey,

课程名nchar(20),

学分float,

课程类型char(10)

go

createtable学生表(

学号nchar(20)notnullprimarykey,

姓名nchar(5)notnull,

年龄int,

性别nchar

(2)check(性别in('

男'

'

女'

)),

所在系char(20)

createtable学生学分表(课程号nchar(20)notnull,学号nchar(20)notnull,成绩int,

constraints_c_pkprimarykey(学号,课程号)

Go

建立触发器保证完整性:

createtrigger选课插入onscforinsert

asif(selectcount(*)froms,inserted,cwheres.学号=inserted.学号andc.课程号

=inserted.课程号)=0rollbacktransactionGo

createtrigger学生删除onsfordelete

asif(selectcount(*)fromsc,deletedwheresc.学号=deleted.学号)>

0rollbacktransaction

else

deletescfromsc,deletedwheresc.学号=deleted.学号Go

建立一个视图方便查询:

createviewshow

asselects.学号,班级,姓名,c.课程号,课程名,sc.学分,课程类型froms,c,sc

wheres.学号=sc.学号andc.课程号=sc.课程号

5.3、利用Visualbasic6.0设计程序:

定义模块:

登陆界面:

PrivateSubcmdCancel_Click()End

EndSub

PrivateSubcmdOK_Click()

Ifyh.Text="

"

ThenMsgBox("

请输入用户名"

)Ifmm.Text="

请输入密码"

)Ifyh.Text="

admin"

Andmm.Text="

123"

ThenMDIForm1.Show

Me.Hide

Else:

MsgBox("

用户名或密码错误"

)EndIf

学生信息管理界面

Subscls()

Fori=0Tors.Fields.Count-1Text1(i).Text="

NextEndSub

Subdisprecord()

Fori=0Tors.Fields.Count-1Text1(i).Text=rs.Fields(i).ValueNext

PrivateSubCommand1_Click()rs.MovePrevious

Ifrs.BOFThenrs.MoveFirst

MsgBox("

已经移到第一个"

EndIfdisprecordEndSub

PrivateSubCommand2_Click()rs.MoveNext

Ifrs.EOFThenrs.MoveLast

已经移到最后一个"

EndIfdisprecord

PrivateSubCommand3_Click()

DimsqlAsString

sql="

insertintosvalues('

&

Text1(0)&

"

'

Text1

(1)&

Text1

(2)&

&

Text1(3)&

Text1(4)&

Text1(5)&

)"

IfText1(0).Text=rs.Fields(0).ValueAndText1(0)="

学号错误,请重新输入"

Text1(0).Text="

Elsecn.Executesql

添加成功"

)rs.Close

rs.Open"

select*froms"

cn,adOpenDynamic,adLockOptimisticSetDataGrid1.DataSource=rs

disprecordEndIf

PrivateSubCommand4_Click()Fori=0Tors.Fields.Count-1Text1(i).Text="

PrivateSubCommand5_Click()

deletefromswhere学号="

Text1(0).Textcn.Executesql

删除成功"

disprecordEndSub

PrivateSubForm_Load()

DimconstringAsString

constring="

Provider=SQLOLEDB.1;

IntegratedSecurity=SSPI;

PersistSecurityInfo=False;

UserID=sa;

InitialCatalog=学分管理系统;

DataSource=127.0.0.1"

Setcn=NewADODB.Connectioncn.Openconstring

Setrs=NewADODB.Recordset

cn.CursorLocation=adUseClient

录入学分信息:

PrivateSubCommand1_Click()DimsqlAsString

IfText1(0).Text="

Thenmagbox("

请输入完整信息"

Else

insertintoscvalues('

cn.ExecutesqlMsgBox("

录入成功"

select*fromsc"

cn,adOpenDynamic,adLockOptimistic

SetDataGrid1.DataSource=rsEndIf

按学号查询学生学分信息:

PrivateSubCommand1_Click()

Setrs=NewADODB.Recordsetcn.CursorLocation=adUseClient

select学号,姓名,课程名,课程类型,学分fromshowwhere学号="

Text1.Text,cn,adOpenDynamic,adLockOptimistic

SetDataGrid1.DataSource=rsEndSub

按照某类课程的学分高低进行排序:

select姓名,sum(学分)as学分fromshowwhere课程类型='

Text1.Text&

groupby姓名orderby学分asc"

rs.Close

rs.Opensql,cn,adOpenDynamic,adLockOptimisticSetDataGrid1.DataSource=rs

给定学号修改学分信息:

PrivateSubCommand1_Click()IfText1.Text="

Then

请输入要修改的学号"

)Else

DimsqlAsStringDimsql1AsString

updatescset学分="

Text3&

where学号="

Text1&

and课程号="

Text2

cn.Executesql

sql1="

updatescset成绩="

Text4&

cn.Executesql1MsgBox("

修改成功"

EndIfEndSub

判断学生是否能毕业:

6、调试分析

登陆:

主界面:

主界面为MDI界面,设置为父界面,以后的都为子界面。

学生信息管理:

上移到顶时会弹出信息框“已经移到第一个”,下移到最后一个时会弹出信息框

“已经移到最后一个”

添加学生信息:

如果学号有重复会弹出信息框“学号重复,请重新输入”,同时清空学号框

给定班号,显示该班所有学生的学分完成情况:

给定学号,修改该学生的学分信息:

给定学号,对该学生能否毕业进行确定:

七、结果分析、结论与体会:

在这次课程设计中,我遇到的困难很多,在解决它们的同时我又学到了很多,受益匪浅,特别是如何分析、建立、开发一个系统。

在一个系统开发的过程中编码不是重要的,重要的是分析系统、建立起系统模型。

在分析一个系统前,分析人员必须要对将要开发的系统所涉及到的各方面知识有一个认识,然后将系统的模型建立起来。

在程序编写中,我认识到软件要有简便的界面,良好的程序风格。

拥有这

些条件,程序的可读性才会好,开发的复杂度才能大大减少,修改代码时更加容易下手。

掌握了SQLServer的功能与特点以及相应的SQL语言,让我们可以很好地运用触发器和存储过程等模块,去解决一些生活中的实际问题,而不光是纸上谈兵;

同时,可以使我们对一个完整数据库系统的设计过程有了更深入的了解和体会

八、附录或参考文献

[1]《学用VisualBasic编程》潭浩 西安电子科技大学出版社

[2]《数据库系统原理及应用教程》苗雪兰刘瑞新著 机械工业出版社

[3]《SQLServer数据库开发入门与范例解析》夏邦贵著北京机械工业出版社

[4]《SQLServer2005应用开发技术指南》彭东著北京清华大学出版社

[5]《VisualBasic案例教程》 艾菊梅宋文琳著 电子工业出版

[6]《面向对象程序设计系列教材》 龚沛曾著 高等教育出版社

[7]《VisualBasic6.0数据库开发与专业应用》敬铮著 国防工业出版社

[8]《VisualBasic6.0数据库程序设计高手》温贤发著 科学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2