学生信息管理系统SQL需求分析报告.docx
- 文档编号:4824713
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:11
- 大小:81.46KB
学生信息管理系统SQL需求分析报告.docx
《学生信息管理系统SQL需求分析报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统SQL需求分析报告.docx(11页珍藏版)》请在冰豆网上搜索。
学生信息管理系统SQL需求分析报告
SQLServer课程设计报告
一:
需求分析阶段••….3
1.1分析阶段•…3
二:
概念结构设计阶段………………………………...……3
2.1实体间的联系…………………………….4
3:
逻辑结构设计阶段………………………………4
3.1系统中的关系模式………………………4
4:
物理结构设计阶段………………………………5
4.1数据结构…………………………………...5
4.2关系………………………………………...6
4.3存储过程…………………………………...6
4.4触发器…………………………………..….7
五:
实施阶段……………………………………………..….7
5.1创建数据库……………………………..….7
5.2创建备份………………………………..….7
5.3创建数据表文件………………………..….8
5.4创建存储过程…………………………..….9
5.5创建存储过程……………………………..15
六:
截图..…...16
.…17
七:
小结
学生信息管理系统
一:
需求分析阶段学生信息管理系统就是对学生信息的管理,所以首先我们需要知道的是学生有那些信息,并且是怎样进行分类的。
学生的信息包含1:
基本信息;2:
课程及成绩;3课程表。
基本信息根据要求应该包括学生的基本情况、获得奖励情况、受到处分情况、学生的家庭信息等;课程及成绩应该包含对应课程对应学生的成绩;课程表包含课程号及其先导课。
学生唯一一一对应的是学号,所以学号是唯一的主键,其他的都不能是,根据学号我们可以查找学生的姓名信息,还有学生的上过课的课程成绩等有关信息;根据学号,可以知道学生的各科成绩查询。
综合分析对信息管理系统分四个表:
学生基本信息(学号,姓名,性别,出生日期,学生所在系,班号,入校成绩,入学时间,电话,父亲,母亲,获得奖励情况,受到处分情况),学生成绩表(学号,课程号,成绩),课程表(课程号,课程名,教师姓名,先导课程)。
二:
概念结构设计阶段
实体间的联系:
1:
学生基本信息与学生成绩表中,学号是相同的,成绩表的学号依附于学生基本信息中的学号。
2:
课程表中的学号与,学生的基本信息中的学号有联系,可以根据学号知道一个学生的信息
3:
课程表中的课程号与学生成绩表中的课程号对应,课程表中的课程号依附于学生成绩表中的课程号。
4:
课程号于老师是一对一的关系,课程名对成绩是一对一的关系学号于课程号同样是一对多的关系,课程号对成绩是一对多的关系,一个学号和一个课程号对于成绩是一一对应的关系。
E-R图如下
三:
逻辑结构设计阶段
学生信息系统中的关系模式如下:
学生基本信息(学号,姓名,性别,出生日期,入校成绩,入学时间,电话,父亲,母亲,家庭住址,获得奖励情况,受到处分情况),主键是学号。
学生成绩表(学号,课程号,成绩),主键是学号+课程号。
课程表(课程号,课程名,教师姓名,先导课程)。
主键是课程号。
四:
物理结构设计阶段
1:
数据结构:
学生基本信息(学号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:
关系
程数据表与课程表的课程号建立父子关系,
学生基本信息与学生成绩表的学号建立父子关系。
3:
数据库名字为:
学生信息管理系统
逻辑数据库名:
学生信息管理系统
数据文件:
学生信息管理系统dat.mdf,初始大小:
1MB最大
空间为:
20MB增长量:
2MB
日志文件:
学生信息管理系统log.ldf,初始大小:
1MB最大
空间为:
20MB增长量:
2MB
备份设备名:
备份;备份文件:
学生信息管理备份。
4:
存储过程:
1能录入、修改、查询、输出学生的档案信息,这些信息包括学生的基本情况、简历情况、获得奖励情况、受到处分情况、学生的家庭信息、学生的体检情况;
2能录入、修改、查询、输出学生的入校成绩、各学期各门课的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。
5:
触发器:
修改学生基本信息中的学号同时修改学生成绩表中的学号修改课程数据表中的课程号,同时修改课程表中的课程号
删除学生基本信息的同学同时删除学生成绩中该生的信息
五:
实施阶段
1:
创建数据库
createdatabase学生信息管理系统
on
(name=学生信息管理系统,
学生信息管理系统.mdf',
size=1,
maxsize=20,
filegrowth=2
)
logon
(name=学生信息管理系统log,
学生信息管理系统log.ldf',
size=1,
maxsize=20,
filegrowth=2
)
2:
创建备份
sp_addumpdevice'disk','备份学生信息管理备份.dat'go
backupdatabase学生信息管理系统to备份
go
3:
创建数据表文件createtable学生基本信息
(
学号char(10)notnullprimarykey,姓名char(8)notnull,性别char
(2)notnull,出生日期datetimenotnull,入校成绩intnotnull,入学时间datetime,电话char(6)null,父亲char(6)null,母亲char(6)null,获得奖励情况varchar(20)null,受到处分情况varchar(10)null,)Gocreatetable学生成绩表(
学生基本
学号char(10)notnullforeignkey(学号)references信息(学号),课程号varchar(6)null,
成绩intnull
)
Gocreatetable课程表
(
课程号char(3)primarykey,课程名varchar(20),教师姓名varchar(8),先导课程char(3)
)
Go
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(@学号,@生名,@生别,@出生日期,@入校成绩,秋学时间,@
电话,@父亲,@母亲,@获得奖励情况,@受到处分情况)
Go
createprocedure修改学生基本信息
(@学号char(10),
@姓名char(8),
@生别char
(2),
@出生日期datetime,
@入校成绩int,
@入学时间datetime,
@电话char(6),
@父亲char(6),
@母亲char(6),
@获得奖励情况varchar(20),
@受到处分情况varchar(10)
asupdate学生基本信息set学号=@学号,姓名=@姓名,性别=@性别,出生日期=@出生日期,入校成绩=@入校成绩,入学时间=@入学时间,电话=@电话,父亲=@父亲,母亲=@母亲,获得奖励情况=@获得奖励情况,受到处分情况=@受到处分情况where学号=@学号gocreateprocedure查询学生基本信息(@学号char(10)
)
asselect*from学生基本信息where学号=@学号gocreateprocedure输出学生基本信息
(@学号char(10)
go
createprocedure录入学生成绩
(@学号char(10),
@课程号varchar(6),
@成绩int
)
as
insertinto学生成绩表
values(@学号,@课程号,@成绩)
go
createprocedure修改学生成绩
(
@学号char(10),
@课程名varchar(20),
@成绩int
)
asupdate学生成绩表
set成绩=@成绩where学号=@学号and课程号=(select
课程号from课程数据表where
课程名=@课程名)
gocreateprocedure查询学生成绩
(
@学号char(10),
@课程名varchar(20)
)
asselect成绩from学生成绩where学号=@学号and课程号=(select课程号from课程表where课程名=@课程名)go
createprocedure输出学生成绩
(
@学号char(10),
@课程名varchar(20)
)
asselect成绩from学生成绩where学号=@学号and课程号=(select课程号from课程表where课程名=@课程名)go
createprocedure录入入校成绩
(
@学号char(10),
@入校成绩int
values(@学号,@入校成绩)gocreateprocedure修改入校成绩(
@学号char(10),
@入校成绩int
)
asupdate学生基本信息
set入校成绩=@入校成绩where学号=@学号
go
createprocedure查询入校成绩
(@学号char(10)
)
asselect入校成绩from学生基本信息where学号=@学号go
createprocedure输出入校成绩
(
@学号char(10)
)
asselect入校成绩from学生基本信息where学号=@学号
go
createprocedure查询信息
(
@学号char(10)
)
asselect课程名,成绩from学生成绩表,课程数据表,课程表
where学生成绩表.课程号=课程表.课程号and学生成绩表.学号=@学号
go
createprocedure报表
(@学号char(10)
)
asselect课程名,成绩from学生成绩表,课程表where学生成绩表.课程号=课程表.课程号and学生成绩表.学号=@学号go
五:
创建触发器
createtrigger更新学号
on学生基本信息
forupdate
as
begin
if(columns_updated()&1)>0
update学生成绩表
set学生成绩表.学号=(selecta.学号frominserted
a)
where学生成绩表.学号=(selectb.学号from
deletedb)
end
createtrigger更新课程号
on课程表
forupdate
as
begin
if(columns_updated()&1)>0
update课程表
set课程表.课程号=(selecta.课程号frominserteda)where课程表.课程号=(selectb.课程号fromdeletedb)
end
createtrigger删除学号
on学生基本信息
fordelete
as
begin
where学生成绩表.学号二(select学号fromdeleted)end
六:
截图学生基本信息
-inixj
灰亲I
课程表
侖海一学生成3^^中的数匹■CE置是■手生信层昔
学号
1澡程号
成绩1
►
C01
ss
11ioo&oioi
CO4
ee
11IOO&OIOI
匚
g口
11100S0102
□02
TE
11100&0102
C03
7S
111DOB01O2
U04
60
1110060102
C05
71
111DO&O1O3
CO1
66
11100&0103
CO2
go
11100&0103
C03
92
11100&0103
C05
ez
111D0&0104
cai
78
lii00&0104
亡□左
si
111OOSti104
CO3
72
mou&oio^
匚口叫
es
1110060104
匚0日
77
11100S0105
C01
64
illOOSCilOS
C05
67
学生成绩表
七:
小结
通过对该课程的实验设计,我们不仅系统的复习了SQL的指令用法,
还深入了解了SQL数据库的功能,对Transact-SQL命令熟练运用。
欢迎
您的光临,Word文档下载后可修改编辑•双击可删除页眉页脚•谢谢!
让我们共同学习共同进步!
学无止境•更上一层楼。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 SQL 需求 分析 报告