学分管理系统--数据库课程设计报告.docx
- 文档编号:143751
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:19
- 大小:878.68KB
学分管理系统--数据库课程设计报告.docx
《学分管理系统--数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《学分管理系统--数据库课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
课程设计报告
课程设计题目:
学分管理系统学生姓名:
xx
专 业:
计算机科学与技术班 级:
xxx
指导教师:
xx
2016年01月14日
19
目 录
1、题目 3
2、目的和要求 3
3、需求分析 3
4、概要设计 3
5、详细设计 4
E-R图 4
建立数据库 4
VB设计 6
6、调试分析 14
7、结果分析与体会 18
8、附录或参考资料 19
一、题目:
学分管理系统
1、目的和要求
通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力
运用关系型数据库管理系统,实现学生成绩管理系统开发。
具体功能如下:
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)
)
go
createtable学生学分表(课程号nchar(20)notnull,学号nchar(20)notnull,成绩int,
学分float,
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=""ThenMsgBox("请输入密码")Ifyh.Text="admin"Andmm.Text="123"ThenMDIForm1.Show
Me.Hide
Else:
MsgBox("用户名或密码错误")EndIf
EndSub
学生信息管理界面
Subscls()
Fori=0Tors.Fields.Count-1Text1(i).Text=""
NextEndSub
Subdisprecord()
Fori=0Tors.Fields.Count-1Text1(i).Text=rs.Fields(i).ValueNext
EndSub
PrivateSubCommand1_Click()rs.MovePrevious
Ifrs.BOFThenrs.MoveFirst
MsgBox("已经移到第一个")
EndIfdisprecordEndSub
PrivateSubCommand2_Click()rs.MoveNext
Ifrs.EOFThenrs.MoveLast
MsgBox("已经移到最后一个")
EndIfdisprecord
EndSub
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)=""ThenMsgBox("学号错误,请重新输入")
Text1(0).Text=""
Elsecn.Executesql
MsgBox("添加成功")rs.Close
rs.Open"select*froms",cn,adOpenDynamic,adLockOptimisticSetDataGrid1.DataSource=rs
disprecordEndIf
EndSub
PrivateSubCommand4_Click()Fori=0Tors.Fields.Count-1Text1(i).Text=""
NextEndSub
PrivateSubCommand5_Click()
DimsqlAsString
sql="deletefromswhere学号="&Text1(0).Textcn.Executesql
MsgBox("删除成功")rs.Close
rs.Open"select*froms",cn,adOpenDynamic,adLockOptimisticSetDataGrid1.DataSource=rs
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
rs.Open"select*froms",cn,adOpenDynamic,adLockOptimisticSetDataGrid1.DataSource=rs
disprecordEndSub
录入学分信息:
PrivateSubCommand1_Click()DimsqlAsString
IfText1(0).Text=""Thenmagbox("请输入完整信息")
Else
sql="insertintoscvalues('"&Text1(0)&"','"&Text1
(1)&"','"&Text1
(2)&"','"&Text1(3)&"')"
cn.ExecutesqlMsgBox("录入成功")rs.Close
rs.Open"select*fromsc",cn,adOpenDynamic,adLockOptimistic
SetDataGrid1.DataSource=rsEndIf
EndSub
按学号查询学生学分信息:
PrivateSubCommand1_Click()
DimconstringAsString
constring="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=学分管理系统;DataSource=127.0.0.1"
Setcn=NewADODB.Connectioncn.Openconstring
Setrs=NewADODB.Recordsetcn.CursorLocation=adUseClient
rs.Open"select学号,姓名,课程名,课程类型,学分fromshowwhere学号="&Text1.Text,cn,adOpenDynamic,adLockOptimistic
SetDataGrid1.DataSource=rsEndSub
按照某类课程的学分高低进行排序:
PrivateSubCommand1_Click()
DimsqlAsString
sql="select姓名,sum(学分)as学分fromshowwhere课程类型='"&Text1.Text&"'groupby姓名orde
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学分 管理 系统 数据库 课程设计 报告