文档库

最新最全的文档下载
当前位置:文档库 > 第5章数据库习题参考答案

第5章数据库习题参考答案

1.选择题

(1)SQL 语言中,删除一个视图的命令是( B )。

A. DELETE

B. DROP

C. CLEAR

D. REMOVE

(2)建立索引的作用之一是 ( D )。

A . 节省存储空间 B. 便于管理

C . 提高查询速度 D. 提高查询和更新的速度

(3)以下关于主索引和候选索引的叙述正确的是 ( C )。

A .主索引和候选索引都能保证表记录的惟一性

B .主索引和候选索引都可以建立在数据库表和自由表上

第5章数据库习题参考答案

C .主索引可以保证表记录的惟一性,而候选索引不能

D .主索引和侯选索引是相同的概念

(4

)在数据库设计器中,不能完成的操作是( )。

第5章数据库习题参考答案

A .创建数据表关联

B

C .修改关联中的主键表和外键表

D .删除关联 (5)下面所列条目中,( C )不是标准的SQL 语句。 A. ALTER TABL

E B. CREATE TABLE C. ALTER VIEW D. CREATE VIEW

2.填空题

(1)索引是数据库中一种特殊类型的对象,它与( 数据库表 )有着紧密的关系。

(2)在数据库中,索引使数据库程序无需对整个表进行( 扫描 ),就可以在其中找到所需数据。

(3)在SQL Server 2000中可创建3种类型的索引,即惟一性索引、( 主键索引 )和聚集索引。

(4)视图是一个( 虚拟表 ),并不包含任何的物理数据。

(5)视图属性包括视图( 视图名称、权限、所有者、创建日期 )和用于创建视图的文本等几个方面。

3.问答题

(1)聚集索引与非聚集索引之间有哪些不同点?在一个表中是否可以建立多少个聚集索引和非聚集索引?

答:在建立了聚集索引的基本表中,表中各记录的物理顺序与索引键值的逻辑顺序相同;数据表中数据更改后需要对记录重新物理排序。而在只建立了非聚集索引的表中,记录的物理顺序不一定与索引键值保持一致;数据表中数据更改后,不需要对表中记录重新排序,只需要更新对应的索引即可。

一个基本表中只能建立一个聚集索引,但可以建立多个非聚集索引。

(2)一个复合索引中最多可以包含多少个字段?

答:SQL Server 中的复合索引就是由两个或多个字段组合而成的索引,是从索引的维护和管理角度来划分的索引类型,可以是聚集索引,也可以是非聚集索引,但不包括其中的惟一性索引,每个表只能建立一个聚集索引,但最多可以创建249个非聚集索引,一个索引包含的字段最大数目为16个,所有索引中所包含的字段字节长度之和不能超过900个字节。

(3)在哪些情况下SQL Server会自动建立索引?

答:如果表上尚未创建聚集索引,且将某字段设置为主键约束时未指定非聚集索引,则会自动创建惟一性聚集索引以强制实施该约束;在某字段上设置惟一性约束时,自动在该字段上创建惟一性非聚集索引以强制该约束。

(4)什么是视图?视图有哪些用途?

答:视图是一个虚拟表,同物理的基本表一样在逻辑上也包含一系列带有名称的列和数据行,但本身并不包含任何的物理数据,数据仍存放在定义视图的基本表中。对视图的操作与对表的操作一样,可以对其进行查询、修改和删除。当对通过视图看到的数据进行修改时,相应的基表的数据也会发生变化,同样,若基表的数据发生变化,这种变化也会自动地反应到视图中。

视图的用途:

(1)简化操作

通过视图可以对经常使用的联接、投影、联合查询操作简化用户操作数据的方式。

(2)定制数据

视图允许用户以不同的方式查看数据。

(3)导出数据

可以建立一个基于多表的视图,然后用SQL Server 的批复制程序(BCP)复制视图引用的数据行到一个文件中,而这个文件又可以被导入到excel等程序中供进一步分析使用。

(4)提高安全性

可以使用GRANT和REVOKE命令为各种用户授予在视图上的操作权限,但不授予用户在基本表上的操作权限。这样通过视图,用户只能查询或修改各自所能见到的数据,从而保证了数据的安全。

4.应用题

(1)使用向导对student_db数据库中st_info表建立一个索引。

答:在企业管理器中,单击主菜单“工具”\“向导”,弹出“选择向导”对话框,展开“数据库”节点后选择“创建索引向导”,然后按向导要求选择数据库为student_db,表st_info 和需要建立索引的字段列即可。

(2)使用企业管理器对student数据库的st_info表建立一个索引。

答:在企业管理器中,展开数据库节点,选择“student_db”数据库,再单击“表”,在右窗格中显示了所有该数据库的表,选择“st_info”表,鼠标右键弹出右键菜单,在菜单中选择“所有任务”\“管理索引”命令,弹出“管理索引”对话框,在对话框中,单击“新建”按钮,弹出“新建索引”对话框,在对话框中输入要创建的索引名称,再选择用于创建索引的列,并设置索引的各种选项,最后单击“确定”按钮完成索引的创建。

(3)使用企业管理器删除第5题中所建立的索引。

答:在企业管理器中选择要删除索引的表,鼠标右键在弹出菜单中单击“设计表”命令,弹出“设计表”对话框,在对话框的表编辑区单击鼠标右键,在弹出的菜单中单击“索引键”命令,弹出“属性”对话框,(会自动选定“索引/键”选项卡),从“选定的索引”列表中选择要删除的索引,并单击“删除”按钮,完成删除索引操作。

(4)使用向导在student_db数据库中建立一个视图。

答:在企业管理器中,单击主菜单“工具”\“向导”,弹出“选择向导”对话框,展开“数据库”节点后选择“创建视图向导”,然后按向导要求选择数据库为student_db,单击“下一步”按钮,然后选择需要包含在视图中的表后再按向导要求继续操作。

(5)使用企业管理器在student_db数据库中建立一个视图。

答:启动企业管理器,展开要创建视图的数据库student_db,右键单击“视图”项,在弹出的菜单中单击“新建视图”命令,弹出“新建视图”对话框。在“新建视图”对话框中首先单击“添加表”工具按钮或在选定区单击鼠标右键,在弹出的菜单中单击“添加表”命令,弹出“添加表”对话框。在“添加表”对话框中选择创建视图所需的表或视图,单击“添加”按钮,添加完后单击“关闭”按钮。在选定列区中选择将要在视图中所包含的数据列,此时将会在SQL脚本编辑区显示与之对应的SQL脚本。当选择完所有列后,单击工具栏中的“运行”按钮,在数据显示区将显示包含在视图中的数据行。单击“保存”按钮,弹出“另存为”对话框,输入视图的名字,单击“确定”按钮,完成视图创建的工作。

(6)使用CREATE VIEW语句在student_db数据库中建立一个视图。

答:例如创建一个名为stview1的视图,用于显示st_info表中所有姓“李”的学生信息:CREATE VIEW stview1 AS

SELECT * FROM st_info WHERE st_name LIKE '李%'

(7)使用ALTER VIEW语句修改题9中所建立的视图。

答:例如将视图stview1的查询要求修改为“所有姓“李”的男学生信息”:ALTER VIEW stview1 AS

SELECT * FROM st_info WHERE st_name LIKE '李%' AND st_sex = '男'

(8)使用系统存储过程sp_rename对第10题中所建立的视图进行重命名。

答:例如将视图stview1的名称重命名为stview1_new:

sp_rename stview1, stview1_new

(9)使用DROP VIEW命令删除第10题中所建立的视图。

答:例如将视图stview1从数据库中删除:

DROP VIEW stview1