学生信息管理系统.docx

上传人:b****5 文档编号:12395406 上传时间:2023-04-18 格式:DOCX 页数:76 大小:1.95MB
下载 相关 举报
学生信息管理系统.docx_第1页
第1页 / 共76页
学生信息管理系统.docx_第2页
第2页 / 共76页
学生信息管理系统.docx_第3页
第3页 / 共76页
学生信息管理系统.docx_第4页
第4页 / 共76页
学生信息管理系统.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

学生信息管理系统.docx

《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(76页珍藏版)》请在冰豆网上搜索。

学生信息管理系统.docx

学生信息管理系统

 

网络数据库

题目学生信息管理系统

 

姓名丁若峰

学号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

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

当前位置:首页 > 解决方案 > 解决方案

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

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