学生信息管理系统.docx
- 文档编号:12395406
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:76
- 大小:1.95MB
学生信息管理系统.docx
《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(76页珍藏版)》请在冰豆网上搜索。
学生信息管理系统
网络数据库
题目学生信息管理系统
姓名丁若峰
学号20092334037
院系滨江学院电子工程系
成绩
二O一一年十二月十五日
项目名称:
学生信息管理系统
班级:
09通信
(2)班姓名:
丁若峰
学号:
20092334037完成时间:
2011年12月
1需求分析
根据调查询分析,本系统有以下几个功能:
系统管理功能:
为用户设置权限功能,可分为普通用户,超级用户。
普通用户只是查询不能改。
超级用户能修改、删除所有信息。
退出和关闭系统。
添加功能:
为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。
查询与修改:
为所有用户提供查询的功能,可查询允许范围内的所有信息。
为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。
根据以上分析得出本系统的功能模块图如图1-1所示。
图1-1系统功能模块图
2概念结构设计
在学生信息管理系统中,根据需求分析,有以下实体:
系部、专业、班级、课程和学生。
各实体之间存在以下关系:
1、系部和专业之间的关系:
一个系由一个或多个专业组成,多个专业属于一个系,系部和专业之间是一对多的关系。
通常用来描述系部的属性有系部代号、系部全称和系部简称,通常用来描述专业的属性有专业代号、专业全称和专业简称。
其E-R图如图2-1所示:
图2-1系部与专业的E-R图
2、专业和课程之间的关系:
一个专业设置多门课程,多门课程属于一个专业,专业和课程之间的关系是一对多的关系。
通常用来描述课程的属性是课程代号、课程全称、课程简称、学时数、学分和是否选修,其E-R图如图2-2所示:
图2-2专业与课程的E-R图
3、专业和班级之间的关系:
一个专业有一个或多个班级,多个班级属于一个专业,专业与班级之间构成一对多的关系。
通常用来描述班级的属性有班级代号、专业代号、年级、学制。
其E-R图如图2-3所示:
图2-3专业与班级E-R图
4、班级与学生之间的关系:
一个班级由多个学生组成,多个学生属于一个班,班级与学生之间的关系是一对多的关系。
通常用来描述学生的属性有学号、姓名、性别、出生日期、政治面貌、籍贯、家庭地址等。
其E-R图如图2-4所示:
图2-4班级与学生E-R图
5、学生与课程之间的关系:
一个学生可以选修多门课程,一门课程可以被多个学生选修,学生和课程之间的关系是多对多的关系。
学生和课程之间的E-R图如图2-5所示:
图2-5学生和课程E-R图
根据以上分析,得出学生信息管理系统的整体E-R图如图2-6所示:
图2-6系统E-R图
3数据库设计
根据E-R图设计出数据库中的关系模式及其结构。
数据库名称:
学生信息管理系统
根据以上分析和E-R图转换成关系模式的转换规则可知,学生信息管理系统中有七个关系模式:
3.1系部关系模式
系部(系部代号,系部全称,系部简称)
系部代号为主码,其结构表如表3-3所示:
表3-3系部关系模式结构
字段名称
字段类型
宽度
可否为空
是否主键
系部代号
Char
2
否
是
系部全称
Char
15
否
否
系部简称
char
10
否
否
3.2专业关系模式
专业(专业代号,专业全称,专业简称)
专业代号为主码,其结构表如表3-3所示:
表3-3系部关系模式结构
字段名称
字段类型
宽度
可否为空
是否主键
专业代号
Char
4
否
是
专业全称
Char
30
否
否
专业简称
char
10
否
否
3.3班级关系模式
班级表(班级编号,班级名称,专业代号)
班级编号是主码,其结构表如表3-2所示:
表3-2班级关系模式结构
字段名称
字段类型
宽度
可否为空
是否主键
班级编号
Char
6
否
是
班级名称
Char
30
否
否
专业代号
Char
2
否
外码
3.4学生关系模式
学生(学号,姓名,性别,出生日期,政治面貌,班级编号,家庭住址,联系电话,照片),学号为主码,其结构如表3-1所示:
表3-1学生关系模式结构
字段名称
字段类型
宽度
可否为空
是否主键
学号
char
8
否
是
姓名
Char
8
否
单值
性别
Char
2
可
否
出生日期
Datetime
8
可
否
政治面貌
Char
10
可
否
联系电话
Char
11
可
否
班级编号
Char
6
否
外码
家庭住址
char
40
可
否
3.5课程表关系模式
课程(课程编号,课程名称,开课学期,专业代号,考试类型)
课程编号是主码,其结构表如表3-4所示:
表3-4课程关系模式结构
字段名称
字段类型
宽度
可否为空
是否主键
课程编号
Char
2
否
是
课程名称
Char
30
否
否
开课学期
Int
2
否
否
专业代号
Char
2
否
外码
学分
int
否
否
3.6选课关系模式
选课(学号,课程编号,成绩)
学号和课程编号的集合为主码,学号是学生表关系中的外码,课程编号是课程关系中的外码,其结构表如表3-5所示:
表3-5成绩关系模式结构
字段名称
字段类型
宽度
可否为空
是否主键
学号
Char
8
否
外码
课程编号
Char
2
否
外码
成绩
float
否
否
3.7用户关系模式
用户关系模式是操作员登录系统时系统要验证用户名和密码,检验是否合法用户,其结构如表3-6所示:
表3-6用户关系模式结构
字段名称
字段类型
宽度
可否为空
是否主键
用户名
char
10
否
是
用户密码
char
10
否
否
3.8视图结构设计
1、学生选课情况
字段名称
字段类型
宽度
班级
char
6
学号
char
8
姓名
char
8
课程名称
varchar
50
成绩
numeric
(5,2)
2、学生补考情况视图
字段名称
字段类型
宽度
学号
char
8
姓名
char
8
课程名称
varchar
50
3、学生成绩视图
字段名称
字段类型
宽度
学号
char
8
姓名
char
8
课程代码
char
4
课程名称
varchar
50
成绩
numeric
(5,2)
4数据库实施
4.1创建数据库
createdatabase学生信息管理系统pj
onprimary
(name='学生信息管理系统pj_data',
filename='d:
\学生管理系统\学生信息管理系统pj_data.mdf',
size=3,
maxsize=unlimited,
filegrowth=1MB
)
logon
(name='学生信息管理系统pj_log',
filename='d:
\学生管理系统\学生信息管理系统pj_log.ldf',
size=1,
maxsize=unlimited,
filegrowth=10%
)
4.2创建表
(1)系部表代码如下,创建界面如图4-1所示。
createtable系部
(系部编号char
(2)primarykey,
系部全称char(30),
系部简称char(10)
)
系部创建表界面,如图4-1所示
(2)专业表代码如下,创建界面如图4-2所示。
createtable专业(
专业代码char(4)primarykey,
专业全称char(30)notnull,
专业简称char(10)notnull
)
专业表创建界面如图4-2所示
(3)班级表代码如下,创建界面如图4-3所示。
ccreatetable班级
(
班级代号char(6)primarykey,
专业代号char(6),
年级char(6),
学制nvarchar(4)
)
班级表创建界面如图4-3所示
(4)课程表代码如下,创建界面如图4-4所示。
createtable课程(课程代号char(8)primarykey,课程全称char(20),课程简称char(10),学实数int,学分int,是否选修char
(2))
课程表创建界面如图4-4所示
(5)学生表代码如下,创建界面如图4-5所示。
createtable学生(学号char(8)primarykey,姓名char(8),性别char
(2),出生日期datetime,政治面貌varchar(4),民族varchar(20),籍贯varchar(10),住址varchar(20),备注char(20),班级代号char(6)notnull
)
学生表创建界面如图4-5所示
(6)成绩表代码如下,创建界面如图4-6所示。
createtable成绩(学号char(8)primarykey,课程代号char(8),开课学期char(6),考试时间datetime,考试类型char(4),成绩int,考核课char(6))
成绩表创建界面如图4-6所示
(7)用户表代码如下,创建界面如图4-7所示。
createtable用户表
(用户名char(10)primarykey,
用户密码char(10)NOTNULL
)
用户表创建界面如图4-7所示
4.3创建视图
创建学生成绩视图代码如下,创建界面如图4.3-1所示。
createview学生成绩视图表(学号,姓名,课程代号,课程名,成绩)
as
select成绩.学号,姓名,成绩.课程代号,课程全称,成绩
from学生,课程,成绩
where学生.学号=成绩.学号and课程.课程代号=成绩.课程代号
成绩视图界面如图4.3-1所示
(2)创建学生成绩视图代码如下,创建界面如图4.3-2所示。
createview学生成绩情况(bj,xh,xm,kcmc,cj)
as
select班级代号,学生.学号,姓名,课程全称,成绩
from学生,课程,成绩
where学生.学号=成绩.学号and课程.课程代号=成绩.课程代号
学生成绩视图界面如图4.3-2所示
4.5创建存储过程
(1)对学生表
1)插入的存储过程代码如下,创建界面如图4.5-1所示。
createprocinsert_学生
@xhchar(8),@xmnvarchar(4),@xbnchar
(1),@csrqdatetime,@bjdmchar(6),
@zzmmchar(10),@jgnchar(10),@zzvarchar(40),@mzvarchar(20),@bjdhchar(6)
as
insertinto学生
values(@xh,@xm,@xb,@csrq,@bjdm,
@zzmm,@jg,@zz,@mz,@bjdh)
return
插入的存储过程如图4.5-1所示
2)修改的存储过程代码如下,创建界面如图4.5-2所示。
createprocupdate_学生
@xhchar(8),@xmnvarchar(4),@xbnchar
(1),@csrqdatetime,@bjdmchar(6),
@zzmmchar(10),@jgnchar(10),@zzvarchar(40),@mzvarchar(20)
as
update学生set姓名=@xm,性别=@xb,出生日期=@csrq,班级代号=@bjdm,
政治面貌=@zzmm,籍贯=@jg,住址=@zz,民族=@mzwhere学号=@xh
return
修改的存储过程界面如图4.5-2所示
3)删除的储存过程代码如下,创建界面如图4.5-3所示。
createprocdelete_学生dcj
@zzmmchar(10)
as
deletefrom学生dcjwhere政治面貌=@zzmm
return
删除的储存过程如图4.5-3所示
(2)对系部表
1)插入的存储过程代码如下,创建界面如图4-13所示。
createprocinsert_系部
@xdmchar
(2),@xqcnvarchar(15),@xjcnvarchar(10)
as
insertinto系部values(@xdm,@xqc,@xjc)
return
插入的存储过程界面如图4-13所示
2)修改的存储过程代码如下,创建界面如图4-14所示。
createprocupdate_系部
@xdmchar
(2),@xqcnvarchar(15),@xjcnvarchar(10)
as
update系部set系部全称=@xqc,系部简称=@xjcwhere系部编号=@xdm
return
修改的存储过程界面如图4-14所示
3)删除的存储过程代码如下,创建界面如图4-15所示。
createprocdelete_系部
@xdmchar
(2)
as
deletefrom系部where系部编号=@xdm
return
删除的存储过程界面如图4-15所示
(3)对班级表
1)插入的储存过程代码如下,创建界面如图4-16所示。
createprocinsert_班级
@bjdmchar(6),@bjmvarchar(50),@xdmchar
(2),@zydmchar(4)
as
insertinto班级values(@bjdm,@bjm,@xdm,@zydm)
return
对班级表插入的储存过程界面如图4-16所示
2)修改的存储过程代码如下,创建界面如图4-17所示。
createprocupdate_班级
@bjdhchar(6),@bjmvarchar(50),@njchar(6),@zydhchar(4)
as
update班级set班级名=@bjm,年级=@nj,专业代号=@zydhwhere班级代号=@bjdh
return
对班级表修改的存储过程界面如图4-17所示
3)删除的存储过程代码如下,创建界面如图4-18所示。
createprocdelete_班级
@bjdmchar(6)
as
deletefrom班级where班级代号=@bjdm
return
对班级表删除的存储过程创建界面如图4-18所示
(4)对课程表
1)插入的存储过程代码如下,创建界面如图4-19所示。
createprocinsert_课程
@kcdhchar(8),@kcqcchar(20),@kcjcchar(10),@xfint,@xssint,@sfxxchar
(2)
as
insertinto课程(课程代号,课程全称,课程简称,学分,学时数,是否选修)
values(@kcdh,@kcqc,@kcjc,@xf,@xss,@sfxx)
go
对课程表插入的存储过程界面如图4-19所示
2)修改的存储过程代码如下,创建界面如图4-20所示。
createprocalter_课程
@kcdhchar(8),@kcqcchar(20),@kcjcchar(10),@xfint,@xssint,@sfxxchar
(2)
as
updatekc
set课程代号=kcdh,课程全称=@kcqc,课程简称=kcjc,学分=xf,
学时数=xss,是否选修=sfxx
where课程代号=@kcdh
对课程表修改的存储过程创建界面如图4-20所示
3)删除的存储过程代码如下,创建界面如图4-21所示。
createprocdelete_课程
@kcdhchar(8),@kcqcchar(20),@kcjcchar(10),@xfint,@xssint,@sfxxchar
(2)
as
delete课程
where课程代号=@kcdh
对课程表删除的存储过程界面如图4-21所示
(5)对成绩表
1)插入的存储过程代码如下,创建界面如图4-22所示。
createprocinsert_成绩
@xhchar(8),@kcdhchar(8),@kkxqchar(6),@kssjdatetime,
@kslxchar(4),@cjint,@khkchar(6)
as
insertinto成绩(学号,课程代号,开课学期,
考试时间,考试类型,成绩,考核课)
values(@xh,@kcdh,@kkxq,@kssj,@kslx,@cj,@khk)
go
对成绩表插入的存储过程界面如图4-22所示
2)修改的存储过程代码如下,创建界面如图4-23所示。
createprocalter_成绩
@xhchar(8),@kcdhchar(8),@kkxqchar(6),@kssjdatetime,
@kslxchar(4),@cjint,@khkchar(6)
as
updatecj
set学号=@xh,课程代号=@kcdh,开课学期=@kkxq,
考试时间=@kssj,考试类型=@kslx,成绩=@cj,考核课=@khk
where学号=@xh
对成绩表修改的存储过程界面如图4-23所示
3)删除的存储过程代码如下,创建界面如图4-24所示。
createprocdelete_成绩
@xhchar(8),@kcdhchar(8),@kkxqchar(6),@kssjdatetime,
@kslxchar(4),@cjint,@khkchar(6)
as
delete成绩
where学号=@xh
对成绩表删除的存储过程界面如图4-24所示
(6)创建查询存储过程
1)按学号查询成绩的存储过程代码如下,创建界面如图4-25所示。
createproc按学号查询成绩
@xhchar(8)
as
select*from成绩where学号=@
按学号查询成绩的存储界面如图4-25所示
2)查询党员的存储过程代码如下,创建界面如图4-26所示。
createproc党员查询
as
select*from学生表
where政治面貌='党员'
查询党员的存储过程创建界面如图4-26所示
3)按学号查询班级和系部的存储过程代码如下,创建界面如图4-27所示。
createprocsel_班级和系部
@xhchar(8)
as
begin
select学号,姓名,班级代号,系部编号from学生,
系部where学号=@xh
end
return
按学号查询班级和系部的存储界面如图4-27所示
4)按学号查询成绩等级的存储过程代码如下,创建界面如图4-28所示。
createprocsel_选课成绩等级
@xhchar(8)
as
begin
select学号,成绩from选课where学号=@xh
orderby成绩desc
end
return
按学号查询成绩等级的存储过程界面如图4-28所示
4.6创建触发器
1)对学生表创建插入、更新、删除触发器代码如下,创建界面如图4-29所示。
createtrigger学生变动
on学生
forinsert,update,delete
as
begin
declare@ichar
(2)
set@i=str(@@rowcount,2)
print'有'+@i+'条记录被更新'
end
return
对学生表创建插入、更新、删除触发器界面如图4-29所示
2)对班级表创建插入、更新、删除触发器代码如下,创建界面如图4-30所示。
createtrigger班级变动
on班级
forinsert,update,delete
as
begin
declare@ichar
(2)
set@i=str(@@rowcount,2)
print'有'+@i+'条记录被更新'
end
return
对班级表创建插入、更新、删除触发器界面如图4-30所示
4)对系部表创建插入、更新、删除触发器代码如下,创建界面如图4-31所示。
createtrigger系部变动
on系部
forinsert,update,delete
as
begin
declare@ichar
(2)
set@i=str(@@rowcount,2)
print'有'+@i+'条记录被更新'
end
return
对系部表创建插入、更新、删除触发器创建界面如图4-31所示
5)对课程表创建插入、更新、删除触发器代码如下,创建界面如图4-32所示。
createtrigger课程变动
on课程
forinsert,update,delete
as
begin
declare@ichar
(2)
set@i=str(@@rowcount,2)
print'有'+@i+'条记录被更新'
end
return
对课程表创建插入、更新、删除触发器界面如图4-32所示
6)对成绩表创建插入、更新、删除触发器代码如下,创建界面如图4-33所示。
createtrigger成绩变动
on成绩
forinsert,update,delete
as
begin
declare@ichar
(2)
set@i=str(@@rowcount,2)
print'有'+@i+'条记录被更新'
end
return
对成绩表创建插入、更新、删除触发器界面如图4-33所示
5系统界面及代码设计
5.1设计登陆窗口俄
打开vb应用程序,将出现的第一个窗口作为登陆界面
(1)界面设计,界面如图5-1所示
窗体属性设置(名称:
登陆界面,caption:
09131133,picture:
找到自己所存储的照片)
界面设计,界面如图5-1所示
(2)属性设置,如表5-1所示:
(文本框text省略,相同的省略)
表5-1登录界面属性设计
控件
属性
属性值
Lable1
Autosize
Ture
Caption
欢迎进入学生成绩管理系统
Back
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统