实验学时: 2
每组人数: 1
实验类型: 1 (1:基础性 2:综合性 3:设计性 4:研究性)
实验要求: 1 (1:必修 2:选修 3:其它)
实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它)
一、实验目的
1.熟练掌握SQL Server的使用方法。
2. 熟练掌握使用SQL Server 200X的对象资源管理器以及SQL 的DDL完成数据库的创建、删除和连接方法;数据表的建立、删除;表结构的修改。
3. 加深对表的实体完整性、参照完整性和用户自定义完整性的理解。
二、实验内容
在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。用对象资源管理器(企业管理器)与SQL语句分别完成。
(1) 创建学生-课程数据库,数据文件名为student_data、大小10M,日志文件名为student_log、大小5M的新数据库,该数据库名为student_xxxx。xxxx表示班级学号。1班12号,数据库名为student_0112。
EG:
T-SQL建立数据库:
CREATE DATABASE csu_tcg
ON PRIMARY
( NAME = '123',
FILENAME ='e:\MSSQL\DATA\123.mdf' , --文件夹要先建好
SIZE = 3072KB , --单位可以M,K
FILEGROWTH = 1024KB )
LOG ON
( NAME = N'123_log',
FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\123_log.ldf' ,
SIZE = 1MB ,
FILEGROWTH = 10%)
GO /*go为事务提交一段SQL脚本(是隐形事务)的结束标志符。SQL Server 应用程序可将多条 Transact-SQL 语句作为一个批处理发给 SQL Server去执行。在此批处理中的语句编译成一个执行计划。程序员在SQL Server 实用工具中执行特定语句,或生成Transact-SQL 语句脚本在 SQL Server 实用工具中运行,用 GO 来标识批处理的结束*/
(2) 创建学生关系表S :
学号 |
姓名 |
性别 |
年龄 |
所在系 |
Sno |
Sname |
Ssex |
Sage |
sdept |
create table S
(Sno nchar(10) not null,
Sname nchar(10) not null,
Ssex nchar(10) not null,
Sage nchar(10) not null,
sdept nchar(10) not null
)
(3) 创建课程关系表C :
课程号 |
课程名 |
先行课 |
学分 |
Cno |
Cname |
Cpno |
ccredit |
(4) 创建学生-课程表SC :
学号 |
课程号 |
成绩 |
Sno |
Cno |
grade |
(5) 将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。在表中加入至少4个元组,第一个为本人信息。
insert into S values(‘姓名’,‘学号’',‘性别’,‘班');
insert into S values('班'); 这里同上
insert into S values('班'); 同上
insert into S values('班'); 同上
insert into S values('班'); 同上
insert into C values('01','编译原理','离散数学','3');
insert into C values('02','毛概','马克思','5');
insert into C values('03','数据库系统','汇编语言','3');
insert into C values('04','概率论','微积分','4');
insert into SC values('3','01','90');
insert into SC values('3','02','95');
insert into SC values('3','03','80');
insert into SC values('3','04','85');
insert into SC values('9','01','80');
insert into SC values('09','02','60');
insert into SC values('09','03','70');
insert into SC values('09','04','100');
insert into SC values('17','01','80');
insert into SC values('17','02','78');
insert into SC values('17','03','50');
insert into SC values('17','04','98');
insert into SC values('10','01','55');
insert into SC values(10','02','88');
insert into SC values('10','03','99');
insert into SC values('10','04','80');
insert into SC values('00','01','99');
insert into SC values('00','02','88');
insert into SC values('00','03','45');
insert into SC values('00','04','77');
(6) 在表S上增加“出生日期”属性列。
(7) 删除表S的“年龄” 属性列。
(10) 删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
use student alter table S drop column Sage;
(11)备份数据库,再还原。
backup database "student"
to disk = 'C:\Users\backupDB.db' with init
use master
restore database "student_0101" from disk = 'C:\Users\\backupDB.db'
with replace
三、实验要求:
1.预习数据库与表的建立方法;
2.预习备份数据库,还原数据库的方法;
3. 预习表结构的修改方法。
四、实验步骤
1.熟悉有关SQL SERVER的图形界面工作环境(参见后附录2 SQL Server 2005的使用)。
2.创建数据库或连接已建立的数据库。
3.在当前数据库上建立新表。
4.定义表的结构。
(1)用SQL命令形式
(2)用SQL SERVER提供的对象资源管理器(企业管理器)以交互方式进行
5. 将以上表的定义以 .SQL文件的形式保存在磁盘上。
6. 修改表的结构。
7. 删除表的定义。
五、实验报告
1.完成本项目实验后,学生应提交实验报告。
2.实验报告格式与要求见附录1。