SQL Server 2000实验指导书
实验一:SERVER SERVER网络数据库基础 实验目的:
1. 了解安装SQL SERVER 2000服务器版的硬件要求和软件环境。 2. 掌握SQL SERVER 2000服务器版的安装方法。 3. 掌握SQL SERVER服务器安装后的安全配置。 4. 掌握配置SQL SERVER 2000服务器的方法
5. 掌握在客户机上注册SQL SERVER 2000的方法 实验内容:
1)在客户机上安装SQL Server 2000系统
2)以WINDOWS XP为实验环境,以《安全配置清单》的要求为准做操作系统的安全配置
3)对客户机的SQL Server作安全配置:
安装数据库补丁包、修改SA账户密码、修改数据库默认端口 4)分别使用SQL Server 服务管理器和控制面板启动服务
5)在客户端创建一个服务器组teacher,并在此组下注册一个服务器。以服务器的SA用户登录,查看有哪些数据库及数据库有哪些对象。 6)在服务器上,建立自己的账户,并用该账户登录数据库服务器。
a) 在保证唯一性的前提下,建议账户名格式为:班级_学号 或 班
级_姓名全拼。密码由学生自己设定。
b) 请记住自己的账户和密码,以便以后实验时使用。
实验二:数据库操作 实验目的:
1)掌握用企业管理器和Transcat-SQL语句创建数据库的方法 2)掌握修改数据库、数据库更名的方法 3)掌握删除数据库的方法 实验内容:
数据库名称为学生用户名,具体要求如下:
1) 主要数据文件:逻辑文件名为Test1Data1,物理文件名为<库名1>.mdf,
初始容量为1MB,最大容量为10MB,增幅为1MB。
2) 次要数据文件:逻辑文件名为Test1Data2,物理文件名为<库名2>.ndf,
初始容量为1MB,最大容量为10MB,增幅为1MB。
3) 事务日志文件:逻辑文件名为Test1log1,物理文件名为<库名1>.ldf,初
始容量为1MB,最大容量为10MB,增幅为512KB。
要求如下:
1. 用SA用户名连接并登录到服务器。 2. 用企业管理器建立该数据库
3. 用企业管理器修改库的各个参数,并查验修改是否成功。
4. 删除该数据库
5. 在SQL查询分析器中输入并执行一个CREATE DATABASE 语句,创建该数据库。
6. 尝试用T-SQL语句修改各个参数,并查验修改是否成功。 7. 将该库备份到自己U盘中,并用T-SQL语句删除该库
8. 用U盘中的数据库备份文件,恢复数据库,设置个人用户的登录权限。
实验三:表的操作 实验目的:
本实验开始,要求学生用自己的帐号登录,并在自己的个人数据库里操作。 1)掌握利用企业管理器和Transact-SQL语句创建表、修改表以及删除表。 2)掌握INSERT、UPDATE、DELETE语句。 3)掌握创建、删除和修改各种约束的方法。 实验内容:
1.创建表,并创建相应的约束。要求:在学生管理数据库XSGL中创建如下三个表,创建名为student(学生信息)的表,表中的各列要求如下: 字段名称 字段类型 大小 说明 Sno Char 10 主键 Sname Char 8 Sex Char 2 默认值为男,只能输入男和女 Birthday Datetime Sdept Char 20 create table student (
Sno char(10) primary key, Sname char(8),
Sex varchar(2) default ('男') check(Sex in('男','女')) , Birthday datetime, Sdept char(20) )
创建名为course(课程信息)的表,表中的各列要求如下: 字段名称 字段类型 大小 说明 Cno Char 10 主键 Cname Char 30 唯一性 Ccredit Real Create table course (
Cno char(10) primary key, Cname char(30) unique, Ccredit real )
创建名为score(学生成绩)的表,表中的各列要求如下: 字段名称 字段类型 大小 取值范围 说明 Sno Char 10 数据来自学生信息表 主键 Cno Char 10 数据来自课程信息表 主键 Grade Real 0--100 2.创建score –>student表,以及score –>course表的外部键。 3. 增加、修改和删除字段,要求:
1)给student表增加一个memo(备注)字段,类型为varchar(200)。
alter table student add memo varchar(200) 2)将memo字段的类型修改为varchar(300)。
alter table student alter column memo varchar(300) 3)删除memo 字段。
alter table student drop column memo
4.向表中添加数据、更新数据、删除数据,并验证约束。要求
1)使用INSERT INTO 命令向三个表中分别插入若干数据,验证主键约束、唯一性约束以及默认值约束。
2)使用UPDATE命令更新数据,验证外键约束。 3)使用DELETE命令删除数据。
删除所有记录而不记录truncate table course 删除单个记录 delete *
5.建立一个测试表,并删除表: 1)利用企业管理器删除表。
2)利用DROP TABLE语句删除表。
实验四:数据高级查询技术
实验目的:掌握使用SELECT语句查询数据。 实验内容:
实验表结构以上节时间索建立的表为实验表,保证各个表中有若干合法数据
要求:写出相应的命令并验证查询结果的正确性: 1) 查询全体学生的学号、姓名、所在系。
Select Cno,Cname,xi from table select Sname,Sno,sdept from student2
2) 查询所有年龄在20岁以下的学生姓名及年龄。
select Sname,datediff(year,Birthday,getdate()) from student where datediff(year,Birthday,getdate())<20 select Sname as 姓名, (YEAR( GETDATE( ))-YEAR(birthday)) as 年龄 from student2
where (YEAR( GETDATE( ))-YEAR(birthday))<20
3) 查询年龄在20~25岁(包括20,25)之间的学生的姓名、系别和年龄。
select
Sname,Sdept,datediff(year,Birthday,getdate())
from
student
where
datediff(year,Birthday,getdate())>=20 and datediff(year,Birthday,getdate())<=25
select Sname as 姓名, (YEAR( GETDATE( ))-YEAR(birthday)) as 年龄 ,sdept as 系部 from student2 where
(YEAR(
GETDATE(
))-YEAR(birthday))>=20
and
(YEAR( GETDATE( ))-YEAR(birthday))<=25
4) 查询不在信息系、数学系、也不在软件工程系学生的姓名和性别。
select Sname,Sex from student where Sdept not in('信息系','数学系','软件工程系') select Sname,Sex from student2
where sdept not in ('信息系','数学系','软件工程系')
5) 查询所有姓李且全名为三个汉字的学生的姓名、学号和性别。。
select Sname,Sno,Sex from student where left(Sname,2)='xi' and len(Sname)=3 select Sname,Sex,Sno from student2
where Sname like '李%' and len(Sname)=3
6) 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排序。
select Sno,Grade from score where Cno='3' order by Grade desc select sno,cno ,Grade from score
where cno=003 order by Grade desc
7) 查询全体学生的情况,结果按所在系的升序排序,同一系的按年龄的降序排
序。
select * from student order by Sdept Asc,Birthday Asc select *
from student2
order by Birthday asc,Sdept asc 8) 统计学生总人数。
select count(Sno) from student
select count(*)总人数 from student2 go
9) 查询选修了课程的学生平均在绩。
SELECT AVG(Grade) AS 平均成绩, Sno FROM score
GROUP BY Sno
order by AVG(Grade) desc
10) 计算1号课程的学生平均成绩。
select avg(Grade) as '平均成绩' from score where Cno='CNO_01'

