SQL Server课程设计报告(2)

2019-04-01 17:30

五物理结构设计

(1) 数据结构:设置每一数据表的属性名,类型,宽度。 (2)设置参照属性:

成绩信息(课程号,学号,分数)的学号参照学生基本信息的学号。 成绩信息(课程号,学号,分数)的课程号参照课程基本信息的课程号。 (3)关系:

学生基本信息与成绩信息建立关于学号的关系。 课程基本信息与成绩信息建立关于课程号的关系。 (4)数据库名称:选课管理系统。 逻辑数据名称:选课管理系统。

数据文件:选课管理.mdf,初始大小:2MB,最大空间:20MB,增加量:2MB。 日志文件:选课管理_log.ldf,初始大小:2MB,最大空间:20MB,增加量:2MB。 备份设备名:rsxtbf,备份文件:rsbf.bak

(5)索引:对于每一数据表关于主关键字建立索引文件。 (6)设置触发器:

要求学生基本信息中的学号被修改时,学生的选修课信息表被修改。

要求在学生基本信息中插入新的学号时,学生的选修课信息表被插入新的学号。

要求在学生基本信息中删除工号时,学生的选修课信息表的学号被删除。

(7)设置视图:

为用户提供包含学号,姓名,性别,年龄,地址,专业班级,成绩,课程号的视图。 (8)设置存储过程:

根据用户所提交的成绩信息,为用户提供关于学生的学生基本信息(学号,姓名,

性别,年龄,地址,专业班级)。

根据用户所提交的成绩信息,为用户提供关于学生的选课信息(课程号,学号,

分数)。

6.源程序代码

6.1 数据库程序

create database 学生选课管理系统 on primary

(name=选课管理,

filename='d:\\选课管理.mdf', size=2,

maxsize=20, filegrowth=2) log on

(name=选课管理_log,

filename='d:\\ 选课管理_log.ldf', size=2,

maxsize=20,

filegrowth=2)

6.2 备份程序

sp_addumpdevice 'disk','rsxtbf','d:\\beifen\\rsbf.bak' go

backup database 学生选课管理系统 to rsbf

6.3 表程序

(1)学生表基本信息表的建立 Create table 学生基本信息

( 学号 char(9) not null,

专业班级 varchar(20) not null, 姓名 varchar(10) not null, 性别 varchar(2) not null, 年龄 char(2) ,

地址 varchar(20) not null, 电话 varchar(11) not null, constraint PK_STUDENT primary key (学号) )

(2)选修课程基本信息表的建立

Create table 选修课程基本信息

( 课程号 char(5) not null,

课程名 varchar(10) not null, 任课教师 varchar(8) not null,

教师电话 varchar(11) not null,

上课地点 varchar(20) not null, 学时 smallint not null, 学分 int not null,

constraint PK_COURSE primary key (课程号)

)

(3)成绩信息表的建立

Create table 成绩信息

( 成绩 varchar(3) not null,

学号 char(9) not null, 课程号 char(5) not null,

foreign key(学号) references 学生基本信息(学号),

foreign key(课程号) references 选修课程基本信息(课程号) )

6.4 视图

create view 学生基本信息视图(学号,专业班级,姓名,性别,年龄,地址,电话) as select.学生基本信息.学号,学生基本信息.专业班级,姓名,性别,年龄,地址,电话

from 学生基本信息,成绩信息

where 学生基本信息.学号=成绩信息.学号

6.5 存储过程定义

1.关于学生基本信息表的存储过程

create procedure yg

@xl varchar(8)=null

as if @xl is null

print '请输入学号!'

else

select 学生姓名,性别,地址,年龄,专业

from 学生基本信息,成绩信息

where学生基本信息.学号=成绩信息.学号

2.关于课程基本信息表的存储过程

create procedure yg

@xl varchar(8)=null

as if @xl is null

print '请输入课程号!'

else

select 学生姓名,性别,地址,年龄,专业

from 基本信息,成绩信息

where课程基本信息.课程号=成绩信息.课程号

6.6 触发器

(1).修改学号的触发器

create trigger goha on学生基本信息 for update as begin

if(columns_updated()&01)>0

update 成绩信息

set成绩信息.学号=(select a.学号 from inserted a)

where成绩信息.学号=(select b.学号 from deleted b) end

(2)修改课程号的触发器

create trigger goha on课程基本信息 for update as begin

if(columns_updated()&01)>0

update 成绩信息

set成绩信息.课程号=(select a.课程号 from inserted a) where成绩信息..课程号=(select b.课程号 from deleted b) end

(3)插入新学号的触发器

create trigger jbinsert on 学生基本信息

for insert as

if(columns_updated()&1)>0 begin

insert into 成绩信息(学号) select 学号,

end

(4)插入课程号的触发器

create trigger jbinsert on 选修课程基本信息

for insert as

if(columns_updated()&1)>0 begin

insert into 成绩信息(课程号) select 课程号,

end

(5)删除学号的触发器

create trigger check_delete on 学生基本信息 for delete as begin

delete成绩信息

where成绩信息.学号=(select 学号 from deleted) end

(6)删除课程号的触发器

create trigger check_delete on 选修课程基本信息 for delete as begin

delete成绩信息

where成绩信息.课程号=(select 课程号 from deleted) end

7.数据库表及时视图截图 (1)学生表基本信息表

(2)选修课程基本信息表


SQL Server课程设计报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:民法简答 案例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: