mssqlserer2000--数据库操作题05-答题参考

本文围绕“学生信息”数据库展开操作,包括下载备份文件并还原,新建“个人信息”表,设置主键、索引、默认值和约束,创建视图,删除无学生选学的课程记录,复制特定学生信息并修改,查找特定课程优秀学生信息,编写存储过程,最后进行数据库完全备份、压缩并上传。

– 1单击此处下载数据库备份文件“src.rar”(winRar压缩包),还原到考生所用的系统中,数据库名为“学生信息”。
use master
go
restore filelistonly from disk=‘d:\操作题05\src\1.bak’
go
xp_cmdshell ‘md d:\data\studentdb’
go
restore database 学生信息 from disk=‘d:\操作题05\src\1.bak’
go
use 学生信息
go
– 2在数据库“学生信息”中,新建一名为“个人信息”表,表结构如下:
create table 个人信息(编码 char(10) NOT NULL
,姓名 char(8) NOT NULL
,性别 char(2) NOT NULL
,生日 datetime
,身份证号 char(18)
,家庭住址 varchar(50))
go
– 3将“个人信息”表“编码”列设置为主键。
alter table 个人信息
add constraint PK_个人信息_编号 primary key(编码)
go
– 4为“个人信息”表“身份证号”列建立唯一索引,索引名为“IX_个人信息_身份证号”。
create unique index IX_个人信息_身份证号 on 个人信息(身份证号)
go
– 5将“个人信息”表“性别”列的默认值设为“男”,并增加约束,该列只能输入“男”或“女”,约束名为“CK_个人信息_性别”。
alter table 个人信息
add constraint DF_个人信息_性别 default(‘男’) for 性别
go
alter table 个人信息
add constraint CK_个人信息_性别 check(性别=‘男’ or 性别=‘女’)
go
– 6创建一名为“学生总评成绩”的视图,仅由学生的学号、学生的姓名、学生所学课程的名称及总评成绩(列名:学号, 姓名, 课程名称, 总评成绩)。
create view 学生总评成绩
as
select 学生.学号, 姓名, 课程名称,课程.课程代码,总评成绩
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
go
– 7将课程表中至今没有学生选学的课程记录行删除。
delete from 课程
where
课程代码 not in(select 课程代码 from 成绩)
go
– 8将“学生”表所有名字只有两个字的学生信息复制到表“两字学生”中,再将表“两字学生”的姓名中间加入一全角的空格,例如姓名“张三”则更改为“张 三”。
select *
into 两字学生
from 学生
where
len(姓名)=2
go
update 两字学生
set 姓名=left(ltrim(rtrim(姓名)),1)+’ '+right(ltrim(rtrim(姓名)),1)
go
– 9查找选修了“C语言程序设计”且考试成绩在80分以上(≥80)的学生姓名、学号及考试成绩,并按降序排序,并将这些信息存到名为“C语言程序设计优秀”的新表中(列名:学号, 姓名, 考试成绩)。
select 学生.学号,姓名,考试成绩
into C语言程序设计优秀
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
where
课程名称=‘C语言程序设计’
and 考试成绩>=80
order by 考试成绩 desc
go
– 10编写存储过程“学生考试情况”,要求如下:
– (1)带一输入参数“@学号”,其开始代码严格如下:
– CREATE PROCEDURE 学生考试情况
– @学号 Char(10)
– AS
– (2)实现的功能是:根据输入参数“@学号”指定的学生,使用SELECT输出其考试的所有情况(包括学号、姓名、课程名称、考试成绩四列)。
create proc 学生考试情况
@学号 char(10)
as
select 学生.学号,姓名,课程名称,考试成绩
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
where
学生.学号=@学号
go
– 11 完全备份数据库“学生信息”,备份文件命名为“学生信息.bak”,将文件 “学生信息.bak”用WinRar压缩为“学生信息.rar”,上传到指定的服务器上。
– 单击此处上传“学生信息.rar”
use master
go
backup database 学生信息 to disk=‘d:\操作题05\学生信息.bak’
go
drop database 学生信息
go
xp_cmdshell ‘“C:\Program Files\WinRAR\RAR.exe” a -y d:\操作题05\学生信息.rar d:\操作题05\学生信息.bak >NULL’
go
–清理系统
xp_cmdshell ‘rd /s/q d:\data\ > NULL’
go

–最后,在网页界面,点击鼠标,完成压缩文件的上传。
–提示:
– 1 如果不习惯使用命令方式来解压文件和创建压缩文件,可以自行用鼠标右键的方式去解压缩和创建压缩文件包。
– 2 如果是多次反复备分和打包,则建议事先一定清理已经存在了的数据包或是文件,否则有可能会对最新生成的备份或是数据包造成影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值