学分管理系统--数据库课程设计报告.docx

上传人:b****9 文档编号:143751 上传时间:2022-10-04 格式:DOCX 页数:19 大小:878.68KB
下载 相关 举报
学分管理系统--数据库课程设计报告.docx_第1页
第1页 / 共19页
学分管理系统--数据库课程设计报告.docx_第2页
第2页 / 共19页
学分管理系统--数据库课程设计报告.docx_第3页
第3页 / 共19页
学分管理系统--数据库课程设计报告.docx_第4页
第4页 / 共19页
学分管理系统--数据库课程设计报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

学分管理系统--数据库课程设计报告.docx

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

学分管理系统--数据库课程设计报告.docx

课程设计报告

课程设计题目:

学分管理系统学生姓名:

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

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1