文档详情

MSSQLServer数据定义语言实验报告.doc

发布:2017-08-25约7.68千字共8页下载文档
文本预览下载声明
福建工程学院计算机与信息科学系 实验报告– 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
显示全部
相似文档