数据库课程设计学生学籍管理系统VB.docx
- 文档编号:24567043
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:28
- 大小:2.96MB
数据库课程设计学生学籍管理系统VB.docx
《数据库课程设计学生学籍管理系统VB.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生学籍管理系统VB.docx(28页珍藏版)》请在冰豆网上搜索。
数据库课程设计学生学籍管理系统VB
学生学籍管理系统
1引言
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。
为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件为教学办公室带来了极大的方便。
该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。
通过操作手册,使用者可以了解本软件的基本工作原理。
操作人员只需输入一些简单的汉字、数字,即可达到自己的目标
1.1编写目的
本需求的编写目的在于研究学籍管理系统软件的开发途径和应用方法。
1.2背景及范围
随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。
学生管理正在逐步迈向管理信息现代化。
但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式。
学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。
面对庞大的信息量,这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。
1.3参考资料
《软件工程导论》-------张海藩编著清华大学出版社
《数据库系统概论》 --------王珊,萨师煊著高等教育出版社
《数据库应用系统开发实例》————曹红根丁勇主编清华大学出版社
1.4开发环境
本学生学籍管理系统(数据库系统)的开发与运行环境如下:
开发环境:
WindowsXP/Windows7
数据库管理系统:
ACCESS2003
运行环境:
Win2000/Win7
2用户需求
本系统是针对学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。
主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。
2.1功能要求
基本信息管理——系统管理员负责对各种基本信息的录入、修改、删除等操作。
学生成绩管理——系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。
信息查询统计——学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和获得奖学金学生的信息,最后再输出所有的信息。
毕业生信息管理——系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。
系统用户管理——系统管理员负责用不同的权限来限制不同用户对系统的使用。
2.2功能模块
2.3数据项
表2.1老师基本信息表
序号
字段
别名
数据类型
数据长度
1
tno
学号
char
10
2
tname
姓名
varchar
10
3
tsex
性别
char
2
4
profess
职称
varchar
10
5
dname
所属院系
varchar
8
6
tel
电话
int
表2.2学生基本信息表
序号
字段
别名
数据类型
数据长度
1
sno
学号
varchar
10
2
sname
姓名
varchar
10
3
ssex
性别
Char
2
4
birthday
出生日期
timestamp
20
5
symbol
政治面貌
varchar
8
6
Id
身份证号
varchar
20
7
Intime
入学时间
varchar
20
8
birthplace
籍贯
varchar
10
9
homeaddr
家庭住址
varchar
30
10
postcode
邮政编码
int
表2.3专业信息表
序号
字段
别名
数据类型
数据长度
1
mno
专业号
char
10
2
sno
学号
varchar
10
3
mname
专业名
char
10
4
intime
入学时间
datetime
表2.4毕业信息表
序号
字段
别名
数据类型
数据长度
1
gno
毕业证编号
char
10
2
sno
学号
varchar
10
3
sname
姓名
varchar
10
4
ssex
性别
char
2
5
dname
所属院系
varchar
10
6
intime
入学时间
datetime
7
ycredit
已修学分
float
8
xcredit
需修学分
float
表2.5院系信息表
序号
字段
别名
数据类型
数据长度
1
dmpno
院系号
varchar
10
2
dname
院系名称
varchar
10
3
dmphead
院长名
varchar
20
表2.6课程信息表
序号
字段
别名
数据类型
数据长度
1
cno
课程号
varchar
5
2
cname
课程名
varchar
15
3
credit
学分
smallint
表2.7学生选课信息表
序号
字段
别名
数据类型
数据长度
1
sno
学号
varchar
10
2
cno
课程号
varchar
5
3
grade
成绩
float
表2.8老师授课信息表
序号
字段
别名
数据类型
数据长度
1
cno
课程号
varchar
5
2
tno
教工号
char
10
3
ctime
课时
smallint
3概念结构设计
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型。
3.1数据流图
数据流图表达了数据和处理的关系,根据用户的需求和学籍管理系统的需求,得出如下图所示的学籍管理数据流图。
图3-1学籍管理系统数据流图
3.2系统E-R图
4逻辑结构设计
逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构一般分为3步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。
4.1关系模型
将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:
一个实体型转换为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体型间的联系则有以下不同的情况:
(1)一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。
如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(5)具有相同码的关系模式可合并。
将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:
学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,
入学时间,政治面貌,家庭住址,籍贯,邮政编码),此为学生实体对应的关系模式。
教师(教工号,姓名,性别,职称,电话,所属院系,),此为教师实体对应的关系模式。
课程(课程号,课程名,学分),此为课程实体对应的关系模式。
院系(院系号,院系名称,院长名),此为院系实体对应的关系模式。
选修(学号,课程号,成绩),此为选修关系对应的关系模式。
毕业(毕业证号,已修学分,需修学分,所属院系,入学时间),此为毕业关系对应的关系模式。
专业(专业号,专业名,入学时间),此为专业实体对应的关系模式。
5.系统实现
5.1界面设计
展示屏幕
登录界面
系统主界面
5.2功能实现
登录实现
PrivateSubForm_Load()
DimconnstrAsString
constr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:
\学籍管理系统.mdb;PersistSecurityInfo=False"
'定义数据库连接
conn.Openconstr
EndSub
PrivateSubCommand1_Click()
IfText1.Text=""Then
MsgBox"账号不能为空",vbCritical,"错误"
Else
IfText2.Text=""Then
MsgBox"密码不能为空",vbCritical,"错误"
ExitSub
EndIf
SQL="select*from管理员where用户名='"+Text1.Text+"'and密码='"+Text2.Text+"'"
Setrs=conn.Execute(SQL)
Ifrs.EOFThen
MsgBox"用户名和密码错误!
",vbOKOnly,"错误"
Text1.Text=""
Text2.Text=""
Text1.SetFocus
Else
UnloadMe
frmmain.Show
EndIf
conn.Close
EndIf
EndSub
修改密码
PrivateSubForm_Activate()
Text1.SetFocus
EndSub
PrivateSubForm_Load()
DimconnstrAsString
constr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:
\学籍管理系统.mdb;PersistSecurityInfo=False"
'定义数据库连接
conn.Openconstr
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="SELECT*FROM管理员"
EndSub
PrivateSubCommand1_Click()
Setrs=NewADODB.Recordset
SQL="select*from管理员where用户名='"+Text1.Text+"'and密码='"+Text2.Text+"'"
Setrs=conn.Execute(SQL)
Ifrs.EOFThen
MsgBox"用户或密码错误,请重新输入!
",48,"学籍管理系统"
Text1.Text=""
Text1.SetFocus
Text2.Text=""
Text3.Text=""
Else
IfText3.Text=Text4.TextThen
SQL="update管理员set密码='"+Text3.Text+"'where用户名='"+Text1.Text+"'"
Setrs=conn.Execute(SQL)
Text4.Text=""
MsgBox"密码修改成功",48,"学籍管理系统"
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Else
MsgBox"再次密码输入不同,请重新输入!
",48,"学籍管理系统"
m=0
Text1.Text=""
Text1.SetFocus
Text2.Text=""
Text3.Text=""
conn.Close
UnloadMe
EndIf
EndIf
EndSub
学生界面
实现代码
PrivateSubForm_Activate()
Text1.SetFocus
EndSub
PrivateSubForm_Load()
DimconnstrAsString
constr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:
\学籍管理系统.mdb;PersistSecurityInfo=False"'定义数据库连接
conn.Openconstr
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="SELECT*FROM学生基本信息WHERE学号='"+Trim(Text1.Text)+"'"
EndSub
PrivateSubCommand1_Click()
Adodc1.RecordSource="SELECT*FROM学生基本信息WHERE学号='"+Trim(Text1.Text)+"'"
Adodc1.Refresh
WithText2
Set.DataSource=Adodc1
.DataField="姓名"
EndWith
WithText3
Set.DataSource=Adodc1
.DataField="性别"
EndWith
WithText4
Set.DataSource=Adodc1
.DataField="出生年月"
EndWith
WithText5
Set.DataSource=Adodc1
.DataField="政治面貌"
EndWith
WithText6
Set.DataSource=Adodc1
.DataField="身份证号"
EndWith
WithText7
Set.DataSource=Adodc1
.DataField="入学时间"
EndWith
WithText8
Set.DataSource=Adodc1
.DataField="籍贯"
EndWith
WithText9
Set.DataSource=Adodc1
.DataField="家庭住址"
EndWith
WithText10
Set.DataSource=Adodc1
.DataField="邮政编码"
EndWith
EndSub
PrivateSubCommand2_Click()
Setrs=NewADODB.Recordset
SQL="insertinto学生基本信息([学号],[姓名],[性别],[出生年月],[政治面貌],[身份证号],[入学时间],[籍贯],[家庭住址],[邮政编码])values('"+Text1.Text+"','"+Text2.Text+"','"+Text3.Text+"','"+Text4.Text+"','"+Text5.Text+"','"+Text6.Text+"','"+Text7.Text+"','"+Text8.Text+"','"+Text9.Text+"','"+Text10.Text+"')"
Setrs=conn.Execute(SQL)
WithText1
Set.DataSource=Adodc1
.DataField="学号"
EndWith
WithText2
Set.DataSource=Adodc1
.DataField="姓名"
EndWith
WithText3
Set.DataSource=Adodc1
.DataField="性别"
EndWith
WithText4
Set.DataSource=Adodc1
.DataField="出生年月"
EndWith
WithText5
Set.DataSource=Adodc1
.DataField="政治面貌"
EndWith
WithText6
Set.DataSource=Adodc1
.DataField="身份证号"
EndWith
WithText7
Set.DataSource=Adodc1
.DataField="入学时间"
EndWith
WithText8
Set.DataSource=Adodc1
.DataField="籍贯"
EndWith
WithText9
Set.DataSource=Adodc1
.DataField="家庭住址"
EndWith
WithText10
Set.DataSource=Adodc1
.DataField="邮政编码"
EndWith
MsgBox"添加信息成功",48,"学籍管理系统"
EndSub
PrivateSubCommand3_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Text9.Text=""
Text10.Text=""
student.Show
EndSub
PrivateSubCommand4_Click()
Setrs=NewADODB.Recordset
SQL="select*from学生基本信息where学号='"+Text1.Text+"'"
Setrs=conn.Execute(SQL)
Ifrs.EOFThen
MsgBox"学号不正确,无法删除!
",48,"学籍管理系统"
Else
SQL="deletefrom学生基本信息where学号='"+Text1.Text+"'"
Setrs=conn.Execute(SQL)
MsgBox"学生信息删除成功",48,"学籍管理系统"
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Text9.Text=""
Text10.Text=""
EndIf
EndSub
教师界面
实现代码
PrivateSubForm_Activate()
Text1.SetFocus
EndSub
PrivateSubForm_Load()
DimconnstrAsString
constr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:
\学籍管理系统.mdb;PersistSecurityInfo=False"'定义数据库连接
conn.Openconstr
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="SELECT*FROM教师基本信息"
EndSub
PrivateSubCommand1_Click()
Setrs=NewADODB.Recordset
SQL="insertinto教师基本信息([教工号],[姓名],[性别],[职称],[电话],[所属院系])values('"+Text1.Text+"','"+Text2.Text+"','"+Text3.Text+"','"+Text4.Text+"','"+Text6.Text+"','"+Text5.Text+"')"
Setrs=conn.Execute(SQL)
WithText1
Set.DataSource=Adodc1
.DataField="教工号"
EndWith
WithText2
Set.DataSource=Adodc1
.DataField="姓名"
EndWith
WithText3
Set.DataSource=Adodc1
.DataField="性别"
EndWith
WithText4
Set.DataSource=Adodc1
.DataField="职称"
EndWith
WithText6
Set.DataSource=Adodc1
.DataField="电话"
EndWith
WithText5
Set.DataSource=Adodc1
.DataField="所属院系"
EndWith
MsgBox"添加信息成功",48,"学籍管理系统"
EndSub
PrivateSubCommand2_Click()
Setrs=NewADODB.Recordset
SQL="select*from教师基本信息where教工号="+Text1.Text+""
Setrs=conn.Execute(SQL)
Ifrs.EOFThen
MsgBox"教工号不正确,无法删除!
",48,"学籍管理系统"
Text1.Text=""
Text1.SetFocus
Text2.Text=""
Else
SQL="deletefrom
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 学籍 管理 系统 VB