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

内容发布更新时间 : 2024/4/27 20:38:51星期一 下面是文章的全部内容请认真阅读。

练习题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'

9.简单说明下列命令的作用。

(1) DELETE FROM teacher_info

(2) ALTER TABLE teacher_info DROP COLUMN teacher_id

10. 写命令,更新课程信息表course_info中课程号coure_id值为“658001”的记录,将其课程名称(course_name)列值设置为“数据库管理”。

练习题(3)

1、根据关系数据基于的数据模型—关系模型的特征判断下列正确的一项:(___)

A、只存在一对多的实体关系,以图形方式来表示。

B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。 C、能体现一对多、多对多的关系,但不能体现一对一的关系。 D、关系模型数据库是数据库发展的最初阶段。

2、在“连接”组中有两种连接认证方式,其中在(___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。

A、Windows身份验证 B、SQL Server 身份验证 C、以超级用户身份登录时 D、其他方式登录时

3、关系数据库中,主键是(_1_),主键的建立有(_2_)种方法,当运用Transact-SQL语句创建主键时,可以是(_3_)。

⑴ A、为标识表中唯一的实体 B、创建唯一的索引,允许空值

C、只允许以表中第一字段建立 D、允许有多个主键的 ⑵ A、一 B、二 C、三 D、四 ⑶ A、create table table1

(column1 char(13) not null primary, column2 int not) on primary;

B、alter table table1 with notcheck add

constraint [PK_table1] primary key nonclustered ( column1) on primary;

C、alter table table1 column1 primary key ;

4、视图是一种常用的数据对象,它是提供(_1_)数据的另一种途径,可以简化数据库操作,当使用多个数据表来建立视图时,不允许在该语句中包括(_2_)等关键字。

⑴ A、查看,存放 B、查看,集中 C、插入,保存 D、删除,更新