MSSQLServer数据定义语言实验报告.doc
文本预览下载声明
福建工程学院计算机与信息科学系
实验报告– 2011 学年第 2 学期 任课老师:
课程名称 数据库系统概论 班级 座号 姓名 实验题目 MS SQL Server 数据定义语言报告提交日期: 实验目的、要求 熟悉SQL Server200查询分析器。
掌握SQL语言的DDL语言,在SQL Server200环境下采用Transact-SQL实现表的定义、删除与修改,掌握索引的建立与删除方法。.创建数据库:
1)在SQL Server2000中建立一个StuDB数据库:(请先在D盘下创建DB文件夹)
有一个数据文件:逻辑名为StuData,文件名为“d:\db\StuDat.mdf”,文件初始大小为MB,文件的最大大小不受限制,文件的增长率为MB;
有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为MB,文件的最大大小为MB,文件的增长率为%
create database stuDB
on
(name=studata,
filename=d:\db\StuDat.mdf,
size=2MB,
filegrowth=2MB
)
log on
(name=StuLog,
filename=d:\db\StuLog.ldf,
size=1MB,
maxsize=10MB,
filegrowth=10%
)
Go
2.设置StuDB为当前数据库,在StuDB数据库中作如下操作:
设有如下关系表S:
S(CLASS,SNO, NAME, SEX, AGE),
其中:CLASS为班号,char(5) ;SNO为座号,char(2),座号不能为空;NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ,默认值为男;AGE为年龄,int,
年龄限制在至岁之间,表中主码为班号+座号。写出实现下列功能的SQL语句。
(1) 创建表S;
create table s
(sclass char(5) ,
sno char(2) not null,
sname char(10) unique,
sex char(2) default 男,
sage int check(sage=15 and sage=30),
primary key(sclass,sno),
)
(2) 插入一个记录班号李明,男性,岁;
再插入一个记录班号王丽,女性,岁;
insert into s values (95031,25,李明,男,21);
insert into s values (95101,10,王丽,女,20);
(3) 插入班座号为,名为郑和的学生记录;
insert into s( sclass,sno,sname) values(95031,30,郑和,NULL)
(4) 对表S,按年龄降序建索引(索引名为inxage);
CREATE UNIQUE index INXAGE ON S (SAGE DESC)
(5) 向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime);
alter table s add s_comedate datetime
对表S增加一个约束,入学时间的默认值为当前日期getdate()。
alter table s add constraint aa default (getdate()) for s_comedate
(7) 删除S表的inxage索引;
drop index s.inxage;
(8) 将年龄的数据类型改为smallint;
alter table s alter column sage smallint
(9) 删除S表;
drop table s
(10)按照《数据库系统概论》(第四版)P56页的学生-课程数据库创建STUDENT、COURSE和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。并输入相关数据。
create table student
(
sno char(9) primary key,
sname char(20) unique,
sex char(2),
sage smallint,
sdept char(20)
)
create table course
(
cno char(4) primary key,
cname char(40),
cpno char(4),
ccredit smallint,
foreign key (cpno) references course(cno)
)
create table sc
(
sno
显示全部