数据库应用技术作业+答案

更新时间:2023-09-24 22:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库应用技术》作业及答案

第一章 思考与练习题 一、选择题

1. 三级模式间存在两种映射,它们是( C )。 A.模式与子模式间,模式与内模式间 B.子模式与内模式间,外模式与内模式间 C.外模式与模式间,模式与内模式间 D.模式与内模式间,模式与模式间

2. SQL Server系统中的所有系统级信息存储于哪个数据库( A )。 A.master B.model C.tempdb D.msdb

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

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

4. 在数据库技术中,面向对象数据模型是一种( B )。 A.概念模型 B.结构模型 C.物理模型 D.形象模型

5. 数据库管理系统常见的数据模型有( B )。 A.网状、关系和语义 B.层次、关系和网状 C.环状、层次和关系 D.网状、链状和层次

6. 用户看到的数据表,属于数据库系统三级模式中的( D )。 A.外模式 B.内模式 C.子模式 D.模式

7. 对数据的插入属于数据库管理系统( B )的功能。 A.数据定义 B.数据操纵

C.数据库的运行管理 D.数据库的建立和维护

8. 保持数据的完整性属于数据库管理系统( C )的功能。 A.数据定义 B.数据操纵

C.数据库的运行管理 D.数据库的建立和维护

9. 在SQL Server数据库中,默认情况下Sys通常是( C )。 A.数据文件的后缀 B.事务日志文件的后缀 C.系统表表名的前缀 D.辅助文件的后缀 二、填空题

1

1. 计算机数据处理技术大致经历了( 人工管理 )、( 文件管理 )、( 数据库管理 )等不同的发展阶段。

2. 数据库系统由( 外模式 )、( 模式 )和( 内模式 )三级抽象模式构成。

3. 数据库管理系统的主要功能包括( 数据定义 )、( 数据操纵 )、( 数据库的运行管理 )、( 数据库的建立和维护 )。

4. 关系模型由三部分组成( 数据结构 )、( 关系操作集合 )和( 关系的完整性 )。

5. SQL Server提供了大量易用的管理工具,比较常用的主要有( 服务管理器 )、( 企业管理器 )和( 查询分析器 )。

6. 数据文件的后缀是( mdf )。 7. 事务日志文件的后缀是( ldf )。

8. SQL Server数据库分为 ( 系统数据库 )和( 用户数据库 )两种类型。 三、简答题

1.什么是数据和数据处理?数据与信息的区别联系是什么? 参考答案:

数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。 数据处理通常包括查找、统计、分类、修改、计算、汇总等各种方法。 数据(Data)是一组表示数量、行动和目标的非随机的可鉴别的符号。

信息(Information)是经过加工的,能对接收者的行为和决策产生影响的、有价值的数据。

如果将数据比喻为原料,那么信息就是数据经过加工而生产的产品,是有价值的数据。与原料和产品的概念相似,一个系统的产品可能是另一个系统的原料,那么一个系统的信息可能成为另一个系统的数据。

2.数据库、数据库管理系统、数据库系统之间到底是什么关系? 参考答案:

数据库就是各种相关数据的集合和容器。数据库所保存的数据是指长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据必须按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可以被一定范围内的各种用户共享。

数据库管理系统是对数据库进行管理的系统软件,位于用户和操作系统之间,为用户或应用程序提供访问数据库的方法和工具。

广义上,数据库系统就是采用了数据库技术的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。狭义上讲,数据库系统主要指数据库和数据库管理系统,由于这二者在应用中的相互依赖性,所以在一般不引起混淆的情况下常常把数据库系统简称为数据库。

3.请描述一下SQL Server数据库的存储结构。 参考答案:

SQL Server数据库的存储结构包括物理存储结构和逻辑存储结构两个层面。

在物理层面上,SQL Server数据库是由两个操作系统文件组成的,即数据文件和事务日志文件,它们的后缀分别是MDF和LDF。数据文件主要用于存储数据,事务日志文件主要用于存储数据库的更新情况等事务日志信息。

在逻辑层次上,数据库是由表、视图、存储过程等一系列数据对象组成的。当采用SQL Server企业管理器将上述数据库文件“打开”后,就能看到数据库的逻辑结构了,如图XXX所示。数据库中的数据分别存储在几个不同的对象中,而这些对象是用户在操作数据库时,实际能够看到和接触到的,属于逻辑存储结构。常用的数据库对象主要包括:表(Table)、索引(Index)、视图(Views)、触发器(Triggers)、存储过程(Store Procedures)、缺省(Default)、约束(Constraints)、用户(Users)

2

以及图表(Diagram)和用户自定义的数据类型等。在以后的章节中,我们将逐步学习这些对象的使用方法。

4.简述关系模型的组成。 参考答案:

系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系模型由三部分组成:数据结构、关系操作集合和关系的完整性。

数据结构是指在关系模型中,无论是数据还是数据之间的联系都是以二维表(关系)这一种简单的结构表示的,这即符合人们使用数据的习惯,同时也便于计算机实现。

关系操作是指关系代数(或等价的关系演算)中并、交、差、选择、投影、连接等。关系模型给出了关系操作的能力和特点,但不对DBMS的语言给出具体的语法要求。关系语言的特点是高度的非过程化。其操作方式的特点是集合操作,即操作的对象和结果是集合,称为一次一集合的方式,而不是一次一个记录的方式。

关系完整性包括实体完整性、参照完整性和用户自己定义的完整性。实体完整性是保证数据库中记录的惟一性,即每个记录的主键不能为空值,也不能与其他记录的主键相同。参照完整性是保证表与表之间语意上的完整性,即当一个表引用在另一个表中定义的实体时,要保证这个实体的有效性。这两种完整性是关系模型必须满足的约束条件,应该由关系系统自动支持。而用户自定义完整性反映了用户的要求,是用户自行定义的。

第二章 思考与练习题 一、选择题

1. 下述关于索引的描述,正确的是( B )。 A.撤销索引会同时撤销数据库中与之相关的内容 B.建立索引后,会影响基本表的插入速度 C.基本表的记录数量越多,越不应该建立索引 D.基本表的记录越长,越不应该建立索引

2. 下述关于视图的描述,正确的是( C )。 A.视图仅由一个基本表导出

B.执行视图比在客户端直接执行SELECT语句的速度要慢 C.在SQL Server中,可以像基本表一样对视图进行查询操作 D.视图存储在客户端的数据库中

3. 如果希望从学生表中查询出所有姓“张”的同学,那么条件语句应该是( B )。 A.Where 姓名 % ?张?

B.Where 姓名 LIKE ?张%? C.Where 姓名 % ?LIKE张? D.Where 姓名 LIKE ?张?

4. 下列SQL语句中,能够完成求某列最大值的是( B )。 A.SELECT AVG(Age) FROM Student B.SELECT MAX(Age) FROM Student C.SELECT MIN(Age) FROM Student D.SELECT COUNT(*) FROM Student 二、填空题 1.SQL数据定义语言的主要作用是创建存储数据的结构,而数据操纵语言的主要作用则是向数据库中填写数据,具体包括 增加、删除、修改 等操作。

3

2.当需要对查询结果进行排序时,可以指定其排序方式,字段后使用 ASC 表示升序, DESC 表示降序。 三、简答题

1、什么是SQL,请简要说明它的组成和特点。 参考答案:

结构化查询语言,Structured Query Language,简称 SQL,是关系数据库的标准语言。SQL语言共分为四大类:数据定义语言,数据查询语言,数据操纵语言,数据控制语言。它的特点包括:非过程化语言,统一的语言,是所有关系数据库的公共语言。

2、索引的作用是什么?SQL Server有哪几类索引,各自的特点是什么? 参考答案:

索引(Index)提供了一种快速访问数据的途径,索引是在基本表的列上建立的一种数据加对象,索引是为了加速查询速度而创建的。

实际的索引通常是这两大类5种方式的组合。

(1)单列索引:对基本表的某一单独的列进行索引,是最简单和最常用的索引类型,通常情况下,应对每个基本表的主关键字建立单列索引。

(2)惟一索引:一旦在一个或多个列上建立了惟一索引,则不允许在表中相应的列上插入任何相同的取值。使用惟一索引不但能提高查询性能,还可以维护数据的完整性。 (3)复合索引:是针对基本表中两个或两个以上列建立的索引。

(4)聚集索引:会改变基本表中记录的物理存储顺序。即表中记录的物理排序顺序不再按插入的先后排列,而是根据索引列重新排序。 (5)非聚集索引:表中记录的物理顺序与索引顺序不同,表中的记录仍按实际插入的先后顺序排列,不按索引列排序。

3、什么是基本表?什么是视图?视图有什么特点?在什么情况下需要创建视图? 参考答案:

表是一个由行、列组成的二维结构,通常把行称做记录,把列称为字段。

视图是由查询数据库表产生的,它其实是一个虚拟的表,它限制了用户能看到和修改的数据。 视图的特点是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。

如果要限制用户能够看到的数据库中的信息,可以使用视图。 4、谓词LIKE的作用是什么? 参考答案:

确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。 5、如果创建一个数据库其SQL语句是什么? 参考答案:

CREATE DATABASE 数据库名称

6、存储过程的含义是什么?创建存储过程的SQL语句是什么? 参考答案: 存储过程(Stored Procedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码,在master数据库中存储了一些SQL Server事先定义好的系统存储过程,通常以sp_xxxx做为存储过程的名字。当用户创建数据库时,也会自动生成一些事先定义好的存储过程,通常以dt_xxxx做为名字。

创建存储过程的SQL语句是:

4

(1)语句格式:

CREATE PROC[EDURE] <存储过程名> AS (2)语句功能:

创建一个存储过程,多数是指利用SQL Server的Transact-SQL编写的程序。 7、什么是事务?举例说明事务处理的作用是什么? 参考答案:

事务(Transaction)是并发控制的基本单位,它反映了现实世界中需要以一个完整的单位提交的一项工作。SQL Server通过事务机制,将逻辑相关的一组操作捆绑在一起,以便服务器保持数据的完整性。它是SQL复杂程序设计必不可少的内容。

事务需要用户根据实际业务规则定义,有一定的难度,但其原理比较简单。举例说,如果我们正在使用UPDATE语句同时对学生表、成绩表中的学号”20030001”改为”20040001”。这个任务需要两条UPDATE语句组成,即:

UPDATE 学生表 SET 学号=?20040001? WHERE 学号=?20030001? UPDATE 成绩表 SET 学号=?20040001? WHERE 学号=?20030001?

如果在执行完第一个语句后,计算机突然断电,而第二条语句还没来得急执行,数据出现了不一致怎么办?这时候就需要用到SQL的事务控制功能了。 如果使用了SQL Server的事务控制机制,以上两个问题均可获得很了的解决。在使用事务的情况下,SQL Server可以保证,要么所有的记录要么全部处理,要么一行也不处理。如果修改了全部记录的一半时服务器出错了,SQL Server会返回到以前未执行UPDATE操作前的位置,清除它已经修改过的数据,这就是事务处理的作用。

8、SQL Server有哪些数据类型,它们的主要用途是什么? 参考答案:

SQL Server提供了数值型、字符型、日期型、二进制型、位型、双字节型等6大类数据类型。 数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。

9、假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句: 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩)

(1)如何在SQL Server上创建这三张表; 参考答案: 学生表:

create table 学生表 (

学号 char (8) primary Key, 姓名 char(8), 年龄 int, 性别 bit) 课程表:

create table 课程表 (

课程号 char (7) primary Key, 课程名 char(20), 任课教师 char (8)) 成绩表:

create table 成绩表 (

5

B、学生(学号,姓名,课程名,成绩) C、学生(学号,姓名,课程号,成绩) D、学生(学号,姓名,性别)

9.在第一个关系中出现,而在第二个关系中不出现的记录组成的新关系称为(D)。 A、两个关系的积 B、两个关系的并 C、两个关系的交 D、两个关系的差

10.数据库应用程序开发中,需求分析阶段的主要目的是(A)。 A、回答“干什么”的问题 B、回答“怎么干”的问题 C、建立逻辑数据模型

D、建立最佳物理存储结构

11.用户使用SQL Server时,通常需要依次经过两个安全性阶段(C)。 A、登录验证、操作验证 B、操作验证、登录验证 C、身份验证、权限认证 D、权限认证、身份验证

12.SQL Server数据库中的一个完整的备份通常要包括(A)。 A、系统数据库、用户数据库和事务日志 B、系统数据库、系统表和数据字典 C、系统数据库、用户数据库和数据字典 D、用户数据库和事务日志

13.下列哪些不属于索引的类型(D)。 A、单列索引 B、惟一索引 C、聚集索引

D、事务日志索引

14.下列SQL语句中,能够完成并运算的是(A)。

A、SELECT * FROM 篮球爱好者UNIONSELECT * FROM 足球爱好者

B、SELECT * FROM 篮球爱好者INTERSECTSELECT * FROM 足球爱好者 C、SELECT * FROM 篮球爱好者EXCEPTSELECT * FROM 足球爱好者 D、SELECT * FROM 篮球爱好者,足球爱好者

15.设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是(D)。

A、SELECT 姓名 FROM 学生表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90 B、SELECT 姓名 FROM 课程表 WHERE学生表.学号=课程表.学号 AND 课程表.成绩>90

C、SELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 OR 课程表.成绩>90 D、SELECT 姓名 FROM 学生表,课程表 WHERE 学生表.学号=课程表.学号 AND 课程表.成绩>90

二、填空题

1.数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级抽象模式构成。 2.备份是指将数据从硬盘复制到可移动媒体上的过程。

16

3.“实体一联系”方法是描述数据库概念模型的主要方法,一般称这种方法为E-R方法(或E-R图方法)。

4.用户使用SQL Server数据库时,一般需要经过两个安全性阶段:身份验证和权限认证。 5.E-R图设计一般在数据库设计的概念设计阶段使用。

三、判断题(正确的在括号内打上“√”,错误的打上“╳”。)

1.能够惟一表示数据表中的每条记录的字段或者字段的组合称为主码或主键(√)。 2.SQL Server数据库中的NULL值(空值)表示的是 “空格”或“0”值(╳)

3.一个不规范的关系模式通常会引发插入异常、删除异常和更新异常,导致大量的数据冗余。(√) 4.根据索引的特点,应该对那些数据量大、查询频度较高、实时性要求强的基本表创建索引,(√) 5.数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。(√)

6.参照完整性规则通常是指在两个参照和被参照关系中,参照关系中每条记录的外键或者为空,或者等于被参照关系中某条记录的主键。(√) 四、简述题

1.请简要说明视图的概念和作用

参考答案:视图是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。其作用主要是:(1)视图是经过预编译的SELECT语句,存储在数据库服务器端,因此执行视图比从客户端直接执行SELECT语句速度更快、效率更高一些。(2)视图属于用户模式范畴,在实际中,一般的用户不一定具有SELECT语句方面的专门知识,从用户友好性角度来说,视图更便于用户使用。(3)利用视图可以简化的形式表达复杂的SELECT语句组,如嵌套查询等。

2.什么是函数依赖与函数决定,请举例说明 参考答案:

设一个关系为R,X和Y是它的两个属性集。若对于X上的每个值都有Y上的一个惟一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,称X为决定因素。 假设一个职工关系为(职工号,姓名,性别,年龄,职务),职工号用来标识每个职工,选作该关系的主键。我们可以从以下两方面理解函数依赖的概念:首先,对于该关系中每个职工的职工号,都对应着姓名属性中的惟一值,即该职工的姓名,或者说一个职工的姓名由其职工号惟一确定,所以称职工号函数决定姓名,或称姓名函数依赖于职工号。其次,除职工号外,其他属性都不能成为决定因素形成函数依赖,因为对于它们的每个属性值,都可能对应另一属性的多个不同的取值,比如对于性别属性的一个取值“男”就会对应多个而不是一个职工号。 3.请简要说明存储过程的概念和优点。 参考答案: 存储过程(Stored Procedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码。

使用存储过程的好处可归纳为以下几点:(a)执行速度快。在经过第一次调用以后,就驻留在内存中,不必再经过编译和优化;(b)模块化的程序设计。经过了一次创建以后,可以被调用无数次;(c)减少网络流量;(d)保证系统的安全性。 五、综合应用题

1.设有有以下基本表:(1)供应商表(供应商编号,供应商名称,供应商所在城市);(2)零件表(零件编号,零件名称,零件颜色,零件重量);(3)工程项目表(工程编号,工程名称,工程所在城市);(4)工程供货表(工程编号,供应商编号,零件编号,零件数量)。 用SQL语言写出下列查询语句,

17

(1)查询所有工程的全部细节: SELECT * FROM 工程项目表

(2)查询所在城市为上海的所有工程的全部细节

SELECT * FROM 工程项目表 WHERE 工程所在城市=?上海? (3)查询重量最轻的零件代号

SELECT 零件编号FROM 零件表 WHERE 零件重量= (SELECT MIN(零件重量) FROM 零件表)

(4)查询为工程编号为“JG2008001”的工程提供零件的供应商编号

SELECT 供应商编号 FROM 工程供货表 WHERE 工程编号=?JG2008001? (5)查询为工程编号为“JG2008001”的工程提供零件编号为“P1”的供应商编号 SELECT 供应商编号 FROM 工程供货表

WHERE 工程编号=?JG2008001? AND 零件编号=?P1?

(6)查询由供应商编号为S1的供应商提供零件的工程名称 SELECT 工程项目表.工程名称 FROM 工程项目表,工程供货表

WHERE 工程项目表.工程编号=工程供货表.工程编号 AND 工程供货表.供应商编号=?S1? (7)查询供应商S1提供的零件的颜色

SELECT DISTINCT零件表.零件颜色FROM零件表,工程供货表

WHERE 零件表.零件编号=工程供货表.零件编号 AND 工程供货表.供应商编号=?S1? (8)查询为所在城市为上海的工程提供零件的供应商编号

SELECT DISTINCT 工程供货表.供应商编号 FROM 工程项目表,工程供货表

WHERE 工程供货表.工程编号=工程项目表.工程编号 AND 工程项目表.工程所在城市=?上海? 2.用SQL语句创建简单数据表

设有两个关系(1)教师关系T,包括教师编号TNo,姓名TN,系别TD,职称RANK;(2)课程关系C,包括课程号CNo,课程名CN。教师编号和课程号分别是上述两个关系的主键,请用SQL语句创建教师数据表T。 参考答案:

CREATE TABLE T{

TNo INT PRIMARY KEY, TN CHAR(30), TD CHAR(20), RANK CHAR(20) };

3.用SQL语句创建数据表

在上题基础上,假设还存在教师教授课程关系TC,包括教师编号TNo和课程号CNo。 注意:说明主键码和外键码约束 参考答案:

CREATE TABLE TC{ TNo INT, CNo INT,

PRIMARY KEY (Tno,Cno),

FOREIGN KEY (TNo) REFERENCES T(TNo), FOREIGN KEY (CNo) REFERENCES C(CNo) };

4.利用SQL语句进行查询

18

在上题的基础上,如果要查询“张红老师承担的所有课程”,请写出对应的SQL查询语句。 参考答案:

SELECT C.CNo,C.CN FROM T,C,TC

WHERE T.TNo=TC.TNo AND C.CN=TC.CNo AND T.TN=?张红? 5.程序应用题

设学生成绩表的结构为(学号、课程号、成绩),程序运行界面如图1所示。进入界面后,用户首先选择学号(Combo1)、课程号(Combo2),姓名(Text1)和课程名(Text2)从数据库中自动读入;然后,用户输入对应的成绩(Text3),点击“确认”按钮后,将结果插入到学生成绩表中。请补充完成下列程序代码。

图1“增加记录”窗体运行界面

Private Sub Command1_Click() ?声明一个记录集对象

Dim ADOrs As New Recordset

?将记录集对象与已建立的数据库联接对象ADOcn绑定 ADOrs.ActiveConnection=ADOcn

?第一步:在学生成绩表中查询是否存在关键字相同的记录 (1)拼写查询字符串 strSQL =“”

(2)执行查询语句 strSQL

?第二步:如果关键字重复,则退出程序 If Not Then

MsgBox “记录已存在,不能继续增加” Exit Sub End If

?第三步:将结果插入到学生成绩表中

StrSQL=”Insert Into 学生成绩表(学号,课程号,成绩)Values(? ”+Combo1.Text+” ?,? “+Combo2.Text+” ?, “+Str(Val(Text3.Text))+”)” StrSQL End Sub

参考答案及评分要点:

?第一步:在学生成绩表中查询是否存在关键字相同的记录

19

strSQL=”Select * From 学生成绩表 Where 学号=? ”+combo1.Text+” ? And 课程号=? “+Combo2.Text+” ? “ ADOrs.Open StrSQL

?第二步:如果关键字重复,则退出程序 If Not ADOrs.EOF Then

MsgBox “记录已存在,不能继续增加” Exit Sub End If

?第三步:将结果插入到学生成绩表中

StrSQL=”Insert Into 学生成绩表(学号,课程号,成绩)Values(? ”+Combo1.Text+” ?,? “+Combo2.Text+” ?, “+Str(Val(Text3.Text))+”)” ADOcn.Execute StrSQL End Sub

20

(3)比较数据修改前后的差别。 (4)强制表的修改要合乎业务规则。

缺点:

(1)可移植性是触发器最大的缺点。 (2)占用服务器端太多的资源。 (3)不能做DDL。

(4)触发器排错困难,而且数据容易造成不一致,后期维护不方便。

2、说明创建触发器命令中FOR、AFTER、INSTEAD OF各表示什么含义? 答:

(1)FOR | AFTER。FOR与AFTER同义,指定触发器只有在触发SQL语句中指定的所有操作都已成功执行后才激发。所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器,即为后触发。

(2)INSTEAD OF。指定执行触发器而不执行造成触发的SQL语句,从而替代造成触发的语句。在表或视图上,每个INSERT、UPDATE或DELETE 语句只能定义一个INSTEAD OF触发器,替代触发。

3、TRUNCATE TABLE语句是否会激活DELETE触发器?在触发器中的SQL语句有哪些限制? 答:由于TRUNCATE TABLE语句的操作不被记录到事务日志,所以它不会激活DELETE触发器。所有建立和修改数据库及其对象的语句、所有DROP语句都不允许在触发器中使用。 4、略 5、略 6、略 7、略 8、略

9.什么是事务的4个基本属性?说明3种事务各有什么特点。

答:事务作为一个逻辑工作单元有4个属性,分别是原子性、一致性、隔离性和持久性。SQL Server 2005有以下3种事务模式。

(1)自动提交事务。这是SQL Server 2005的默认模式。每个单独的SQL语句都是一个事务,并在其完成后提交。不必指定任何语句控制事务。

(2)显式事务。每个事务均以BEGIN TRANSACTION语句显式开始,以COMMIT或ROLLBACK语句显式结束。

(3)隐性事务。通过API函数或Transact-SQL的SET IMPLICIT_TRANSACTIONS ON语句,将隐性事务模式设置为打开。这样在前一个事务结束时新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK语句显式结束。

第十章:

1、SQL Server 2005的安全模型分为哪3层结构?

答:SQL Server 2005的安全模型分为3层结构,分别为服务器安全管理、数据库安全管理和数据库对象的访问权限管理。

2、说明固定的服务器角色、数据库角色与登录账户、数据库用户的对应关系及其特点。

答:服务器安全管理实现对SQL Server 2005服务器实例(简称服务器)的登录账户、服务器配置、设备、进程等方面的管理,这部分工作通过固定的服务器角色来分工和控制。数据库安全管理实现对服务器实例上的数据库用户账号、数据库备份、恢复等功能的管理,这部分工作通过数据库角色来分工和控制。数据库对象的访问权限的管理,决定对数据库中最终数据的安全性管理。数据对象的访问权限决定了数据库用户账号,对数据库中数据对象的引用以及使用数据操作语句的许可权限。

26

3、如果一个SQL Server 2005服务器采用仅Windows方式进行身份验证,在Windows操作系统中没有sa用户,是否可以使用sa来登录该SQL Server服务器? 答:不能使用sa来登录该SQL Server服务器

4、SQL Server 2005有哪两种安全模式?它有什么区别? 答:两种安全模式分别是仅Windows身份验证模式和混合验证模式。仅Windows身份验证模式就是只使用Windows验证机制的身份验证模式;而混合模式则是用户即可以选择使用Windows 验证机制也可以选择使用SQL Server验证机制。 5、略 6、略 7、略 8、略 9、略 10、略

第十一章:

1、什么是备份设备?物理设备标识和逻辑名之间有什么关系?

答:备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质。备份设备可以是硬盘、磁带或管道。物理备份设备指操作系统所标识的磁盘文件、磁带等,逻辑备份设备名是用来标识物理备份设备的别名或公用名称。使用逻辑备份设备名的优点是比引用物理设备名简短。 2、4种数据库备份和恢复的方式分别是什么? 答:

(1)使用SQL Server Management studio备份数据库; (2)使用SQL命令备份数据库

(3)使用SQL Server Management studio恢复数据库 (4)使用SQL命令恢复数据库

3、存储过程sp_addumpdevice的作用是什么? 答:存储过程sp_addumpdevice的作用将备份设备添加到Microsoft SQL Server 2005 数据库引擎的实例中。

4、数据库中选项NORECOVERY和RECOVERY的含义是什么?分别在什么情况下使用? 答:RECOVERY表示在数据库恢复完成后SQL Server 2005回滚被恢复的数据库中所有未完成的事务,以保持数据库的一致性。恢复完成后,用户就可以访问数据库了。所以RECOVERY选项用于最后一个备份的还原。如果使用NORECOVERY选项,那么SQL Server 2005不回滚被恢复的数据库中所有未完成的事务,恢复后用户不能访问数据库。 5、略 6、略

第十二章: 略

第十三章: 略

27

第一章:

1、订单管理系统的功能有哪些?

答:订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。 2、说明ER模型的作用?

答:ER模型(实体关系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、自然地模拟现实世界。 3、什么是关系模型?关系的完整性包括哪些内容?

答:关系模型就是用二维表格结构来表示实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和用户定义的完整性。 4、按照功能,SQL语言分为哪4部分?

答:按照功能,SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。 5、规范化范式是依据什么来划分的?它与一事一地的原则有什么联系?

答:规范化范式根据一个关系满足数据依赖的程度不同,可规范化为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。规范化范式遵循一事一地的原则,将描述一个独立事物的属性组成一个关系。

第二章:

1、SQL Server 2005有哪些新增特性?

答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。

2、SQL Server 2005安装的软件和硬件环境是什么?

答:SQL Server 2005安装的软件和硬件环境参见教材表2-3、2-4、2-5、2-6。 3、SQL Server 2005有哪些版本?有哪些服务组件?

答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。

4、什么是实例?经常提到的SQL Server 2005服务器和服务器实例是否具有相同的含义? 答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。

5、默认实例和命名实例有何差别?在安装和使用上有何不同?

答:实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL SERVER 2005命名设置保持默认的话,那这个实例就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。

6、SQL Server 2005的安全性验证分为哪两个阶段?

答:第1个阶段是身份验证,验证用户是否具有“连接权”;第2个阶段是数据库的访问权,验证连接到服务器实例的用户,即已登录到服务器实例的用户,是否具有“访问权”。 7、SQL Server 2005有哪些主要的实用工具?每个工具都有什么用途?

答:SQL Server Management Studio,是Microsoft SQL Server 2005中的新组件,这是一个用于访问、配置、管理和开发SQL Server的所有组件的集成环境,是SQL Server 2005中最重要的管理工具。

21

SQL Server Configuration Manager,用来管理SQL Server 2005所提供的服务、服务器与客户端通信协议以及客户端的基本配置管理。SQL Server外围应用配置器用来启用、禁用、开始或停止SQL Server 2005的功能、服务和远程连接。Notification Services命令提示是用来开发及部署应用程序以产生和传送通知的平台。Reporting Services配置用于配置和管理SQL Server 2005的报表服务器。SQL Server 错误和使用情况报告。SQL Server Profiler也称为SQL Server事件探查器,用于监视SQL Server数据库引擎和Analysis Services的实例,并捕获数据库服务器在运行过程中发生的事件,将事件数据保存在文件或表中供用户分析。

第三章:

1、在SQL Server 2005中数据库文件有哪3类?各有什么作用?

答:SQL Server 2005中数据库文件有主数据文件、辅助数据文件、事务日志文件。主数据文件是数据库的起点,指向数据库中文件的其他部分,同时也用来存放用户数据;辅助数据文件专门用来存放数据;事务日志文件存放恢复数据库所需的所有信息。 2、SQL Server 2005中数据文件是如何存储的?

答:SQL Server 2005中采用以页为数据库存储的基本单位,数据文件的页按顺序编号,文件首页的页码是0。每个文件都有一个文件ID号。在数据库中惟一标识一页,需要同时使用文件ID和页码。在每个文件中,第一页是包含文件特性信息的文件首页,在文件开始处的其他几个页中包含系统信息,如分配映射表。系统页存储在主数据文件和第一个事务日志文件中,其中有一个系统页包含数据库属性信息,它是数据库的引导页。

3、SQL Server 2005中创建、查看、打开、删除数据库的方法有哪些?

答:方法分别有两种,即可以通过SQL Server Management Studio图形化界面实现,也可以通过SQL语句命令实现。 4、略

5、通过SQL语句,使用__CREATE_ DATABASE _命令创建数据库,使用_ EXEC sp_helpdb _命令查看数据库定义信息,使用_ EXEC sp_dboption 命令设置数据库选项,使用_ ALTER DATABASE _命令修改数据库结构,使用_ DROP DATABASE _命令删除数据库。 6、略

7、安装SQL Server 2005时,系统自动提供的4个系统数据库分别是什么?各起什么作用? 答:系统自动提供的4个系统数据库分别是master数据库、model数据库、msdb数据库、tempdb数据库。作用参见教材3.2节。

第四章:

1、如何理解表中记录和实体的对应关系?为什么说关系也是实体?在表中如何表示?

答:实体是客观存在并且可以相互区别的事物,实体可以是具体的事物,也可以是抽象的事物。不同的事物是用不同的特征决定的,用来描述实体的特性称为实体的属性。表中每条记录对应一个实体,而每个字段保存着对应实体的属性值。

2、说明主键、惟一键和外键的作用。说明它们在保证数据完整性中的应用方法。

答:主键是唯一识别一个表的每一记录,作用是将记录和存放在其他表中的数据进行关联,并与外键构成参照完整性约束。惟一键用于指明创建惟一约束的列上的取值必须惟一。外键用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。外键约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。

3、参照完整性要求有关联的两个或两个以上表之间数据的_一致性_。参照完整性可以通过建立_主键_和_外键_来实现。

22

4、创建表用__CREATE TABLE __语句,向表中添加记录用_INSERT INTO_语句,查看表的定义信息用 EXECUTE sp_help 语句,修改表用 ALTER TABLE 语句,删除表用 DROP TABLE语句。 5、略 6、略

7、SQL Server 2005中有哪些类型数据? 答:参见教材表4-1。 8、略

9、数据完整性包括哪些?如何实现?

答:数据完整性包括实体完整性,域完整性,引用完整性,用户定义完整性,通过在表中,列中,表与表之间设置主键、惟一键、外键、CHECK约束等可以实现。 10、略 11、略 12、略 13、略 14、略 15、略

16、说明使用标识列的优缺点。

答:优点:方便可以让计算机为表中的记录按照要求自动地生成标识字段的值。

缺点:标识列值的形成是按照用户确定的初值和增量进行的,如果在经常进行删除操作的表中定义了标识列,那么在标识值之间就会产生不连续现象。如果要求不能出现这种不连续的值,那么就不能使用标识列属性。

第五章: 略

第六章:

1、为什么说视图是虚表?视图的数据存在什么地方?

答:视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据。视图通过定义从基表中搜集数据,并展现给用户。数据存储在对应的数据表中。

2、创建视图用 CREATE VIEW 语句,修改视图用ALTER VIEW语句,删除视图用DROP VIEW语句。查看视图中的数据用SELECT语句。查看视图的基本信息用sp_helptext存储过程,查看视图的定义信息用 EXEC sp_helptext 存储过程,查看视图的依赖关系用EXEC sp_ depends存储过程。 3、略

4、说明视图的优缺点。

答:优点:(1)视图能简化用户的操作;(2)视图机制可以使用户以不同的方式查询同一数据;(3)视图对数据库重构提供了一定程度的逻辑独立性;(4)视图可以对机密的数据提供安全保护。

缺点:(1)降低性能,通过视图查询起来需要花费时间;(2)视图是只读的,更新时需要更新原表,对用户来说很麻烦。 5、略 6、略 7、略

8、通过视图修改数据要注意哪些限制? 答:对视图进行的修改操作有以下限制:

(1)若视图的字段来自表达式或常量,则不允许对该视图执行INSERT和UPDATE操作,但允许

23

执行DELETE操作。

(2)若视图的字段来自集合函数,则此视图不允许修改操作。

(3)若视图定义中含有GROUP BY 子句,则此视图不允许修改操作。 (4)若视图定义中含有DISTINCT短语,则此视图不允许修改操作。 (5)一个不允许修改操作视图上定义的视图,也不允许修改操作。 9、SQL Server 2005提供了哪两种数据访问的方法? 答:两种方法分别为:表扫描法和索引法 10、创建索引的好处主要有哪些?

答:创建索引好处主要是加快数据查询和加快表的连接、排序和分组工作。

11、按照索引值的特点分类,可将索引分为__惟一__索引和_非惟一_索引;按照索引结构的特点分类,可将索引分为_聚集__索引和__非聚集__索引。 12、聚集索引与非聚集索引之间有哪些不同点?

答:聚集索引会对表进行物理排序,而非聚集索引不会对表进行物理排序。 13、略

14、在哪些情况下SQL Server 2005会自动建立索引?这些索引能否用DROP INDEX语句来删除?如果不能,应当用什么方法来删除?

答:在创建或修改表时,如果添加了一个主键或惟一键约束,则系统将自动在该表上,以该键值作为索引列,创建一个惟一索引。对于通过主键和唯一约束创建的索引是不能够通过DROP INDEX来删除的。删除方法是通过删除主键约束(或唯一约束)来自动删除由该主键约束(或唯一约束)创建出来的索引。 15、略 16、略 17、略

第七章:

1、什么是批处理?批处理的结束标志是什么?

答:批处理就是一个或多个Transact-SQL语句的集合,用GO语句作为一个批处理的结束。 2、一些SQL语句不可以放在一个批处理中进行处理,它们需要遵守什么规则? 答:一些SQL语句不可以放在一个批处理中进行处理,它们需要遵守以下规则:

(1)大多数CREATE命令要在单个批命令中执行,但CREATE DATABASE、CREATE TABLE和CREATE INDEX例外。

(2)调用存储过程时,如果它不是批处理中的第一个语句,则在其前面必须加上EXECUTE,或简写为EXEC。 (3)不能把规则和默认值绑定到表的字段或用户定义数据类型上之后,在同一个批处理中使用它们。 (4)不能在给表字段定义了一个CHECK约束后,在同一个批处理中使用该约束。 (5)不能在修改表的字段名后,在同一个批处理中引用该新字段名。 3、常量和变量有哪些种类?

答:常量有字符串常量、数值常量、日期常量。变量主要有局部变量和全局变量。 4、略 5、略 6、略 7、略 8、略 9、略

24

10、什么是用户自定义函数?它有哪些类型?建立、修改和删除用户自定义函数使用什么命令? 答:用户定义的函数是由一个或多个Transact-SQL语句组成的子程序。用户定义的函数类型有标量函数、内嵌表值函数、多语句表值函数。建立、修改、删除用户自定义函数命令分别是CREATE FUNCTION、ALTER FUNCTION和DROP FUNCTION。 11、略 12、略 13、略

14、使用游标访问数据包括哪些步骤?

答:使用游标访问数据包括的步骤有声明游标、打开游标、从游标中获取数据、关闭游标、释放游标。 15、略

第八章:

1、简述使用存储过程有哪些优缺点? 答:优点:

(1)通过本地存储、代码预编译和缓存技术实现高性能的数据操作。

(2)通过通用编程结构和过程重用实现编程框架。如果业务规则发生了变化,可以通过修改存储过程来适应新的业务规则,而不必修改客户端应用程序。 (3)通过隔离和加密的方法提高了数据库的安全性。 缺点:移植性较差,增加数据库服务器压力。

2、创建存储过程有哪些方法?执行存储过程使用什么命令?

答:创建存储过程有两种方法,可用通过SQL命令建立或者通过SQL Server Management Studio图形界面建立。执行存储过程使用EXECUTE命令。

3、执行存储过程时,在什么情况下可以省略EXECUTE关键字?

答:如果存储过程是批处理中的第一条语句,那么不使用 EXECUTE 关键字也可以执行该存储过程。 4、略 5、略 6、略

7.说明存储过程重新编译的作用和3种重新编译的方法。

答:通过对存储过程进行重新编译,可以重新优化存储过程的执行计划。三种重新编译的方法分别是:

(1) 在创建存储过程时,使用WITH RECOMPILE子句来指示SQL Server 2005不将该存储过程

的查询计划保存在缓存中,而是在每次运行时重新编译和优化,并创建新的执行计划。

(2) 通过在执行存储过程时设定重新编译,可以让SQL Server 2005在执行存储过程时重新编译

存储过程。

(3) 通过系统存储过程sp_recompile设定重新编译标记,使存储过程和触发器在下次运行时重新

编译。

第九章:

1、简述使用触发器有哪些优缺点。 答: 优点:

(1)多张表的级联修改。触发器能实现各种级联操作,包括数据的修改、插入和删除。 (2)强于CHECK的复杂限制。

25

本文来源:https://www.bwwdw.com/article/26sd.html

Top