学生信息管理系统数据库课程设计报告.docx
《学生信息管理系统数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统数据库课程设计报告.docx(34页珍藏版)》请在冰豆网上搜索。
学生信息管理系统数据库课程设计报告
成绩
数据库原理与应用
课程设计报告
设计题目:
图书管理系统
学生姓名
朱圣尧
学号
专业名称
08计应专
日期
设计名称:
学生信息管理系统
设计内容:
设计一个学生信息管理系统
设计目的与要求:
采用VB和SQLServer设计一个学生管理系统,并使系统达到以下功能:
(1)大大提高学校管理的运作效率;
(2)快捷,有效的处理学生的各种信息,通过全面的信息采集和处理,辅助提高管理水平;
(3)使用本系统,可以迅速提升学生的管理水平,为提高效益,方便用户查询,提供有效的技术保障。
设计环境或器材、原理与说明:
前台开发工具:
VasualBasic
后台数据库工具:
SQLServer2000
设计过程(步骤)或程序代码:
1需求分析
相关功能要求:
1)添加:
可以添加学生学籍信息、课程信息、班级信息、成绩信息
2)查询:
可以查询学生学籍信息、课程信息、班级信息、成绩信息
3)修改:
可以修改学生学籍信息、课程信息、班级信息、成绩信息
数据流图:
学生信息管理的第一层数据流图:
图
学生信息的第二层数据流图:
图
班级信息和课程信息的第二层数据流图:
图
学生成绩信息的第二层数据流图:
图
相关的数据:
1)数据项:
学生学号
含义说明:
惟一标识一个学生
别名:
student_ID
类型:
字符型
整型长度:
8
取值含义:
前两位表示入学年份的后两位,第3、4位表示学院代号,第5、6位表示专业代号,最后两位表示报到序号
2)数据结构:
学生
含义说明:
定义了一个描述学生的信息结构
组成:
学生编号、学生姓名、学生性别、出生年月、班级编号、电话号码、入学日期、家庭住址
数据结构:
课程
含义说明:
定义了一个描述课程的信息结构
组成:
课程编号、课程名称、课程类型
数据结构:
班级
含义:
定义了一个描述班级的信息
组成:
班级编号、班级所属的年级、班主任、教室
数据结构:
成绩
含义:
定义了一个描述成绩的信息
组成:
成绩总评、课程名称、考试成绩
3)数据流:
成绩管理信息
说明:
表示学生与课程的关系
数据流来源:
学生信息表、课程信息表
数据流去向:
成绩信息表
组成:
学生编号、课程编号
数据流:
课程安排信息
说明:
表示年级和课程的关系
数据流来源:
班级信息表、课程信息表
数据流去向:
课程安排表
组成:
年级、课程名称
4)数据存储:
班级信息表、课程信息表、课程安排表、成绩信息表、学生学籍信息表
说明:
记录学生、班级、成绩、课程的情况
流入数据流:
学籍管理信息、课程管理信息、班级管理信息
流出数据流:
课程安排信息、成绩管理信息
组成:
学生编号、学生姓名、课程名称、班级编号、考试成绩、年级
存取方式:
随即存取
5)处理过程:
添加、修改、删除学生学籍信息、课程信息、班级信息、成绩信息
说明:
完成学籍、课程、班级、成绩的各种操作
输入:
学生编号、班级编号、、课程名称、
输出:
学生学籍信息、课程信息、班级信息、成绩信息的添加、删除、修改结果
处理:
如果有新生入学,就要进行学生各种信息的添加;如果有毕业生离校,就要对学生的各种信息进行删除;如果某个学生的信息需要修改,则对其相应的信息进行修改
2概念结构设计
1)学生实体E_R图:
2)班级实体E_R图:
3)课程实体E_R图:
4)年级实体E_R图:
5)成绩实体E_R图:
6)实体和实体之间的E_R图:
3.逻辑结构设计
现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
Student__Info学生信息表
列名
数据类型
可否为空
说明
Student_ID
int(4)
Notnull
学生学号(主键)
Student_Name
Char(10)
Null
学生姓名
Stdent_Sex
Char
(2)
Null
学生性别
Born_Date
Datetime(8)
Null
出生日期
Class_NO
Int(4)
Null
班号
Tele_Number
Varchar(12)
Null
联系电话
Ru_Date
Datetime(8)
Null
入校时间
Address
Varchar(50)
Null
家庭地址
Comment
Varchar(200)
Null
注释
Class_Info班级信息表格
列名
数据类型
可否为空
说明
Class_No
Int(4)
null
班号(主键)
Grade
Char(10)
Null
年级
Director
Char(20)
Null
班主任
Classroom_No
Char(10)
Null
教室
Course_Info课程基本信息表
列名
数据类型
可否为空
说明
Course_Name
Char(10)
Notnull
课程名称(主键)
Course_Type
Char(10)
Null
课程类型
Course_Des
Char(20)
Null
课程描述
Gradecourse_Info年级课程设置表
列名
数据类型
可否为空
说明
Grade
Char(10)
null
年级
Course_Name
Char(10)
Null
课程名称
Result_Info学生成绩表
列名
数据类型
可否为空
说明
Exam_No
Char(10)
null
考试类型
Student_ID
Int(4)
Null
学生学号
Student_Name
Char(10)
Null
学生姓名
Class_No
Int(4)
Null
学生班号
Course_Name
Char(10)
Null
课程名称
Result
Float(8)
Null
分数
User_Info系统用户表
列名
数据类型
可否为空
说明
User_ID
Char(10)
null
用户名称
User_PWD
Char(10)
Null
用户密码
User_Des
Char(10)
Null
用户描述
4物理结构的设计
建立的索引
建立的约束关系
5.数据库的实施
用户表的SQL语句
CREATETABLE[dbo].[user_Info](
[user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,
[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
学生表的SQL语句
CREATETABLE[dbo].[student_Info](
[student_ID][int]NOTNULL,
[student_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,
[student_Sex][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[born_Date][datetime]NULL,
[class_NO][int]NULL,
[tele_Number][char](10)COLLATEChinese_PRC_CI_ASNULL,
[ru_Date][datetime]NULL,
[address][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
)ON[PRIMARY]
班级表的SQL语句
CREATETABLE[dbo].[class_Info](
[class_No][int]NOTNULL,
[grade][char](10)COLLATEChinese_PRC_CI_ASNULL,
[director][char](10)COLLATEChinese_PRC_CI_ASNULL,
[classroom_No][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
课程表的SQL语句
CREATETABLE[dbo].[course_Info](
[course_No][int]NOTNULL,
[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,
[course_Type][char](10)COLLATEChinese_PRC_CI_ASNULL,
)ON[PRIMARY]
课程设置表的SQL语句
CREATETABLE[dbo].[gradecourse_Info](
[grade][char](10)COLLATEChinese_PRC_CI_ASNULL,
[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
成绩表的SQL语句
CREATETABLE[dbo].[result_Info](
[exam_No][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[student_ID][int]NOTNULL,
[student_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,
[class_No][int]NULL,
[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,
[result][float]NULL
)ON[PRIMARY]
写进相关数据
建立用户表
建立学生信息表
建立班级信息表
建立课程信息表
建立课程设置表
建立成绩表
VB模块中与SQLSever2000连接的关键代码
ConnectString="Provider=;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=Student;datasource="
关系图
6详细设计
学生信息管理系统功能
学生信息管理系统实现的功能:
管理员登陆与修改密码,学生信息的添加、删除与修改,班级信息的添加,修改,课程的设置、添加,成绩的纪录、修改与删除,以及对学生的各个信息的查询。
功能模块的实现(VB代码)
1.用户登录的设置:
用于设置用户的基本信息,包括用户名和密码(修改)以及用户的退出。
修改
PrivateSubcmdCancel_Click()
UnloadMe
EndSub
PrivateSubcmdOK_Click()
DimtxtSQL,MsgTextAsString
DimmrcAs
IfTrim(Text1
(1).Text)<>Trim(Text1
(2).Text)Then
MsgBox"密码输入不正确!
",vbOKOnly+vbExclamation,"警告"
Text1
(1).SetFocus
Text1
(1).Text=""
Else
txtSQL="select*fromuser_Infowhereuser_ID='"&UserName&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
(1)=Text1
(1).Text
MsgBox"密码修改成功!
",vbOKOnly+vbExclamation,"修改密码"
EndIf
EndSub
2.学生信息的设置:
用于学生基本信息的查询、修改和添加学生的信息,包括学生的学号、姓名、性别、班号、出生日期、入学年份、家庭住址以及备注。
添加
PrivateSubCommand1_Click()
DimmrcAs
DimtxtSQLAsString
DimMsgTextAsString
IfNotTesttxtThen
MsgBox"请输入学号!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入姓名!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请选择性别!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入出生日期!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请选择班号!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入联系电话!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入入校日期!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入家庭住址!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotIsNumeric(Trim)Then
MsgBox"请输入数字!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
txtSQL="select*fromstudent_Infowherestudent_ID='"&Trim&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
If=FalseThen
MsgBox"学号重复,请重新输入!
",vbOKOnly+vbExclamation,"警告"
Else
IfNotIsDateThen
MsgBox"出生时间应输入日期格式(yyyy-mm-dd)!
",vbOKOnly+vbExclamation,"警告"
Else
txtBorndate=Format(txtBorndate,"yyyy-mm-dd")
IfNotIsDateThen
MsgBox"入校时间应输入日期格式(yyyy-mm-dd)!
",vbOKOnly+vbExclamation,"警告"
Else
txtRudate=Format(txtRudate,"yyyy-mm-dd")
txtSQL="select*fromstudent_Info"
Setmrc=ExecuteSQL(txtSQL,MsgText)
(0)=Trim
(1)=Trim
(2)=Trim
(3)=Trim
(4)=Trim
(5)=Trim
(6)=Trim
(7)=Trim
MsgBox"添加学籍信息成功!
",vbOKOnly+vbExclamation,"警告"
EndIf
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
DimmrcAs
DimtxtSQLAsString
DimMsgTextAsString
DimiAsInteger
"男"
"女"
txtSQL="select*fromclass_Info"
Setmrc=ExecuteSQL(txtSQL,MsgText)
Fori=1To
(0)
Nexti
EndSub
PrivateSubtxtComment_Change()
EndSub
修改
DimmrcAs
DimmyBookmarkAsVariant
DimmccleanAsBoolean
PrivateSubeditCommand_Click()
mcclean=False
=False
=False
=False
=False
=False
=True
=True
=True
=True
=True
=True
=True
=True
EndSub
PrivateSubcancelCommand_Click()
IfNotmccleanThen
=True
=True
=True
=True
=True
=False
=False
=False
=False
=False
=False
=False
=False
=myBookmark
CallviewData
Else
MsgBox"什么都没有修改,有什么好取消的!
",vbOKOnly+vbExclamation,"警告"
EndIf
EndSub
PrivateSubdeleteCommand_Click()
myBookmark=
str2$=MsgBox("是否删除当前记录?
",vbOKCancel,"删除当前记录")
Ifstr2$=vbOKThen
IfThen
myBookmark=
=myBookmark
CallviewData
Else
myBookmark=
=myBookmark
CallviewData
EndIf
Else
=myBookmark
CallviewData
EndIf
EndSub
PrivateSubfirstCommand_Click()
CallviewData
EndSub
PrivateSubForm_Load()
DimtxtSQLAsString
DimMsgTextAsString
txtSQL="select*fromstudent_Info"
Setmrc=ExecuteSQL(txtSQL,MsgText)
CallviewDate
mcclean=True
EndSub
PublicSubviewData()
=(0)
=
(1)
=
(2)
=Format(3),"yyyy-mm-dd")
=(4)
=(5)
=Format(6),"yyyy-mm-dd")
=(7)
EndSub
PrivateSublastCommand_Click()
CallviewData
EndSub
PrivateSubnextCommand_Click()
IfThen
EndIf
CallviewData
EndSub
PrivateSubpreviousCommand_Click()
IfThen
EndIf
CallviewData
EndSub
PrivateSubupdateCommand_Click()
DimtxtSQLAsString
DimMsgTextAsString
DimmrccAs
IfmccleanThen
MsgBox"请先修改学籍信息",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入学号!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入姓名!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请选择性别!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入出生日期!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请选择班号!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入联系电话!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入入校日期!
",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
IfNotTesttxtThen
MsgBox"请输入家庭住址!
",vbOKOnly+vbExclama