《数据库应用》人大网校考前练习题
- 格式:doc
- 大小:78.50 KB
- 文档页数:4
《数据库应用》2016年11月考试考前练习题
一、简答题
1. 数据完整性包括哪些?如何实现?
2. 聚集索引与非聚集索引之间有哪些不同点?
3. 创建索引的好处主要有哪些?
4. 简述在create table语句和alter table语句中定义外键或关系的语法。
5. 简述使用存储过程有哪些优缺点?
6. TRUNCATE TABLE语句是否会激活DELETE触发器?在触发器中的SQL语句有哪些限制?
7. 对SQL Server实例访问,SQL Server 2008支持哪几种身份验证模式?有几类角色?
8. 试述T-SQL语言的特点。
9. 数据库、数据库系统与数据库管理系统的区别是什么?
10. 简述表的索引的含义。
11. 为什么说视图是虚表?视图的数据存在什么地方?
附:参考答案
1. 数据完整性包括哪些?如何实现?
解答:数据完整性包括实体完整性,域完整性,引用完整性,用户定义完整性,通过在表中,列中,表与表之间设置主键、唯一键、外键、CHECK约束等可以实现。
2. 聚集索引与非聚集索引之间有哪些不同点?
解答:聚集索引会对表进行物理排序,而非聚集索引不会对表进行物理排序。
3. 创建索引的好处主要有哪些?
解答:创建索引好处主要是加快数据查询和加快表的连接、排序和分组工作。
4. 简述在create table语句和alter table语句中定义外键或关系的语法。
解答:在create table语句中定义关系,只要在外键列的后面加上以下说明即可。
constraint 关系名 foreign key references 主键表(主键列)
其中"关系名"的格式为:
FK_外键表名_主键表名
alter table语句中定义关系的语法:
alter table 表名
add foreign key (列名) references 主键表(主键列)
5. 简述使用存储过程有哪些优缺点?
解答:
优点:
(1)减少网络流量。
(2)提高系统性能。
(3)安全性高。
(4)可重用性好。
(5)可自动完成需要预先执行的任务。
缺点:
移植性较差,增加数据库服务器压力。
6. TRUNCATE TABLE语句是否会激活DELETE触发器?在触发器中的SQL语句有哪些限制? 1 解答:
由于TRUNCATE TABLE语句的操作不被记录到事务日志,所以它不会激活DELETE触发器。所有建立和修改数据库及其对象的语句、所有DROP语句都不允许在触发器中使用。
7. 对SQL Server实例访问,SQL Server 2008支持哪几种身份验证模式?有几类角色?
解答:
SQL Server 2008支持两种身份验证模式:Windows身份验证模式和混合身份验证模式。有三类角色:管理服务器角色、管理数据库角色、管理应用程序角色。
8. 试述T-SQL语言的特点。
解答:
特点包括:1)一体化。T-SQL语言包含4个组成元素: 数据查询语言、数据操纵语言DML、数据定义语言DDL和数据控制语言。这些元素集数据定义、数据查询、数据操纵、数据控制、事务管理和附加语言元素为一体,方便用户使用。2)两种使用方式:T-SQL支持交互方式和嵌入式方式。3)非过程化语言。在T-SQL语句中,用户只需指出"做什么",而不需要指出系统"如何做",语句具体的操作过程由系统自动完成。4)以记录集合作为操作对象。5)类似于人的思维习惯,容易理解和掌握。
9. 数据库、数据库系统与数据库管理系统的区别是什么?
解答:
数据库是以一定的组织形式存放在计算机中的相关数据的集合。
数据库系统是指在计算机系统中引入数据库后的一个完整的应用系统。包括数据库、数据库管理系统、应用程序以及用户等。在大型数据库系统中,还专门设有数据库管理员(DBA)。
数据库管理系统是指帮助用户建立、使用和管理数据库的计算机软件。其功能包括数据定义、数据操作、数据库及数据库维护等。
10. 简述表的索引的含义。
解答:
索引是由表中的一个或多个列生成的键值,是反映表中数据存储位置的指针。设计良好的索引可以快速确定表中数据的存储位置,能显著提高数据库的查询速度。
11. 为什么说视图是虚表?视图的数据存在什么地方?
解答:
视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据。视图通过定义从基表中搜集数据,并展现给用户。数据存储在对应的数据表中。
二、操作题
1. 现有一个数据库"test"。请用T-SQL语言完成下面操作。
(1)向"test"数据库中添加一个辅助数据文件,逻辑文件名为"test1",物理文件名为"test1.ndf",文件存放在D盘的"data"目录下。要求文件初始大小为20M,增长方式为每次增长10M。
(2)修改"test1.ndf"文件,将其大小改为50M。
(3)删除"test1.ndf"文件。
2. 用SQL语言创建一个"职工"数据表,包含职工号 char(6)、姓名 nvarchar(4)、性别 nchar(1)、部门 nvarchar(10)字段。设置"职工号"主键、"姓名"字段设置唯一约束、"部门"字段设置默认值为"销售处"。
3. 现有students数据库中的数据表"student"。完成下面任务。 2
(1)写出创建INSTEAD OF触发器"tri_stuins"的SQL语句, 当用insert语句向学生表中插入数据时,阻止该操作并显示"学生表中禁止插入数据"。
(2)删除上面的存储过程。
附:参考答案
1、现有一个数据库"test"。请用T-SQL语言完成下面操作。
(1)向"test"数据库中添加一个辅助数据文件,逻辑文件名为"test1",物理文件名为"test1.ndf",文件存放在D盘的"data"目录下。要求文件初始大小为20M,增长方式为每次增长10M。
(2)修改"test1.ndf"文件,将其大小改为50M。
(3)删除"test1.ndf"文件。
解答:(1)T-SQL语句如下:
ALTER DATABASE test
ADD FILE
(NAME='test1',
FILENAME='d:\data\test1.ndf',
SIZE=20mb,
FILEGROWTH=10mb)
(2)T-SQL语句如下:
ALTER DATABASE test
MODIFY FILE
(NAME='test1',
SIZE=50mb)
(3)T-SQL语句如下:
ALTER DATABASE test
REMOVE FILE test1
2、用SQL语言创建一个"职工"数据表,包含职工号 char(6)、姓名 nvarchar(4)、性别 nchar(1)、部门 nvarchar(10)字段。设置"职工号"主键、"姓名"字段设置唯一约束、"部门"字段设置默认值为"销售处"。
解答:
create table 职工
(职工号 char(6) primary key,
姓名 nvarchar(4) unique,
性别 nchar(1),
部门 nvarchar(10) default('销售处')
)
3、现有students数据库中的数据表"student"。完成下面任务。 3
(1)写出创建INSTEAD OF触发器"tri_stuins"的SQL语句, 当用insert语句向学生表中插入数据时,阻止该操作并显示"学生表中禁止插入数据"。
(2)删除上面的存储过程。
解答:
(1)写出创建INSTEAD OF触发器"tri_stuins"的SQL语句, 当用insert语句向学生表中插入数据时,阻止该操作并显示"学生表中禁止插入数据"。
use students
go
create trigger tri_stuins on student
instead of insert
as
begin
print '学生表中禁止插入数据'
end
(2)删除上面的存储过程。
use students
drop trigger tri_stuins