SQL习题(附答案) 下载本文

习题一 一、选择题

1.数据库(DB.、DBMS、DBS 三者之间的关系( )。 A.DBMS 包含DB 和DBS B.DBS 包含DB 和DBMS C.DB 包含DBS 和DBMS D.DBS 就是DB,也就是DBMS 2.数据库系统的核心是( )。

A.数据库B.操作系统C.数据库管理系统D.文件

3.关系数据库中的视图属于数据库三级模式中的( )范畴。 A.外模式B.概念模式C.逻辑模式D.内模式

4.数据库技术是从20 世纪( )年代中期开始发展的。 A.60 B.70 C.80 D.90

5.相关数据按照一定的联系方式组织排列,并构成一定的结构,这种结构为(A.数据模型B.数据库C.关系模型D.数据库管理系统 6.若实体间的联系是M∶N,则将联系类型( )。 A.的属性加入任一个关系模式中

B.的属性加入N 端实体类型相对应的关系模式中 C.的属性加入M 端实体类型相对应的关系模式中 D.也转换为关系模型

7.关系数据库系统中,表的结构信息存储在( )。 A.表中B.数据字典中C.关系中D.指针中

8.数据库系统达到了数据独立性是因为采用了( )。 A.层次模型B. 网状模型C.关系模型D.三级模式结构

。 ) 9.在DBS 中,DBMS 和OS 的关系是( )。

A.相互协调B.DBMS 调用OS C.OS 调用DBMS D.互不调用 10.要保证数据库的逻辑数据独立性,需要修改的是( )。 A.模式与外模式之间的映像B.模式与内模式之间的映像 C.模式D.三级模式

11.在数据管理技术发展阶段中,相对人工管理而言,文件系统的主要优点是( )。

A.数据共享性强B.数据可长期保存C.采用数据结构D.数据独立性好 12.在数据库技术中,实体-联系模型是一种( )。

A.概念数据模型B.结构数据模型C.物理数据模型D.逻辑数据模型 13. 在人工管理阶段、数据是( )。 A.有结构的B.无结构的

C.整体结构化D.整体无结构,记录内有结构 14.在数据库中存储的是( )。

A.数据B.数据模型C.信息D.数据及其联系 第7 章Transact-SQL 程序设计 第2 页共30 页 2

15.在数据库三级模式结构中,描述数据库中全体数据的逻辑结构和特征的是( )。

A.外模式B.内模式C.模式D.存储模式

16.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是( )。

A.数据增加、数据修改、数据查询B.外模式、模式、内模式

C.实体、参照和用户自定义完整性D.数据结构、关系操作、完整性约束。 17.数据库系统中,用( )描述全部数据的整体逻辑结构。 A.外模式B.存储模式C.内模式D.概念模式

18.数据库系统中,用户使用的数据视图用( )描述,它是用户与数据库之间的接口。

A.外模式B.存储模式C.内模式D.概念模式 19.数据库系统达到了数据独立性是因为采用了( )。 A.层次模型B.网状模型C.关系模型D.三级模式结构

20.在关系数据库系统中,当关系的型改变时,用户程序也可以不变。这是( )。 A.数据的物理独立性B.数据的逻辑独立性 C.数据的位置独立性D.数据的存储独立性 21.逻辑数据独立性是指( )。

A.概念模式改变,外模式和应用程序不变B.概念模式改变,内模式不变 C.内模式改变,概念模式不变D.内模式改变,外模式和应用程序不变 22.物理数据独立性是指( )。

A.概念模式改变,内模式不变B.概念模式改变,外模式和应用程序不变 C.内模式改变,概念模式不变D.内模式改变,外模式和应用程序不变 23.在一个数据库中,模式与内模式的映像个数是( )。 A.1 个B.与用户个数相同C.由系统参数决定D.任意多个 24.在数据库中产生数据不一致的根本原因是( )。 A.数据存储量太大B.未对数据进行完整性控制

C.没有严格保护数据D.数据冗余

25.数据库中,数据的物理独立性是指( )。

A.数据库与数据库管理系统的相互独立B.用户程序与DBMS 的相互独立 C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立 二、填空题

1.数据库管理技术经历了人工管理、文件系统管理、( )三个阶段。 2.数据管理系统是管理( )的软件,简称DBMS,它总是基于某种模型的。 3.根据模型的应用目的,可将数据模型分为概念模型、( )、物理模型。 4.对现实世界进行第一层抽象的模型,称为( )模型。 5.在DBS 中,最接近于物理存储设备一级的结构,称为( )。 6.实体之间的联系可以有一对一、一对多和( )三种形式。 7.在关系数据模型中,二维表的列称为属性,二维表的行称为( )。 8.数据库系统在三级模式之间提供了( )和模式/内模式映像等两层映像。 第7 章Transact-SQL 程序设计 第3 页共30 页 3

9.层次模型是一种( )结构,而关系模型是一个二维表结构。 10.数据模型由数据结构、( )和完整性约束三要素组成。 11.数据管理基本环节是( )。

12.一个结点可以有多个双亲,结点之间可以有多种联系的模型是( )。 13.在信息世界中,将现实世界中客观存在并可相互识别的事物称为( )。

14.能唯一标识实体集中各实体的一个属性或一组属性称为该实体的( )。 15.在信息世界中,将现实世界中客观存在并可相互识别的事物称为( )。 16.以一定的组织结构保存在辅助存储器中的数据集合称为( )。 17.在( )中一个结点可以有多个双亲,结点之间可以有多种联系。 18.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( )。 19.概念模型是按( )的观点对数据建模,强调其语义表达能力。 20.数据库在磁盘上的基本组织形式是( )。 习题二 一、选择题

1.关系数据库中的关系必须满足每一属性都是( )。 A.互不相关的B.不可分解的C.长度不变的D.互相关联的 2.下列( )运算不是关系代数的运算。 A.连接B.投影C.笛卡尔积D.映射

3.当关系模式R∈3NF,下列说明中正确的是( )。 A.一定消除了存储异常B.仍有可能存在一定的存储异常 C.一定属于BCNF D.一定消除了数据冗余

4.在关系模型中,为了实现“关系中不允许出现相同元组”的约束应使用( )。 A.临时关键字B.主关键字C.外部关键字D.索引关键字 5.从关系模式中指定若干个属性组成新的关系的运算称为( )。 A.联接B.投影C.选择D.排序

6.设关系R、S 具有相同的目,且对应的属性值取自同一个域,则R∩S 可记作:( )。

A.{t|t∈R∨t∈S} B.{t|t∈R∧t?S} C.{t|t∈R∧t∈S} D.{t|t∈R∨t?S}

7.关于传统的集合运算说法正确的是( )。 A.并、交、差B.选择、投影、连接

C.连接、自然连接、查询连接D.查询、更新、定义 8.关系模型概念中,不含有多余属性的超键称为( )。 A.候选键B.对键C.内键D.主键

9.设R、S为两个关系,R的元数为4,S 的元数为5,则与S R∞< 3 2

等价的操作是( )。

A.σ3<6(R×S) B.σ3<2(R×S) C.σ3>6(R×S) D.σ7<2(R×S) 第7 章Transact-SQL 程序设计 第4 页共30 页 4

10.参与自然连接运算时,两个关系进行比较的分量,要求遵循( )。 A.必须是相同的属性组B.可以是不同的属性组,但属性值域相同 C.无限制D.必须是相同的关键字

11.关系代数语言是用对( )的集合运算来表达查询要求的方式。 A.实体B.域C.属性D.关系

12.关系演算语言是用( )来对关系表达查询要求的方式。 A.关系B.谓词C.代数D.属性 13.基本关系中,任意两个元组值( )。

A.可以相同B.必须完全相同C.必须全不同D.不能完全相同

14.实体完整性规则为:若属性A 是基本关系R 的主属性,则属性A 是( )。 A.可取空值B.不能取空值C.可取某定值D.都不对

15.对于某一指定的关系可能存在多个候选键,但只能选中其中的一个为( )。 A.替代键B.候选键C.主键D.关系

16.下面对于关系的叙述中,不正确的是( )。

A.关系中的每个属性是不可分解的B.在关系中元组的顺序是无关紧要的 C.任意的一个二维表都是一个关系D.每一个关系只有一种记录类型 17.设关系R、S 具有相同的目,且对应的属性值取自相同域,则R-(R-S)等于( )。

A.R∪S B.R∩S C.R×S D.R÷S 18.数据依赖讨论的问题是( )。

A.关系之间的数据关系B.元组之间的数据关系 C.属性之间的数据关系D.函数之间的数据关系 19.下列叙述中,不正确的是( )。

A.一个二维表就是一个关系,二维表的名就是关系的名 B.关系中的列称为属性,属性的个数称为关系的元或度 C.关系中的行称为元组,对关系的描述称为关系模式 D.属性的取值范围称为值域,元组中的一个属性值称为分量

20.设关系R 和S 的度分别为20 和30,广义笛卡尔积T=R×S,则T 的度为( )。 A.10 B.20 C.30 D.50

21.设关系R 和S 具有相同的度,且相应的属性取自同一个域。与集合{t|t∈R

∧t∈S}等

价的集合运算是( )。

A.R∪S B.R-S C.R×S D.R∩S

22.关系规范化是为了解决关系数据库中的( )问题而引入的理论和技术。 A.插入、删除异常和数据冗余B.查询速度 C.数据操作的复杂性D.函数之间的数据关系

23.在关系运算中,不要求关系R 与S 具有相同的目(属性及个数)运算是( )。 A.R×S B.R∪S C.R∩S D.R-S

24.如果在一个关系中,存在多个属性(或属性组)都能用来唯一标识该关系的元组,

且其任何子集都不具有这一特性。这些属性(或属性组)都被称为该关系的( )。 A.候选码B.主码C.外码D.连接码 第7 章Transact-SQL 程序设计 第5 页共30 页 5

25.下列关于规范化理论说法确的是( )。 A.满足二级范式的关系模式一定满足一级范式 B.对于一个关系模式来说,规范化越深越好 C.一级范式要求一非主码属性完全函数依赖关键字

D.规范化一般是通过分解各个关系模式实现的,但有时也有合并 二.填空题

1.设D1,D2 和D3 域的基数分别为2,3 和4,则D1×D2×D3 的每个元组有

( )个分量。

2.关系中的码可分为超码、主码、候选码、( )和外码五种。

3.学生关系中的班级号属性与班级关系中的班级号主码属性相对应,则班级号为学生关 系中的( )。

4.关系模型中,( )是关系模型必须满足并由DBMS 自动支持的完整性。 5.如果一个关系模式R 的每一个属性的域都包含单一的值,则称R 满足( )。 6.关系模式R 中,若每一个决定因素包含键,则关系模式R 属于( )。 7.设关系模式为R(A,B,C),关系内容为

R={{1,10,50},{2,10,60},{3,20,72},{4,30,60}},则

πA(σA>3(R))的运算结果中包含( )个元组,每个元组包含( )个分量。 8.关系R 和关系S 所有元组合并组成的集合,再删除去重复的元组是( )运算。

9.在概念模型中,一个实体集对应于关系模型中的一个( )。 10.用二维表数据来表示实体之间联系的数据模型称为( )。

11.在关系模型中,“关系中不允许出现相同元组”的约束是通过( )实现的。 12.在连接运算中,( )连接是去掉重复属性的等值连接。

13.设关系模式R 满足1NF,且所有非主属性完全函数依赖候选键,则R 满足( )。

14.关系模型的特点是把实体和联系都表示为( )。 15.当主键是( )时,只能是完全函数依赖。

16.设有关系模式R(A,B,C)和S(E,A,F),若R.A 是R 的主码,S.A 是S 的外

码,则S.A

的值或者等于R 中某个元组的主码值,或者取空值(null),这是( )完整性规则。

17.用值域的概念来定义关系,关系是属性值域笛卡尔积的一个( )。 18.如果关系模式R 满足( ),而且它的任何一个非主属性都不传递完全函数依赖候

选键,则R 满足( )。

19.在关系代数中,从两个关系的笛卡儿积中选取它们的属性或属性组间满足一定条件的

元组的操作称为( )。

20.关系代数是关系操纵语言的一种传统表示方式,它以集合代数为基础,它的运算对象

和运算结果均为( )。

21.在关系数据库的规范化所有理论中,起核心作用的是( )。

22.设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为

X(学生号,课程号,成绩),则姓名为变量K 的值的学生所选修的全部课程信息所对应的运算

表达式为( )∞π课程号(______∞(π姓名=K(______)))。

23.设有学生关系为S(学号,姓名),课程关系为C(课程号,课程名),选课关系为X(学号,

课程号,成绩),求出所有选课的学生信息的运算表达式为( )与( )的自然连

接。

第7 章Transact-SQL 程序设计 第6 页共30 页 6

24.在关系R 中,若存在“学号→系号,系号→系主任”,则存在( )函数决定( )。

25.若关系R∈3NF,且只有一个候选码,则表明它同时也达到了( )范式,该关系中

所有属性的( )都是候选码。 三.计算题

1.已知关系R 和S 如图2-3 和图2-4 所示,计算{t|S(t)∧?R(t)}。 A B C A B C a 4 d g 5 d b 2 h a 4 h b 6 h b 2 h c 3 e

图2-3 关系R 图2-4 关系S

2.已知关系R 和S 如图2-3 和图2-4 所示,计算{t|S(t)∧t[2]≥2∧t[3]=h}。 3.已知关系R、S 和W 如图2-5,图2-6 和图2-7 所示,求出下列域演算表达式的结果。 A B C A B C D E

a 2 f b 6 e e 7 d 5 h d 5 h k 6 g 3 f b 4 f b 7 f g 8 e

图2-5 关系R 图2-6 关系S 图2-7 关系S (1)R1={XYZ|R(XYZ)∧Y≤5∧Z=f)}

(2)R2={XYZ|R(XYZ)∨S(XYZ)∧Y≠6∧Z≠7)} (3)R3={YZVU|(?X)(S(XYZ)∧W(UV)∧Y≤6∧V=7)} 4.现有关系模式:

教师授课〔教师号,姓名,职称,课程号,课程名,学分,教科书名〕 其函数依赖集为:

{教师号→姓名,教师号→职称,课程号→课程名,课程号→学分,课程号→教科书名}

(1)指出这个关系模式的主码。

(2)这个关系模式是第几范式,为什么?

(3)将其分解为满足3NF 要求的关系模式〔分解后的关系模式名自定〕 第7 章Transact-SQL 程序设计 第7 页共30 页 7 习题三 一、选择题

1.SQL Server 2000 一种( )数据管理系统。

A.网状型B.关系型C.层次型D.网络型

2.SQL Server 2000 数据库系统是运行基于( )结构。 A.单用户B.主从式C.客户机/服务器D.浏览器 3.以下对SQL Server2000 描述不正确的是( )。 A.支持XML B.支持用户自定义函数 C.支持邮件集成D.支持网状数据模型

4.当SQL Server 2000 上运行一个非常大的数据库时,最好安装( )。 A.企业版B.标准版C.个人版D.开发版

5.提高SQL Server2000 性能的最佳方法之一是( )。 A.增大硬盘空间B.增加内存

C.减少数据量D.采用高分辨率显示器

6.SQL Server 2000 采用的身份验证模式有( )。

A.仅Windows 身份验证模式B.仅SQL Server 身份验证模式 C.仅混合模式D.Windows 身份验证模式和混合模式 7.如果希望完全安装SQL Server2000,则应选择( )。 A.典型安装B.最小安装C.自定义安装D.仅连接

8.要想使SQL Server2000 数据库管理系统开始工作,必须首先启动( )。 A.SQL Server 服务器B.查询分析器 C.网络实用工具D.数据导入和导出程序 9.用于配置客户端网络连接的工具是( )。 A.企业管理器B.客户端网络实用工具 C.查询分析器D.联机帮助文档

10.下列哪个数据库记录了SQL Server 在创建数据库时可以使用的模板( )。 A.master B.model C.pubs D.msdb

11.下列哪个数据库记录了SQL Server 的所有系统信息( )。 A.master B.model C.pubs D.msdb 12.以下组件中,( )不是SQL Server 的组件。 A.企业管理器B.查询分析器 C.服务管理器D.路由与远程访问

13.注册SQL Server 服务器时,以下哪个不是必须的( )。 A.服务器的名称B.身份验证模式

C.登录名和密码D.注册服务器所在服务器组名称 第7 章Transact-SQL 程序设计 第8 页共30 页 8

14.主要用于创建、执行和测试Transact-SQL 语句的管理工具是( )。 A.查询分析器B.服务管理器C.企业管理器D.客户端网络实用工具 15.以下哪个工具主要用来启动、停止、暂停SQL Server 的各种服务( )。 A.查询分析器B.服务管理器C.企业管理器D.客户端网络实用工具 16.SQL Server 2000 中能从事所有SQL Server 数据库操作的最重要工具是( )。

A.查询分析器B.服务管理器C.企业管理器D.客户端网络实用工具 17.在windows 系统“服务”组件中,SQL Server 的服务器名称为( )。 A.SQL Server B.MS SQLServer C.SQLSrv D.Microsoft SQL Server

18.下面关于tempdb 数据库描述不正确的是( )。D A.是一个临时数据库B.属于全局资源

C.没有权限限制D.是用户建立新数据库的模板

19.SQL Server 提供了9 大工具组件,其中运行在服务器端的组件是( )。A

A.服务器组件B.企业管理器组件C.查询分析器组件D.导入导出组件 20.关于SQL Server 2000 安装命名实例时,不正确的描述是( )。B A.最多只能用16 个字符 B.实例的名称是区分大小写

C.第一个字符只能使用文字、@、_和#符号

D.实例的名称不能使用Default 或MSSQLServer 这两个名字 二、填空题

1.SQL Server 默认的系统管理员用户名是( )。

2.SQL Server 2000 数据库应用的处理过程分布在( )和服务器上。 3.SQL Server 2000 安装时提供了两个示例数据库,分别是( )和pubs。 4.数据库管理系统是一种系统软件,它是数据库系统的( )。

5.SQL Server 2000 利用( )工具可以实现SQL Server 数据库与其它格式数据库转换。

6.SQL Server2000 与Windows 2000 等操作系统完全集成,可以使用操作系统的用户和

域账号作为数据库的( )。

7.默认情况下,企业管理器中SQL Server 2000 服务器的名字显示为( )。

8.安装SQL Server2000 时需要以本地( )身份登录操作系统。

9.如果在Windows NT/2000 上安装SQL Server 2000,需要事先设置至少一个( )。

10.在网络多用户环境下,在停止SQL Server 2000 服务之前,最好先执行( )操作。

11.SQL Server 在网络访问工作模式C/S 结构中是扮演( )端角色。 12.( )是SQL SERVER 2000 管理构架最主要的部分,绝大多数的管理任务都可以在 这里完成。

13.( )是交互式图形工具,它使数据库管理员或开发人员能够编写查询语句,同时

执行多个查询查看结果,分析查询语句和获得提高查询性能的帮助。 14.保存当前的查询命令或查询结果,系统默认的文件后缀为( )。 15.( )系统数据库主要用来进行复制、作业调度和管理报警等活动。 第7 章Transact-SQL 程序设计 第9 页共30 页 9

三、实践题

1.练习打开SQL Server 服务器的方法。

2.练习打开企业管理器和查询分析器的方法,并查看企业管理器中的内容。 3.练习和掌握服务器的注册方法。

4.有条件的同学可以练习安装SQL Server 2000。

习题四 一、选择题

1.( )不能放在任何文件组中。

A.主数据文件B.次数据文件C.操作系统文件D.事务日志文件 2.数据库的逻辑文件名命名必须遵循( )的命名规则。 A.操作系统文件名B.文件名C.标识符D.变量名 3.每个数据库至少含有( )个文件。 A.1 B.2 C.3 D.4

4.每个数据库含有( )个文件组。 A.1 B.1 到多个C.0 到多个D.2 个 5.扩展名为.mdf 的文件是( )。

A.主数据文件B.辅数据文件C.事务日志文件D.文件组文件 6.关于数据库文件组,下列说法不正确的是( )。

A.所有数据库都至少包含一个文件组,数据库创建初始时,主文件组是默认文件组

B.文件或文件组只能由一个数据库使用,不能属于不同的数据库 C.一个文件只能属于一个文件组,不能属于不同的文件组 D.事务日志文件必须存放在主文件组中

7.在SQL SERVER 中创建数据库,必须指明( )。 A.存储路径B.逻辑名C.数据文件名D.数据库名 8.删除数据库的命令是( )。

A.delete database B.create database C.drop database D.alter database

9.有关修改数据库的说法正确的是( )。

A.数据库名可以直接修改B.一次可以修改数据文件多个属性 C.不能修改文件组属性D.修改数据库时,必须断开连接服务器 10.有关删除文件组说法不正确的是( )。

A.可以通过企业管理器修改,也可以通过查询分析器输入T-SQL 语句修改。 B.删除文件组之前,首先必须删除其中包含的数据文件。

C.文件组类似于文件夹,因而可要可不要,删除不影响数据库的使用。 D.只能删除辅助文件组,但不能删除主文件组。 第7 章Transact-SQL 程序设计 第10 页共30 页 10

11.下列哪一项不是事物日志文件所具有的功能( )。 A.帮助用户进行计算和统计B.记载用户针对数据库进行的操作 C.维护数据的完整性D.帮助用户恢复数据库

12.SQL Server 数据库的物理存储文件主要包括3 类文件( )。

A.主数据文件、次数据文件、事务日志文件B.主数据文件、次数据文件、文本文件

C.表文件、索引文件、存储过程D.表文件、索引文件、图表文件 13.当数据库损坏时,数据库管理员可通过( )文件恢复数据库。 A.事务日志文件B.主数据文件C.辅数据文件D.联机帮助文件

14.安装SQL Server 后,数据库服务器自动建立系统数据库,其中不包括( )。 A.master B.pubs C.model D.msdb

15. 二、填空题

1.SQL Server 数据库分为系统数据库和( )。 2.事务日志文件的扩展名默认为( )。

3.用语句create database mn 创建数据时,自动创建的数据库文件逻辑名是( )。

4.文件组包括主文件组和辅文件组,主文件组包含主数据文件和( )。 5.可以通过SQL Server 属性(配置)对话框的( )选项卡修改新建数据库的默认目录。

6.数据库从一台计算机移到另一台计算机上,必须通过分离和( )功能实现。 7.可以通过( )命令压缩数据库文件的大小。 8.修改数据库名的系统存储过程命令是( )。

9.数据库建立初始时,( )是默认文件组,但用户可以将自定义文件组指定为默认 文件组。

10.创建数据库时,数据库的事务日志文件默认大小是( )。 三、实践题

1.在D 盘下stu 目录下建一个名为LX 的数据库,其中:

(1)主文件逻辑名lx_data,物理文件名为lx_data.mdf,初始大小为5MB,最大大小为

10MB,增长方式为1MB。

(2)事物日志文件逻辑名lx_log,物理文件名为lx_log.ldf,初始大小为2MB,

最大大小

为10MB,增长方式为5%。

2.修改刚才建立的数据库,修改如下:

(1)为其增加一个文件组dy,其中包含两个数据文件,逻辑名分别为dya 和dyb,物理

文件名对应dya.ndf 和dyb.ndf,其它属性默认值。

(2)为其增加一个事务日志文件,其中逻辑名dy_log,物理文件名为dy_log.ldf,初始大

小为1MB,最大大小为unlimited,增长方式为1MB。 (3)将数据库名称修改为studb。

3.将studb 数据库分离出来后,尝试删除其中事务日志文件,然后附加到当前计算机SQL

Server 服务器上,检查一下事务日志相关属性前后变化。 第7 章Transact-SQL 程序设计 第11 页共30 页 11

4.利用企业管理器在D 盘下stu 目录下创建一个数据库library,相关设置为默认值即可。 习题五 一、选择题

1.用来存储固定长度的非Unicode 字符数据,且最大长度不超过8000 个字符的是( )。

A.varchar B.nchar C.char D.nvarchar

2.下列哪种数据类型的列不能设置标识属性(identity 列)( )。 A.decimal B.int C.bigint D.char

3.下列哪种数据类型的列不能作为索引的列( )。 A.char B.image C.int D.datetime

4.在哪种索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同(A.聚集索引B.非聚集索引C.两者都行D.都不行 5.下列关于数据表的说明中,不正确的是( )。 A.每个数据库里最多存储20 亿个表 B.每个表最多创建249 个聚集索引 C.每个表最多存储1024 个字段

D.每条记录最多可以占8060 个字节,不包括text 和image 字段 6.关于SQL Server 的索引,下列说明正确的是( )。 A.使用索引能使数据库程序或用户快速查找需要的数据 B.聚集索引是指表中数据行的物理存储顺序与索引顺序完全相同 C.SQL Server 为主键约束自动建立聚集索引

D.聚集索引和非聚集索引均会影响表中记录的实际存放时间 7.用alter table 不可以修改表的( )内容。 A.表名B.增加列C.删除列D.列约束

8.下列关于SQL 语言中索引(Index)的叙述中,不正确的是( )。 A.索引是外模式

B.一个基本表上可以创建多个索引

)。 C.索引可以加快查询的执行速度

D.系统在存取数据时会自动选择合适的索引作为存取路径 9.要删除mytable 表中的myindex 索引,可以使用( )语句。 A.drop index mytable.myindex B.drop mytable.myindex C.drop index myindex D.drop myindex 10.下列关于alter table 语句叙述错误的是( )。 A.可以添加字段B.可以删除字段

C.可以修改字段名称D.可以修改字段数据类型

11.已知关系:student(sno,sname,grade),以下关于命令“create cluster index s index on

第7 章Transact-SQL 程序设计 第12 页共30 页 12

student(grade)”的描述中,正确的是( )。

A.按成绩降序创建了一个聚簇索引B.按成绩升序创建了一个聚簇索引 C.按成绩降序创建了一个非聚簇索引D.按成绩升序创建了一个非聚簇索引 12.使用下列哪种语句可以修改数据表( )。 A.create database B.create table C.alter database D.alter table

13.SQL Server 2000 系统提供的字符型数据类型主要包括( )。 A.int、money、char B.char、varchar、text C.datetime、binary、int D.char、varchar、int

14.在SQL Server 中存储图形图像、Word 文档文件,不可采用的数据类型是( )。

A.binary B.varbinary C.image D.text

15.下面关于Timestamp 数据类型描述正确的是( )。 A.是一种日期型数据类型B.是一种日期和时间组合型数据类型 C.可以替代传统的数据库加锁技术D.是一种双字节数据类型 16.alter [column]子句能够实现的功能是( )。 A.修改列名B.设置默认值或删除默认值 C.增加列D.改变列的属性

17.如果防止插入空值,应使用( )来进行约束。 A.unique 约束B.not null 约束 C.primary key 约束D.check 约束

18.关于规则对象和check 约束比较的说法错误的是( )。

A.check 约束是和规则对象一样,都是作为单独的数据库对象来实现的 B.在一列上只能使用一个规则,但可以使用多个约束

C.一个规则对象可以应用到多个列或用户自定义数据类型上,而check 约束只能应用到

一个列或多列的组合上

D.规则对象和check 约束一样,都是用来实现数据库中数据的域完整性约束 19.下面哪种情况不适合创建索引的是( )。 A.列的取值范围很少B.用作查询条件的列 C.频繁范围搜索的列D.连接中频繁使用的列

20.下列哪种数据类型不能被指定为主键,也不允许指定有Null 属性( )。 A.int、money、char B.char、varchar、text C.datetime、binary、int D.char、varchar、int 21.下面关于索引的描述不正确的是( )。 A.索引是一个指向表中数据的指针 B.索引是在元组上建立的一种数据库对象 C.索引的建立和撤消对表中的数据毫无影响 D.表被撤消时将同时撤消在其上建立的索引 22.以下哪种情况应尽量创建索引( )。

A.在where 子句中出现频率较高的列B.具有很多NULL 值的列 第7 章Transact-SQL 程序设计 第13 页共30 页 13

C.记录较少的基本表D.需要更新频繁的基本表

23.下面关于聚集索引和非聚集索引说法正确的是( )。 A.每个表只能建立一个非聚集索引 B.非聚集索引需要较多的硬盘空间和内存 C.一张表上不能同时建立聚集和非聚集索引 D.一个复合索引只能是聚集索引

24.当外键创建为列约束时,组成外键的列个数允许( )。 A.至多一个B.至多2 个C.至少一个D.至少2 个

25.在SQL Server 2000 中,索引的顺序和数据表的物理顺序相同的索引是(。 )

A.聚集索引B.非聚集索引C.主键索引D.唯一索引 二、填空题

1.SQL Server 提供了主键约束和外键约束共同维护( )完整性。 2.SQL Server 提供了( )约束和唯一性约束共同维护实体完整性。 3.在一个表上,最多可以定义( )个聚集索引。 4.在数据库标准语言SQL 中,空值是用( )表示。

5.为了使索引键的值在基本表中唯一,在创建索引的语句中应使用保留字( )。 6.SQL Server 中,表分为临时表和永久表,通常数据存储在( )表中。 7.永久表存储在用户数据库中,而临时表存储在( )数据库中。 8.索引是在列上定义的数据库对象,索引最多包含有( )个列。 9.创建主键约束自动创建( )索引。

10.使用( )命令可以将规则绑定到指定的表的列。

11.( )是对数据库中一列或多列的值进行排序的一种逻辑结构。 12.与check 约束基本功能相同的数据库对象是( )。

13.索引是在基本表的列上建立的一种数据库对象,使用它能够加快数据的( )速度。

14.表是由行和列组成的,行有时也称为记录或元组,列有时也称为( )或属性。

15.限制输入到列的值的范围,应使用( )约束。 三、实践题

1.利用企业管理器在library 数据库中创建“图书”表和“出版社”表,两表的表结构分

别定义如表5-16 和表5-17 所示。

表5-16 “图书”表结构表5-17 “出版社”表结构 列名数据类型是否为空列名数据类型是否为空 书号char(6) 否出版社编号char(6) 否

书名varchar(20) 否出版社名称varchar(30) 否 数量int 电话char(13) 位置varchar(20) 邮编char(6) 第7 章Transact-SQL 程序设计 第14 页共30 页 14

出版社编号char(6) 地址varchar(30)

2.利用T-SQL 语句在library 数据库中创建“学生”表和“借阅”表,两表的结构分别定

义如表5-18 和表5-19 所示。

表5-18 “学生”表结构表5-19 “借阅”表结构 列名数据类型是否为空列名数据类型是否为空 学号char(8) 否学号char(8) 否 姓名varchar(20) 否书号char(6) 否 性别char(2) 借书日期datetime 院系varchar(20) 还书日期datetime

(1)利用T-SQL 语句在“学生”表中增加列民族,数据类型为varchar(6),默认值为汉。

(2)利用T-SQL 语句在“学生”表中修改列姓名,数据类型为char(6),学号为主键。

(3)利用T-SQL 语句在“借阅”表中增加列“到期日期”,数据类型为datetime。 (4)利用T-SQL 语句在“借阅”表中添加一默认约束,借书日期默认值为getdate()。

(5)利用T-SQL 语句为“借阅”表的列“学号”增加一外键约束于“学生”表的列“学 号”。

(6)在“学生”表中输入表5-20 中的数据。 表5-20 要插入的数据 学号姓名性别院系

08010110 张三男计算机系 08021102 李四女管理系 08032306 王五男电子系 08043008 钱六女机械系

(7)删除(1)和(4)的默认约束。

(8)创建一个规则,限定长度为13,并且以“0551-2159”开头的电话号码,规则对象

名为phone_rule。

(9)将规则对象phone_rule 绑定到表“出版社”的列“电话”上。 (10)创建一个用户自定义数据类型“编号”,来源于varchar(20),且属性不能为空。

习题六 一、选择题

1.指定当前数据库的操作有多种,下列不能确定mydb 为当前数据库的操作是( )。

A.在查询窗口输入use mydb/go 后执行 B.打开工具栏中数据库下拉列表选择mydb C.单击菜单栏“文件/打开” 第7 章Transact-SQL 程序设计 第15 页共30 页 15

D.单击菜单栏“查询/更改数据库”

2.delect 语句中的where 子句的基本功能是( )。 A.指定需查询的表的存储位置B.指定输出列的位置 C.指定行的筛选条件D.指定列的筛选条件

3.当使用模式查找like '_a%'时,则可能的结果是( )。 A.aili B.bai C.bba D.cca

4.select 语句中“where 成绩between 80 and 90”表示成绩在80~90 之间,且( )。

A.包括80 岁和90 岁B.不包括80 岁和90 岁

C.包括80 岁但不包括90 岁D.包括90 岁但不包括80 岁 5.以下能够进行模糊查询的关键字为( )。 A.order by B.like C.and D.escape

6.select 语句中的from 子句指定输出数据的来源之处,以下说法不正确的是( )。

A.数据源可以是一个或多个表B.数据源必须是有外键参照的多个表 C.数据源可以是一个或多个视图D.数据源不能为空表

7.使用order by 子句对输出数据时,以下说法正确的是( )。 A.不能对计算列排序输出

B.当不指定排序方式,系统默认升序

C.可以指定对多列排序,按优先顺序列出需排序的列,用空格隔开 D.当对多列排序时,必须指定一种排序方式

8.以下对输出结果的行数没有影响的关键字是( )。 A.group by B.where C.having D.order by

9.关于group by 子句与compute by 子句的说法,不正确的是( )。 A.使用group by 子句时,select 只能查询用于分组的列,即在group by 之后的数据列

B.compute by 子句中包含统计函数,select 只能查询被统计的数值列 C.compute by 子句一定要与order by 子句同时使用

D.使用group by 子句的输出只有统计结果,没有被统计的数据清单 10.比较运算符有很多,但不包括( )。 A.all B.and C.any D.some 11.关于视图的说法正确的是( )。

A.视图与表都是一种数据库对象,查询视图与查询基本表的方法是一样的 B.与存储基本表一样,系统存储视图中每个记录的数据

C.视图可屏蔽数据和表结构,简化了用户操作,方便用户查询和处理数据 D.视图数据来源于基本表,但独立于基本表,当基本表数据变化时,视图数据不变,当基

本表被删除后,视图数据仍可使用

12.创建视图时,不能使用的关键字是( )。

A.order by B.compute C.where D.with check option 13.Having 子句用来限定( )。

A.查询结果的分组条件B.组或聚合的搜索条件 C.限定返回的行的搜索条件D.结果集的排序方式__ 习题一 一、选择题

1-5.BCAAA 6-10.DBDBA 11-15.CABDC 16-20.DDADB 21-25.ACABC 二、填空题

1.数据库系统2.数据库3.逻辑模型4.概念5.物理模式6.多对多7.实体8.外模式/ 模式映像9.层次10.数据操作11.数据处理12.网状模型13.实体14.关键字15.实 体16.存储模式17.网状模型18.E-R 图19.用户20.内模式 习题二 一、填空题

1-5BDBBB 6-10CAAAA 11-15DBDBC 16-20ABCAD 21-25BAAAA 二、选择题

1. 3 2. 备用码3. 外键4. R1,R2 5. 第一范式6. BCNF 7. 1,1

8. 全外连接9.关系模式10.关系型11.主键12.自然13. 1NF 2NF 14.关系

15. 单一属性16. 参照17. 子集18.2NF 3NF 19. θ连接20. 关系 21. 数据依赖22. C X S 23. π学号(X) S 24. 学号系主任25.BCNF 决定 因素 三、计算题 1. A B C g 5 d a 4 h b 6 h c 3 e 2. A B C a 4 h b 6 h b 2 h 3.

(1)R1={XYZ|R(XYZ)∧Y≤5∧Z=f)} A B C a 2 f g 3 f

(2)R2={XYZ|R(XYZ)∨S(XYZ)∧Y≠6∧Z≠7)} A B C

a 2 f d 5 h g 3 f b 7 f d 5 h b 4 f g 8 e

(3)R3={YZVU|(?X)(S(XYZ)∧W(UV)∧Y≤6∧V=7)} B C E D 6 E 7 e 5 h 7 e 4 f 7 e 4.

(1)主码:(教师号、课程号) (2)第一范式,因为存在部分函数依赖 (3)分解方法为:

教师表(教师号,姓名,职称)

课程表(课程号,课程名,学分,教科书名) 教师授课表(教师号,课程号) 习题三 一、选择题

1-5.BCDAB 6-10.DCABB 11-15.ADBAB 16-20.CBDAB

二、填空题

1.sa 2.客户端3.Northwind 4.核心5.DTS 6.登陆账号7.本地计算机名8.系统管理员

9.域用户账户10.暂停11.服务器12.企业管理器13.查询分析器14.sql 15.msdb 三、实践题 1.略 习题四 一、选择题

1-5.DCBBA 6-10.DDCAD 11-15.AAA 二、填空题

1.用户数据库2.*.ldf 3.mn_data.ndf 4.未指定文件组的非主数据文件5.配置 6.附加7.DBCC shrinkdatabase 8.sp_rename 9.主文件组10.1M 三、实践题

1. create database lx on

(name=lx_data,filename='d:\\stu\\lx_data.mdf',size=5,maxsize=10,filegro wth=1) log on

(name=lx_log,filename='d:\\stu\\lx_log.ldf',size=2,maxsize=10,filegrowt h=5%) 2. (1)

alter database lx add filegroup dy go

alter database lx add file

(name=dya,filename='d:\\stu\\dya.ndf'), (name=dyb,filename='d:\\stu\\dyb.ndf') to filegroup dy go (2)

alter database lx add log file

(name=dy_log,filename='d:\\stu\\dy_log.ldf',size=1,maxsize=unlimited,fi legrowth=1) go (3)

alter database lx modify name=studb go (4) 习题五 一、选择题

1-5. CDBAB 6-10.DADAC 11-15.BDBDC 16-20. DBA AB 21-25 BABCA

二、填空题

1. 参照2. 主键3.1 4.null 5.unique 6. 永久表7.tempdb 8.16 9. 主键 10.sp_bindrule 11.索引12. 规则对象13. 查询14. 字段15. check 三、实践题 1.略 2. 2.

use libarary go

create table 学生( 学号char(8) not null, 姓名varchar(20) not null, 性别char(2), 院系varchar(20)) go

create table 借阅( 学号char(8) not null, 书名char(6) not null, 借书日期datetime, 还书日期datetime) go (1)

use library go

alter table 学生

add 民族varchar(6)constraint df_学生_民族default '汉' (2) use library go

alter table 学生

alter column 姓名char(6) go

alter table 学生

add constraint pk_学生_学号primary key (学号) go (3) use library go

alter table 借阅 add 到期日期datetime go (4)

alter table 借阅

add constraint df_借书日期default getdate() for 借书日期

go (5)

alter table 借阅

add constraint fk_借阅_学生foreign key (学号) references 学生(学号) go (7)

alter table 学生drop constraint df_学生_民族 go

alter table 借阅drop constraint df_借书日期 go (8)

create rule phone_rule as

@ph_rl like '0551-2159[0-9][0-9][0-9]' Go (9)

exec sp_bindrule 'phone_rule','出版社.电话' go (10)

exec sp_addtype 编号,'varchar(20)','not null' 习题六 一、选择题

1-5. CCBAB 6-10.CBDBB 11-15.BBBDB 16-20. BCCCA 21-25ADDCC 26-30 CDCBC 二、填空题

1.update 2.where 3.[-] 4.union 5.交叉连接6.into 7.group by 8.revoke 9.order by

10.group by 11.and 12. where 13. 相关子查询14. 交叉连接15. all 16. with rollup 17. distinct

18. from 子句19. 嵌套查询20. truncate table 21.数据转转与转移 三、实践题 1.

select a.姓名,a.出生日期,b.姓名,b.出生日期from 学生a,学生b where a.出生日

期=b.出生日期and a.学号!=b.学号 2.

select 学号,'高考投档成绩',总分from 学生 3.

select distinct(籍贯) from 学生 4.

select avg(总分) from 学生group by 性别 5.

select * from 学生where 籍贯='安徽'

6.

select * from 学生where 性别='女'

and 出生日期=(select max(出生日期) from 学生where 性别='女') go

select * from 学生where 性别='男'

and 出生日期=(select max(出生日期) from 学生where 性别='男') 7.

select* from 学生order by 总分desc 8.

select 学生.学号,姓名,性别,课程号,成绩from 学生,选修 where 学生.学号=选修.学号and 成绩>85 9.

select 姓名,'学生'as 身份from 学生where 性别='男' union

select 姓名,'教师'as 身份from 教师where 性别='男' 10.

select * from 学生where 出生日期between '1990-1-1' and '1991-1-1' 11.

select top 5 * into course from 课程 12.

select 籍贯,count(*) from 学生group by 籍贯 13.

select 学号,姓名,籍贯from 学生where 籍贯='安徽' compute count(籍贯) 14.

select 学号,姓名,籍贯from 学生where 籍贯='安徽' order by left(学号,6) compute count(籍贯) by left(学号,6) 或

select 学号,姓名,籍贯from 学生where 籍贯='安徽' go

select left(学号,6),count(*) from 学生where 籍贯='安徽' group by left(学号,6) 15.

select * from 学生a where 出生日期>=(

select max(出生日期) from 学生b where a.性别=b.性别) 16.

select * from 选修a where 成绩>(

select avg(成绩) from 选修b where a.学号=b.学号) 17.

select * from 选修where 成绩>(select avg(成绩) from 选修) 略 习题七 一、填空题

1.全局变量2.注释语句3.select 语句4.单引号5.表达式6.break 7. 8. max() 9. waitfor 10.end 11. syscomments 12. ‘ab’ 13. 14. T-SQL 15. GO 16. 批

处理

17. Unicode 18. 内嵌表值19. smalldatetime 20. smallmoney 二、选择题

1-5DCDA 6-10DCDBD 11-15 ACBDB 16-20. BDBAB 21-25 DCCBC__