学生档案管理系统设计与开发.docx
《学生档案管理系统设计与开发.docx》由会员分享,可在线阅读,更多相关《学生档案管理系统设计与开发.docx(21页珍藏版)》请在冰点文库上搜索。
学生档案管理系统设计与开发
河南工程学院
《数据库系统原理与应用》课程设计
成果报告
学生档案管理系统设计与开发
学生学号:
学生姓名:
学院:
计算机学院
专业班级:
计算机科学与技术1241班
专业课程:
数据库系统原理与应用
指导教师:
李华
2014年月日
课程设计指导教师评分表
课程设计题目
XX系统设计与开发
成员
姓名
学号
任务分工
评分项目及分值要素
成绩评定
项目
最高分
评分要素
成绩
1.学习态度
20
上机出勤及端正的学习态度、认真刻苦程度,工作量饱满程度等
2.软件设计质量
40
采用的算法、设计方案,设计结果,界面友好等方面进行综合评定
3.答辩过程
20
能简明扼要地阐述设计的主要内容,能准确流利地回答各种问题
4.设计报告书写
10
内容按要求步骤书写,条理清晰,表述清楚、措词得当
5.实际动手能力
10
熟练使用开发工具,能够迅速准确的进行调试、纠错和运行;组长全面负责,承担复杂的模块设计分值就高
总成绩
等级
评语
目录
一、需求分析4
二、概念结构设计4
1.学生档案E-R图4
2.管理员E-R图5
三、逻辑结构设计5
四、数据库的的物理设计5
五、数据库设计实现及运行5
六、系统详细设计及实现5
七、实训总结及心得体会5
一、需求分析
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识吗,它进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,有着手工管理所无法比拟的优点。
例如:
对学生档案的添加、删除、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率。
本次数据库实训要求在所有课题中选择自己感兴趣的题,并完成课题要求。
我们组选择的是学生档案管理系统,运用数据库基本理论与应用知识,在微机SQLserver的环境上建立一个数据库应用系统。
要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。
1.用e-r图设计学生档案管理系统的信息模型;
2.设计相应的关系模型,确定数据库结构;
3.实现应用程序设计、编程、优化功能;
4.对系统的各个应用程序进行集成和调试,进一步优化系统功能、改善系统用户界面完成实验内容所指定的各项要求。
组长:
陈永红
组员:
武涛涛、韩晓玉
组长陈永红负责(同组同学及分工请在此说明)
二、概念结构设计
1.学生档案E-R图
2.管理员E-R图
三、逻辑结构设计
根据E-R图将其转化为如下数据实体
1.admin表:
表1admin表
数据名称
数据类型
数据宽度
id
nchar
10
name
nchar
10
password
nchar
10
type
nchar
10
registdate
nchar
10
2.grade表:
表2grade表
数据名称
数据类型
数据宽度
sno
varchar
10
cname
char
10
grade
char
2
semester
char
8
3.student表:
表3student表
数据名称
数据类型
数据宽度
sno
varchar
10
sname
char
10
ssex
char
2
sclass
varchar
50
sbirthday
char
10
spa
varchar
8
saddress
varchar
50
sphone
varchar
11
semail
varchar
20
四、数据库的的物理设计
为了提高在表中搜索元组的速度,在每个表中建立相应的索引:
表:
ALTERTABLE`student`ADDINDEX`学生学号`(`学号`)
5、数据库设计实现及运行
1.数据库的创建
T-SQL语句:
CREATEDATABASE‘111’;
2.数据表的创建(可同时在创建时定义相关的约束)
T-SQL语句:
admin表创建:
CREATETABLEadmin
(namechar(6)notnull,
Passwordchar(6)
)
Student表创建:
CREATETABLEStudent
(
学号char(15)notnull,
姓名char(30),
性别char(10),
班级char(8),
专业char(50),
院系char(50),
入学时间char(12),
籍贯char(20),
民族char(8),
政治面貌char(20),
家庭住址char(50),
联系方式char(15)
)
六、系统详细设计及实现
1.开发环境
2.管理员账号注册
PrivateSubCommand1_Click()
IfText3.Text<>Text2.TextThen
MsgBox"两次输入的新密码不同,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Text2.SetFocus
Text2.Text=""
Text3.Text=""
ExitSub
EndIf
Adodc1.ConnectionString="Driver=SQLServer;Server=(local);UID=sa;PWD=;Database=111"
Adodc1.RecordSource="select*fromadminwherename"
Adodc1.Recordset.Find"name='"&Text1.Text&"'"
IfAdodc1.Recordset.EOF=TrueThen
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("name")=Text1.Text
Adodc1.Recordset.Fields("password")=Text2.Text
Adodc1.Recordset.Update
Adodc1.Recordset.Close
MsgBox"注册成功!
"
Text1.Text=""
Text2.Text=""
Text3.Text=""
EndIf
EndSub
PrivateSubCommand2_Click()
form2.Show
form6.Hide
EndSub
3.登录界面
本次实验的登录界面如下:
输入管理员的姓名和密码即可进入登录主页面,对学生的档案信息进行相关操作。
关键代码如下:
PrivateSubCommand1_Click()
DimcnAsADODB.Connection
DimrsAsADODB.Recordset
DimcmAsADODB.Command
Setcn=NewADODB.Connection
Setrs=NewADODB.Recordset
Setcm=NewADODB.Command
DimstrcnnAsString
strcnn="driver={sqlserver};server=(local);database=111;"
cn.Openstrcnn
cm.ActiveConnection=cn
strsql="select*fromadminwherename='"+Text1.Text+"'andpassword='"+Text2.Text+"'"
Setrs=cn.Execute(strsql)
Ifrs.EOF=FalseThen
form7.Show
UnloadMe
Else
MsgBox("用户名或密码错误,请重新登录!
")
EndIf
EndSub
PrivateSubCommand2_Click()
form6.Show
EndSub
PrivateSubCommand3_Click()
End
EndSub
4.添加学生信息
PrivateSubCommand1_Click()
Adodc1.ConnectionString="Driver=SQLServer;Server=(local);UID=sa;PWD=;Database=111"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*from学生档案"
IfAdodc1.Recordset.EOF=FalseThen
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("姓名")=Text1.Text
Adodc1.Recordset.Fields("性别")=Text2.Text
Adodc1.Recordset.Fields("学号")=Text3.Text
Adodc1.Recordset.Fields("院系")=Text4.Text
Adodc1.Recordset.Fields("专业")=Text5.Text
Adodc1.Recordset.Fields("班级")=Text6.Text
Adodc1.Recordset.Fields("入学时间")=Text7.Text
Adodc1.Recordset.Fields("籍贯")=Text8.Text
Adodc1.Recordset.Fields("民族")=Text9.Text
Adodc1.Recordset.Fields("政治面貌")=Text10.Text
Adodc1.Recordset.Fields("家庭地址")=Text11.Text
Adodc1.Recordset.Fields("联系方式")=Text12.Text
Adodc1.Recordset.Update
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
Text8.Text=""
Text9.Text=""
Text10.Text=""
Text11.Text=""
Text12.Text=""
MsgBox"添加成功!
"
Adodc1.Refresh
form2.Adodc1.Refresh
Adodc1.Recordset.MoveFirst
Else:
Adodc1.Recordset.MoveFirst
MsgBox"该联系人已存在,不能重复添加!
"
EndIf
EndSub
PrivateSubCommand3_Click()
form7.Show
form4.Hide
EndSub
5.删除学生信息
PrivateSubCommand1_Click()
form1.Show
Form9.Hide
EndSub
PrivateSubCommand2_Click()
form4.Show
Form9.Hide
EndSub
PrivateSubCommand3_Click()
form3.Show
Form9.Hide
EndSub
PrivateSubCommand4_Click()
IfMsgBox("你真的要删除该学生信息吗?
",vbQuestion+vbYesNo,"删除信息")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
MsgBox("删除成功!
"),,("友情提示哈~~")
IfAdodc1.Recordset.EOF=TrueThen
Adodc1.Recordset.MoveLast
EndIf
EndIf
EndSub
PrivateSubCommand5_Click()
form7.Show
Form9.Hide
EndSub
PrivateSubCommand6_Click()
Adodc1.Recordset.MoveFirst
EndSub
PrivateSubCommand7_Click()
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOF=TrueThen
Adodc1.Recordset.MoveFirst
EndIf
EndSub
PrivateSubCommand8_Click()
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOF=TrueThen
Adodc1.Recordset.MoveLast
EndIf
EndSub
PrivateSubCommand9_Click()
Adodc1.Recordset.MoveLast
EndSub
6.管理员密码修改
PrivateSubCommand1_Click()
Adodc1.ConnectionString="Driver=SQLServer;Server=(local);UID=sa;PWD=;Database=111"
Adodc1.RecordSource="select*fromadminwherename"
Adodc1.Recordset.Find"name="&Text1.Text&""
WithAdodc1.Recordset
IfText1.Text<>Trim(.Fields("name"))Then
MsgBox("当前用户名错误!
请重新输入!
"),,("~~~~(>_<)~~~~呜呜出错了")
Text1.Text=""
Else
IfText2.Text<>Trim(.Fields("password"))Then
MsgBox("当前密码错误!
请重新输入!
"),,("~~~~(>_<)~~~~呜呜出错了")
Text2.Text=""
Else
IfText3.Text<>Text4.TextThen
MsgBox("两次密码输入不一致!
"),,("~~~~(>_<)~~~~呜呜出错了")
Text3.Text=""
Text4.Text=""
Else
.Fields("password")=Text4.Text
.Update
MsgBox("密码修改成功!
"),,("友情提示哈~~")
Text4.Text=""
Text2.Text=""
Text3.Text=""
Text1.Text=""
Command1.Enabled=True
form2.Show
form3.Hide
EndIf
EndIf
EndIf
EndWith
EndSub
PrivateSubCommand3_Click()
form7.Show
form3.Hide
EndSub
7.管理员账号注销
PrivateSubCommand1_Click()
IfMsgBox("你真的要注销该管理员账户吗?
",vbQuestion+vbYesNo,"删除信息")=vbYesThen
Adodc1.Recordset.Delete
MsgBox"注销成功!
"
Text1.Text=""
Text2.Text=""
IfAdodc1.Recordset.EOF=TrueThen
Adodc1.Recordset.MoveLast
Adodc1.Recordset.Update
Adodc1.Recordset.Close
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
form7.Show
form5.Hide
EndSub
8.学生信息总览
说明:
此表有一个datagride控件和adodc控件相连接,由datagride控件输出基本信息情况预览
9.系统帮助
七、实训总结及心得体会
数据库原理实训即将结束,虽然实训时间只有一周,但在这一周里我们小组的成员共同努力完成了学生档案管理系统的开发。
学生档案管理系统的设计是为了管理员能够更加方便的管理学生的档案信息,管理员可以对学生的档案进行添加、删除、修改、查询等操作。
在此次的课程设计中,通过课程设计的一点点推进对以前学到的知识也有了新的理解,记的也更加深刻。
在课程设计中也遇到了一些在以前的练习中没有接触过的知识,尤其是在将后台数据库与前台界面进行连接时,从最开始的一窍不通到后来渐渐上手。
课程设计已经接近尾声,回想起来刚刚开始的时候,真的是不知道应该从何处开始下手,对课程设计的思想也很混乱,没有一点逻辑。
后来通过与组员的讨论逐渐地捋清了思路,对课程设计进行分工,虽然也是磕磕绊绊的,但是通过我们组的成员共同努力,一起合作,完成了对学生档案管理系统的设计。