学生信息管理系统SQL需求分析Word文档下载推荐.docx

上传人:b****6 文档编号:21076270 上传时间:2023-01-27 格式:DOCX 页数:13 大小:58.93KB
下载 相关 举报
学生信息管理系统SQL需求分析Word文档下载推荐.docx_第1页
第1页 / 共13页
学生信息管理系统SQL需求分析Word文档下载推荐.docx_第2页
第2页 / 共13页
学生信息管理系统SQL需求分析Word文档下载推荐.docx_第3页
第3页 / 共13页
学生信息管理系统SQL需求分析Word文档下载推荐.docx_第4页
第4页 / 共13页
学生信息管理系统SQL需求分析Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

学生信息管理系统SQL需求分析Word文档下载推荐.docx

《学生信息管理系统SQL需求分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统SQL需求分析Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

学生信息管理系统SQL需求分析Word文档下载推荐.docx

五:

实施阶段……………………………………………..….7

5.1创建数据库……………………………..….7

5.2创建备份………………………………..….7

5.3创建数据表文件………………………..….8

5.4创建存储过程…………………………..….9

5.5创建存储过程……………………………..15

六:

截图………………………………………………..…...16

七:

小结………………………………………………….…17

学生信息管理系统

一:

需求分析阶段

学生信息管理系统就是对学生信息的管理,所以首先我们需要知道的是学生有那些信息,并且是怎样进行分类的。

学生的信息包含1:

基本信息;

2:

课程及成绩;

3课程表。

基本信息根据要求应该包括学生的基本情况、获得奖励情况、受到处分情况、学生的家庭信息等;

课程及成绩应该包含对应课程对应学生的成绩;

课程表包含课程号及其先导课。

学生唯一一一对应的是学号,所以学号是唯一的主键,其他的都不能是,根据学号我们可以查找学生的姓名信息,还有学生的上过课的课程成绩等有关信息;

根据学号,可以知道学生的各科成绩查询。

综合分析对信息管理系统分四个表:

学生基本信息(学号,姓名,性别,出生日期,学生所在系,班号,入校成绩,入学时间,电话,父亲,母亲,获得奖励情况,受到处分情况),

学生成绩表(学号,课程号,成绩),

课程表(课程号,课程名,教师姓名,先导课程)。

二:

概念结构设计阶段

实体间的联系:

1:

学生基本信息与学生成绩表中,学号是相同的,成绩表的学号依附于学生基本信息中的学号。

课程表中的学号与,学生的基本信息中的学号有联系,可以根据学号知道一个学生的信息。

3:

课程表中的课程号与学生成绩表中的课程号对应,课程表中的课程号依附于学生成绩表中的课程号。

4:

课程号于老师是一对一的关系,课程名对成绩是一对一的关系。

学号于课程号同样是一对多的关系,课程号对成绩是一对多的关系,一个学号和一个课程号对于成绩是一一对应的关系。

E-R图如下

三:

逻辑结构设计阶段

学生信息系统中的关系模式如下:

学生基本信息(学号,姓名,性别,出生日期,入校成绩,入学时间,电话,父亲,母亲,家庭住址,获得奖励情况,受到处分情况),主键是学号。

学生成绩表(学号,课程号,成绩),主键是学号+课程号。

主键是课程号。

四:

物理结构设计阶段

数据结构:

学生基本信息

(学号char(10)notnullprimarykey,

姓名char(8)notnull,

性别char

(2)notnull,

出生日期datetimenotnull,

学生所在系varchar(20)notnull,

入校成绩intnotnull,

入学时间datetimedefault(getdate())notnull,

电话char(6)null,

父亲char(6)null,

母亲char(6)null,

获得奖励情况varchar(20)null,

受到处分情况varchar(10)null;

学生成绩表

(学号char(10)notnullforeignkey(学号)references学生基本信息(学号),

课程号varchar(6)null,

成绩intnull);

课程表

(课程号char(3)primarykey,

课程名varchar(20),

教师姓名varchar(8),

先导课程char(3))

2:

关系

程数据表与课程表的课程号建立父子关系,

学生基本信息与学生成绩表的学号建立父子关系。

数据库名字为:

学生信息管理系统

逻辑数据库名:

数据文件:

学生信息管理系统dat.mdf,初始大小:

1MB,最大空间为:

20MB,增长量:

2MB。

日志文件:

学生信息管理系统log.ldf,初始大小:

备份设备名:

备份;

备份文件:

学生信息管理备份。

存储过程:

1能录入、修改、查询、输出学生的档案信息,这些信息包括学生的基本情况、简历情况、获得奖励情况、受到处分情况、学生的家庭信息、学生的体检情况;

2能录入、修改、查询、输出学生的入校成绩、各学期各门课的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。

5:

触发器:

修改学生基本信息中的学号同时修改学生成绩表中的学号

修改课程数据表中的课程号,同时修改课程表中的课程号

删除学生基本信息的同学同时删除学生成绩中该生的信息。

五:

实施阶段

1:

创建数据库

createdatabase学生信息管理系统

on

(name=学生信息管理系统,

filename='

d:

\sql\学生信息管理系统.mdf'

size=1,

maxsize=20,

filegrowth=2

logon

(name=学生信息管理系统log,

\sql\学生信息管理系统log.ldf'

创建备份

sp_addumpdevice'

disk'

'

备份'

\sql\学生信息管理备份.dat'

go

backupdatabase学生信息管理系统to备份

创建数据表文件

createtable学生基本信息

学号char(10)notnullprimarykey,

入学时间datetime,

受到处分情况varchar(10)null,

Go

createtable学生成绩表

学号char(10)notnullforeignkey(学号)references学生基本信息(学号),

成绩intnull

createtable课程表

课程号char(3)primarykey,

先导课程char(3)

4:

创建存储过程

createprocedure录入学生基本信息

(@学号char(10),

@姓名char(8),

@性别char

(2),

@出生日期datetime,

@入校成绩int,

@入学时间datetime,

@电话char(6),

@父亲char(6),

@母亲char(6),

@获得奖励情况varchar(20),

@受到处分情况varchar(10)

asif@学号isnullor@姓名isnullor@性别isnullor@出生日期isnullor@入校成绩isnull

print'

请输入完整信息!

'

elseinsertinto学生基本信息表

values(@学号,@姓名,@性别,@出生日期,@入校成绩,@入学时间,@电话,@父亲,@母亲,@获得奖励情况,@受到处分情况)

createprocedure修改学生基本信息

asupdate学生基本信息

set学号=@学号,

姓名=@姓名,

性别=@性别,

出生日期=@出生日期,

入校成绩=@入校成绩,

入学时间=@入学时间,

电话=@电话,

父亲=@父亲,

母亲=@母亲,

获得奖励情况=@获得奖励情况,

受到处分情况=@受到处分情况

where学号=@学号

createprocedure查询学生基本信息

(@学号char(10)

asselect*from学生基本信息where学号=@学号

createprocedure输出学生基本信息

createprocedure录入学生成绩

(@学号char(10),

@课程号varchar(6),

@成绩int

as

insertinto学生成绩表

values(@学号,@课程号,@成绩)

createprocedure修改学生成绩

@学号char(10),

@课程名varchar(20),

@成绩int

asupdate学生成绩表

set成绩=@成绩where学号=@学号and课程号=(select课程号from课程数据表where

课程名=@课程名)

createprocedure查询学生成绩

@课程名varchar(20)

asselect成绩from学生成绩where学号=@学号and课程号=(select课程号from课程表where课程名=@课程名)

createprocedure输出学生成绩

go

createprocedure录入入校成绩

@入校成绩int

asinsertinto学生基本信息(学号,入校成绩)

values(@学号,@入校成绩)

createprocedure修改入校成绩

asupdate学生基本信息

set入校成绩=@入校成绩where学号=@学号

createprocedure查询入校成绩

asselect入校成绩from学生基本信息where学号=@学号

createprocedure输出入校成绩

@学号char(10)

createprocedure查询信息

asselect课程名,成绩from学生成绩表,课程数据表,课程表where学生成绩表.课程号=课程表.课程号and学生成绩表.学号=@学号

createprocedure报表

(@学号char(10)

asselect课程名,成绩from学生成绩表,课程表where学生成绩表.课程号=课程表.课程号and学生成绩表.学号=@学号

创建触发器

createtrigger更新学号

on学生基本信息

forupdate

as

begin

if(columns_updated()&

1)>

0

update学生成绩表

set学生成绩表.学号=(selecta.学号frominserteda)

where学生成绩表.学号=(selectb.学号fromdeletedb)

end

createtrigger更新课程号

on课程表

update课程表

set课程表.课程号=(selecta.课程号frominserteda)

where课程表.课程号=(selectb.课程号fromdeletedb)

createtrigger删除学号

fordelete

as

begin

deletefrom学生成绩表

where学生成绩表.学号=(select学号fromdeleted)

end

截图

学生基本信息

课程表

小结

通过对该课程的实验设计,我们不仅系统的复习了SQL的指令用法,还深入了解了SQL数据库的功能,对Transact-SQL命令熟练运用。

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

当前位置:首页 > 外语学习 > 英语学习

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

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