文档库

最新最全的文档下载
当前位置:文档库 > 数据库复习资料

数据库复习资料

一.选择题

1.下列命题中不正确的是(B )

A.数据库减少了不必要的数据冗余

B.数据库中不存在冗余数据

C.数据库中的数据可以共享

D.冗余数据是可控的,则数据更新的一致性可以保证

2.关系数据库管理系统应能实现专门的关系运算包括( B )

A.排序、索引和统计

B.选择、投影和连接

C.关联、更新和排序

D.选取、投影和更新

3.下面的硬件设备,哪一个不是SQL Server 2000系统必备的(d )

A.CPU

B.RAM

C.显示器

D.打印机

4.SQL Server2000标准版不支持的操作系统是( C )

A.Windows 2000 Server

B.Windows NT Server

C.Windows98

D.Windows 2000 Advanced Server

5.下面关于tempdb数据库描述不正确的是( D )

A.是一个临时数据库

B.属于全局资源

C.没有权限限制

D.是用户建立新数据库的模板

6.SQL Server2000的字符型系统数据类型主要包括( B )

A.int、money、char

B.char、varchar、text

C.datetime、binary、int

D.char、varchar、int

7.语句“USE master GO SELECT * FROM sysfiles GO”包括( B)个批处理

A.1

B.2

C.3

D.4

8.当数据库损坏时,数据库管理员可通过何种方式恢复数据库( A )

A.事务日志文件

B.主数据文件

C.delete语句

D.联机帮助文件

9.使用“CREATE DATABASE AAA”命令所建立数据库文件的初始大小是(A )字节

A.1M

B.2M

C.3M

D.4M

10.在SQL语句中,以下有关ORDER BY子句的叙述中不正确的是( d )

A .ORDER BY子句可以对多个列进行排序

B.SELECT语句中,ORDER BY只能在所有其它子句之后作为最后一个子句出现

C.子查询中也可以使用ORDER BY 子句

D.在视图中不能使用ORDER BY子句

11.在分组检索中,要去掉不满足条件的分组和不满足条件的记录,应当( D)

A.使用where子句

B.使用having子句

C.先使用having子句,再使用where子句

D.先使用where子句,再使用having子句

12.表的主键约束是用来强制哪种数据完整性的( A )

A.实体完整性

B.参照完整性

C.域完整性

D.都是

13.表的检查约束是用来强制哪种数据完整性的( C )

A.实体完整性

B.参照完整性

C.域完整性

D.都是

14.若要对数据库进行日志备份,数据库必须设置为哪种恢复模型( B )

A.简单模型

B.完全模型

C.大容量日志记录模型

D.都可以

15.如果在数据库d1中创建了guest对表t1有insert权限,public对表t1有select权限,数据库用户名user1(对应的登录名为user1)对表t1有delete权限,若登录名为user2连接SQL Server服务器成功,它对表t1可执行的操作是( C )

A.select和delete

B.delete

C.select和insert

D.insert

二.填空题

1.DBMS(数据库管理系统)通常提供授权功能来控制不同的用户访问数据库中数据的权限,其目

的是为了数据的安全

2.数据库系统各类用户对它的各种操作请求(数据定义、查询、更新及各种控制)都是由一个复

杂的软件来完成,这个软件叫做数据库管理系统

3.在SQL Server2000中主要是通过使用查询分析器运行Transact-SQL语句

4.一般可以使用 go 命令来标识Transact-SQL批处理的结束

5.局部变量的开始标记为 @ ,全局变量的开始标记为 @@

6.数据库备份和恢复的Transact-SQL语句分别是 backup database 和 resourse database

7.select语句的查询数据源除了表以外还可以是视图

8.SQL Server2000中引入索引主要是为了加速查询速度,也可保证数据的惟一性

9.约束包括主键约束、外键约束、唯一约束、检查约束

10.存储过程可分类如下:系统存储、扩展存储过程、用户存储

11.对用户授予和收回数据库操作的语句关键字分别为和 revoke

12.要访问SQL Server2000数据库服务器,用户必须提供正确的用户名和密码

三.判断题

1.数据库系统不包含数据库管理系统( )

2.关系模式满足第二范式则它一定满足第一范式( )

3.在WindowsXP系统中安装SQL Server,所有的版本都可以安装( )

4.局部变量是系统自定义的变量,不能用set语句给它赋值( )

5.创建数据库时,filegrowth参数是用来设置数据库的最大容量的( )

6.create default语句不能与其他语句为于一个批中( )

7.一个规则可以绑定在多个列上( )

8.一个表只可以创建一个非聚集索引( )

9.使用存储过程比使用相同的SQL语句执行速度慢( )

10.一个登录帐号在某数据库中可以创建多个对应的数据库用户帐号( )

四、T-SQL填空题

设有一个顾客商品关系数据库,有三个基本表,表的结构如下

商品表Produt(商品号,商品名,单价,库存量)

客户表Customer(顾客号,顾客名,性别,年龄,电话)

订单表OrderItem(顾客号,商品号,数量,购买价,日期)

(1) 请用SQL语句ALTER TABIE 命令给商品表Product增加一个字段,字段名为:产地,数据类型

为:CHAR,长度为:30

ALTER TABLE produt 1

add(产地,CHAR (30)) 2

(2) 请用SQL语言检索一次订购的商品数量最多的顾客名

SELECT 顾客名

FROM Customer, orderitem 3

WHERE Customer. 顾客号= orderitem . 顾客号and =(SELECT max(数量) 5 FROM OrderItem)

(3) 请用SQL语句创建一个视图GM_VIEW,检索顾客的顾客号、顾客名和订购商品的商品名、金额

和日期(金额=数量*购买价)

CREATE view 6 GM_VIEW AS

SELECT Customer.顾客号,顾客名,商品名金额=数量*购买价,日期

FROM Product, Customer, OrderItem

WHERE produt.商品号=OrderItem.商品号 and Customer.顾客号= OrderItem.顾客号 8 (4) 为定单表(OrderItem)创建一个非簇集非唯一性索引IX_日期,要求按照日期降序排列

CREATE index 9 IX_日期

ON orderitem 10

五、综合题

假设在market数据库中有两个表,结构如下

goods表

数据库复习资料

数据库复习资料

Create database market

(2)编写打开market数据库,并在market数据库中创建orders表的语句,orders表结构见上表

Use market

Creat table orders

(订单号 int identity (1.1) primary key,

货品名称char(20) not null,forgein key references goods(货品名称),

数量 int not null check (数量>0))

(3)编写一个触发器ins_tri,当用户向orders表添加一条记录时,如果订购的数量大于该货品的库存量,则撤消该订单,否则自动修改goods表相应货品的库存量为“库存量—数量”

Create trigger ins tri

On orders

For inser

As

Declare @货品名称char(20) , @订购数量int ,@库存量int

Select @货品名称=货品名称,@订购数量=数量

From inserted , orders

Where inserted.货品名称=orders.货品名称

Select @库存量=库存量

From goods

Where 货品名称=@货品名称

If @订购数量>@库存量

Rollback transaction

Else

Begin

Update goods

Set 库存量=库存量-@订购数量

End

(4)编写一条select语句,查询orders表中货品包含“计算机”三个关键字的订单信息select *

from orders

where货品名称 like ‘%计算机%’

(5)编写一个存储过程proc1,查询指定了货品名称的订单信息,订单信息包括三列,其中金额是计算列,其值为“数量*单价”

Create pro proc1

As

Select 订单号、order.货品名称、金额=数量*单价

From goods, order

Where goods. 货品名称= order. 货品名称

参考答案

一.选择题

1. B

2. B

3. D

4. C

5. D

6. B

7. B

8. A

9. A10. D

11. D12. A13. C14. B15. C

二.填空题

1. 安全性

2. 数据库管理系统

3. 查询分析器

4. GO

5. @@

6. backup database restore database

7. 视图

8. 查询 9. 外键约束 10. 系统存储过程用户存储过程

11. grant 12. 登录帐号密码

三.判断题

1. ×

2. √

3. ×

4. ×

5. ×

6. √

7. √

8. ×

9. × 10. ×

四、T-SQL填空题

1.Product

2. add 产地 char(30)

3.OrderItem

4. Customer.顾客号=OrderItem.顾客号 and 数量

5.max(数量)

6. view

7. Customer.顾客号,顾客名,商品名金额=数量*购买价,日期

8.

9. index 10. OrderItem(日期 desc)

五、写出下面程序的运行结果

1. create database market

2. use market

Go

Create table orders

( 订单号int IDENTITY(1,1) primary key ,

货品名称char(20) not null forgein key references goods(货品名称),

数量int not null check( 数量>0)

}

3. create trigger ins_tri

On orders

For insert

As

4. select *

From orders

Where

5. create pro proc1

As

Select 定单号, order.货品名称,金额=数量*单价

From goods , orders

Where goods.货品名称=orders.货品名称