学生信息管理系统实验报告
- 格式:doc
- 大小:1.84 MB
- 文档页数:23
学生信息管理系统实验报告
顾宏
一.需求分析
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率.
二.概念设计(E-R图)(表设计)
用sql-server绘制数据库模型关系图:
三.规范化设计
字段数据类型长度是否允许空值备注
四.存储过程设计
1)首先建立名为guhong的数据库:
2)定义guohong_student表:2)定义guohong_teacher表:
3)定义guohong_course表:4)定义guohong_score表:
5)查看MS企业管理器(多了四个表):
6)为数据库各表建立索引(如果各表的数据海量,可以加快查询的速度):
7)创建各表的存储过程:
drop procedure guhong_student_pro
go
create procedure guhong_student_pro
( @学号char(10),
@姓char (10),
@名char (10),
@性别char (5) ='男' ,
@住址char(100),
@班级char(30),
@专业char(30),
@邮箱char(30),
@电话号码char(15),
@备注text,
)
as
insert into guhong_student values(@学号, @姓,@名, @性别, @住址, @班级, @专业, @邮箱, @电话号码,@备注)
go
五.触发器设计
(1)插入触发器
触发guohong_student表
drop trigger guohong_student_insert_trig go
create trigger guohong_student_insert_trig on guohong_student
for insert
as
select * from guohong_student
go
当在guohong_student表中插入某一字段,将触发insert事件,
在guohong_student表插入该学生所一个部分新记录,并将结果显示到查询分析器上。
触发guohong_course表
drop trigger guohong_course_insert_trig
go
create trigger guohong_course_insert_trig
on guohong_course
for insert
as
go
当在guohong_course表中插入某一字段,将触发insert事件,
在guohong_course表插入该学生所一个部分新记录,并将结果显示到查询分析器上。
触发guohong_teacher表
drop trigger guohong_teacher_insert_trig
go
create trigger guohong_teacher_insert_trig
on guohong_teacher
for insert
as
go
当在guohong_teacher表中插入某一字段,将触发insert事件,
在guohong_teacher表插入该学生所一个部分新记录,并将结果显示到查询分析器上。
(2)更新触发器
创建一个触发器,它实现当guohong_student表中gh_st_id学号字段的更改,将同步实现guohong_score的学号的改变。
drop trigger guohong_score_update_trig
go
create Trigger guohong_score_update_trig
on guohong_student
for update
As
if update(gh_st_id)
begin
update guohong_score
set guohong_score.gh_st_id=i.gh_st_id
from guohong_score as br , deleted as d ,inserted as i
Where br.gh_st_id=d.gh_st_id
end
go
创建一个触发器,它实现当guohong_course表中gh_co_id课程号字段的更改,将同步实现guohong_score的课程号的改变。
drop trigger guohong_course_update_trig
go
create Trigger guohong_course_update_trig
on guohong_course
for update
As
if update(gh_co_id)
begin
update guohong_score
set guohong_score.gh_co_id=i.gh_co_id
from guohong_score as br , deleted as d ,inserted as i
Where br. gh_co_id =d. gh_co_id
end
go