SQL Server 试题--数据库、表基本操作选择题-综合操作题-一单元

发布时间 : 星期五 文章SQL Server 试题--数据库、表基本操作选择题-综合操作题-一单元更新完毕开始阅读

练习题1—数据库创建与管理

1.请在空白处填写合适的内容,以完善下列语句。

(1)创建一个名为company的用户数据库。其数据文件的初始大小为10MB,无最大限制,以10%的速度增长。日志文件的初始大小为1MB,最大为5MB,以1MB的速度增长。

create database on primary

(name=company_data,

filename=?D:\\MSSQL\\DATA\\company.mdf', SIZE= , MAXSIZE = , FILEGROWTH= ) log on

(name=company_log,

filename=?D:\\MSSQL\\DATA\\company.ldf', SIZE= , MAXSIZE = , FILEGROWTH= ) (2)将company数据库设置为只读状态。

EXEC SP_DBOPTION ? ?, ? ?,?true? (3)将company数据库的初始分配空间大小扩充到20MB。

ALTER DATABASE MODIFY FILE

(NAME= , SIZE= ) (4)将company用户数据库改名为corporation。

EXEC SP_DBOPTION ?company ?, ? ?, ?true? EXEC ?company ?, ?corporation?

EXEC SP_DBOPTION ?corporation?, ?single user?, ? ? (5)将corporation数据库的空间压缩至最小容量。

(?corporation?) (6)删除corporation数据库。

corporation 2.简答题

(1)SQL Server中包含了哪两种类型的数据库?

(2)系统数据库有哪些?它们各自的功能是什么? (3)创建用户数据库的方法有哪些?

练习题2—数据表的创建、修改

一、选择题

1.假如定义表时没有为一个CHAR数据类型的列指定长度,其默认长度是多少( )

A. 256 B. 1000 C.64 D.1 2.关系数据库是若干( )的集合。

A. 表(关系) B. 视图 C. 列 D.行 3.从下列选项中选择一个无效的数据类型( )。无

A. binary B. varchar C. time D.image 4.不允许在关系中出现重复记录的约束通过( )实现。

A.CHECK B. DEFAULT C. FOREIGN KEY D.PRIMARY KEY 或UNIQUE

5.参照完整性规则:表的( )必须是另一个表主键的有效值,或者是空值。

A. 次关键字 B. 外关键字 C. 主关键字 D.主属性 6.从表stud_info中删除一列telcode的命令是什么( )

A. ALTER TABLE stud_info DROP COLUMN telcode

B. ALTER TABLE stud_info REMOVE COLUMN telcode C. DROP COLUMN telcode FROM stud_info D.不能从表中删除一列

7.下列哪一条语句将在教师基本信息表teacher_info的teacher_id列上建立一个主键约束PK_teacher_id( )

A. CREATE PRIMARY KEY ON teacher_info(teacher_id)

B. CREATE CONSTRAINT PRIMARY KEY PK_teacher_id ON teacher_info(teacher_id) C. ALTER TABLE teacher_info

ADD CONSTRAINT PK_teacher_id PRIMARY KEY(teacher_id) D. ALTER TABLE teacher_info ADD PRIMARY KEY(teacher_id)

8.假如已经建立了表stud_score,该表有6条记录,当执行以下语句时,哪条说法是正确的 ALTER TABLE stud_score ADD exam_date DATE DEFAULT GETDATE( )

A.一个新的列exam_date 被添加到表stud_score中,并且已经存在的行中该列的值为

NULL

B.由于表中有数据,所以不能增加新的列

C.由于表中有数据,不能提供DEFAULT值

D. 一个新的列exam_date 被添加到表stud_score中,并且用当前系统日期和时间作为该列的值

9.下列哪条语句将成功地往表stud_score中加入一个新列exam_date( )

A.ALTER TABLE stud_score ADD COLUMN exam_date DATE B. ALTER TABLE stud_score ADD exam_date(DATE) C. ALTER TABLE stud_score ADD exam_date DATE

D. ALTER TABLE stud_score NEW COLUMN exam_date TYPE DATE 10.下列CHECK约束条件中哪个总是有效的?( )

A. CONSTRAIT sex_chk CHECK (sex IN (?男?,?女?))

B. CONSTRAIT birthday_chk CHECK (birthday>GETDATE( )) C. CONSTRAIT mark_chk CHECK (mark<560)

D. CONSTRAIT address_chk CHECK (address LIKE ?广州市%?)

二、填空题

1.对student数据库的stud_info学生信息表中的学号stud_id列建立一个名为xh_index索引。 USE student GO

CREATE INDEX xh_index ON stud_info (stud_id)

2.创建一个复合索引。为了方便按入学成绩和学号查找学生,为stud_info学生信息表创建一个基于“入学成绩,学号”组合列的非聚集、复合索引cj_xh_index,其语句如下: USE student GO

CREATE INDEX cj_xh_index ON stud_info (mark,stud_id)

3. 创建一个聚集、复合索引。

为stud_grade学生成绩表创建一个基于“学号,课程号”组合列的聚集、复合索引xhkc_index,其语句如下: USE student GO

CREATE clustered INDEX xhkc_index ON stud_grade(stud_id,course_id)

4. 创建一个唯一、聚集、复合索引。

为课程信息表course_info创建一个基于“课程号,课程类型”组合列的唯一、聚集、复合索引kc_lx_index,填充因子值为60。其语句如下: USE student GO

CREATE unique clustered INDEX kc_lx_index ON course_info(course_id,course_type)

WITH

PAD_INDEX,FILLFACTOR= 60

三、简答题

1.对已经建立的学生成绩表stud_grade中的课程号course_id列创建一个名为stud_course_id_index的索引。

CREATE INDEX stud_course_id_index ON stud_grade(course_id)

2.删除索引时所对应的数据表会删除吗?

3.请说明下列命令的作用。

EXEC sp_helpindex ?teacher_info?

4.写命令,清除student数据库中stud_info表的索引pk_xuehao上的碎片。 Use student Go

Dbcc indexdefrag(student,stud_info,pk_xuehao)

5.写命令,在student数据库中的stud_info表上查询所有男生的姓名和年龄,并显示查询处理过程中的磁盘活动统计信息。 Use student Go

Set statistics io on go

select stud_name as 姓名,year(getdate( ))-year(birthday) as 年龄 from stud_info where sex=?男? go

6.写命令,删除课程信息表course_info中已经建立的索引course_idx。 Use student Go

Drop index course_info.course_idx

7. 写命令,对表stud_score增加一列total_score,数据类型为int。 Use student Go

Alter table stud_score add total_score int

8.写命令,在student数据库中创建一个名为stud_info_gz的规则,并将其绑定到表stud_info中的性别sex列上,使用户输入的性别只能是“男”或者“女”,否则提示输入无效。

CREATE RULE stud_info_gz AS @sex in('男','女') go

exec sp_bindrule stud_info_gz,'stud_info.sex'

联系合同范文客服:xxxxx#qq.com(#替换为@)