第1章习题参考答案
1.思考题
(1)什么是数据库、数据库管理系统、数据库系统?它们之间有什么联系? 答:数据库是存贮在计算机内的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。
(2)当前,主要有哪几种新型数据库系统?它们各有什么特点?用于什么领域,试举例说明? 答:主要有:分布式数据库、面向对象数据库、多媒体数据库、数据仓库技术、空间数据库。
(3)什么是数据模型?目前数据库主要有哪几种数据模型?它们各有什么特点? 答:数据模型是一组描述数据库的概念。这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。很多数据模型还包括一个操作集合。这些操作用来说明对数据库的存取和更新。数据模型应满足3方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向对象的模型。 (4)关系数据库中选择、投影、连接运算的含义是什么? 答:
1)选择运算:从关系中筛选出满足给定条件的元组(记录)。选择是从行的角度进行运算,选择出的记录是原关系的子集。
2)投影运算:从关系中指定若干个属性(字段)组成新的关系。投影是从列的角度进行运算,得到的新关系中的字段个数往往比原关系少。
3)连接运算:将两个关系按照给定的条件横向拼接成新的关系。 连接过程是通过两个关系中公有的字段名进行的。
(5)关键字段的含义是什么?它的作用是什么?
答:一个关系中可以确定一个字段为关键字段,该字段的值在各条记录中不能有相同的值。(如:门牌号码);关键字段的作用主要是为建立多个表的关联和进行快速查询。 (6)什么是E-R图?E-R 图是由哪几种基本要素组成?这些要素如何表示? 答:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素有3种,即实体、属性和联系。其表示方法为:用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆形框表示实体和联系的属性,实体名、属性名和联系名分别写在相应框内。 ABAAC ABCAA
第2章 习题解答
1. 思考题
(1)在SQL Server 2008中的数据库中包含哪些对象?其中什么对象是必不可少的?其作用又是什么?
答:SQL Server 2008中的数据库对象主要包括数据库关系图、表、视图、同义词、可编程性、Service Broker、存储和安全性等。其中表对象是必不可少的。表是由行和列构成的集合,用来存储数据。
(2)SQL Server提供的系统数据库master它的作用是什么?用户可以删除和修改吗?为什么? 答:master 数据库记录SQL Server 系统的所有系统级信息。主要包括实例范围的元数据、端点、链接服务器和系统配置设置以及记录了所有其他数据库的存在、数据库文件的位置以及 SQL Server 的初始化信息。用户不可以删除和修改,它是由系统创建和维护的数据库。
(3)什么文件是数据库文件?组成数据库的文件有哪些类型?如何识别?它们的作用是什么? 答:存放数据库数据和数据库对象的文件叫数据库文件;在SQL Server 2008系统中组成数据库的文件有2种类型:数据文件和事务(事务就是一个单元的工作,该单元的工作要么全部完成,要么全部不完成)日志文件。而数据文件又由主数据文件和次数据
文件组成。
1)主数据文件。一个数据库可以有一个或多个数据文件,当有多个数据文件时,有一个文件被定义为主数据文件,它用来存储数据库的启动信息和部分或全部数据,一个数据库只能有一个主数据文件,主数据文件名称的默认后缀是.mdf。
2)次数据文件。次数据文件用来存储主数据文件中没存储的其他数据。使用次数据文件来存储数据的优点在于,可以在不同物理磁盘上创建次数据文件,并将数据存储在这些文件中,这样可以提高数据处理的效率。一个数据库可以有零个或多个次数据文件,次数据文件名称的默认后缀是.ndf。
3)事务日志文件。事务日志记录了每一个事务的开始、对数据的改变和取消修改等信息。如使用INSERT、UPDATE、DELETE等对数据库进行操作都会记录在此文件中,而SELECT 等对数据库内容不会有影响的操作则不会记录在案。一个数据库可以有一个或多个事务日志文件,事务日志文件名称的默认后缀是.ldf。
SQL Server 2008中数据库文件名有2个:逻辑文件名和物理文件名。逻辑文件名是指当在T-SQL命令语句中存取某一个文件时必须使用该数据库文件的逻辑文件名,各个数据库的逻辑文件名不能相同。物理文件名是指数据库文件实际存储在磁盘上的文件名称。数据库的逻辑文件名是在Transact-SQL语言中引用的用于存取某一数据库文件的标识。物理文件名则是在操作系统环境或用户程序中引用的数据库文件标识。
(4)分离数据库和附加数据库的区别是什么?分离数据库是不是将其从磁盘上真正删除了?为什么? 答:数据库的分离就是将用户的数据库从SQL Server中删除,即从SQL Server服务器中分离出来,但是保持组成该数据的数据文件和事务日志文件中的数据完好无损,即数据库文件仍保留在磁盘上。在实际工作中,分离数据库作为对数据库的一种备份来使用。
附加数据库的工作是分离数据库的逆操作,通过附加数据库,可以将没有加入SQL Server服务器的数据库文件添加到服务器中。还可以很方便地在SQL Server 服务器之间利用分
离后的数据文件和事务日志文件组成新的数据库。
(5)数据库的收缩是不是指数据库的压缩?为什么?收缩数据库能起什么作用? 答:收缩数据库就是把数据库不需要或者没有用的东西进行资源回收,简单的说就是数据库压缩。 CBCDB BCACD
第3章 习题解答
1.思考题
(1)数据通常存储在什么对象中?表对象存储在什么文件中?什么用户可以对表对象进行操作? 答:数据通常存储在表对象中,表对象存储在数据库文件是,任何有相应权限的用户都可以对之进行操作。在SQL Server 2008中数据表的创建可以以图形界面方式完成,也可以使用T-SQL 语言的方式完成。
(2)什么是数据的完整性?数据完整性包括哪些内容?为什么要使用数据的完整性? 答:数据的完整性是指数据库中数据的正确性、有效性和一致性。
(1)正确性:指数据的合法性,如数值型数据只能包含数字,不能包含字母。 (2)有效性:指数据是否处在定义域的有效范围之内。
(3)一致性:指同一事实的两个数据应该一致,不一致即是不相容的。
通俗地讲就是限制数据库中的数据表可输入的数据,防止数据库中存在不符合语义规定的数据和因错误信息的输入输出造成的无效操作或错误信息。使用数据完整性可确保数据库中的数据质量。
(3)假定利用CREATE TABLE 命令建立下面的BOOK表: CREATE TABLE BOOK ( 总编号 char(6), 分类号char(6), 书名char(6), 单价 numeric(10,2))
则“单价”列的数据类型是什么?列宽度是多少?是否有小数位? 答:“单价”列的数据类型是数值型,列宽度是10,有小数位2位。
(4)在SQL Server 中删除数据表和删除表数据是一个问题吗?为什么?若要删除表的
定义及其数据,应使用什么语句?
答:在SQL Server 中删除数据表和删除表数据不是一个问题。删除数据表是指将整个表文件在数据库中删除,删除表数据则是对数据表的某些数据内容进行删除。若要删除表的定义及其数据,应使用语句: DROP TABLE 语句
(5)什么是实体完整性?实体完整性可通过什么措施实现?主键约束和唯一性约束有什么区别? 答:实体完整性是指一个关系中所有主属性不能取空值。所谓“空值”,就是“不知道”或“无意义”的值。实体完整性可以通过标识列、主键约束、唯一性约束以及建立唯一性索引等措施来实现。
主键约束:指定表的一列或几列的组合能唯一地标识一行记录。
唯一性约束:指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的数据。 DCABC ABAAB
第4章习题解答
1.思考题
(1)在SQL的查询语句SELECT中,使用什么选项实现投影运算?什么选项实现连接 运算?什么选项实现选择运算?
答:在SQL的查询语句中, select选项实现(投影)运算,from选项实现(连接)运算,where选项实现(选择)运算。
(2)一个子SELECT的结果作为查询的条件,即在一个SELECT语句的WHERE子句中出现另一个SELECT语句,这种查询称为什么查询?其功能是什么?
答:称为嵌套查询。嵌套查询是T-SQL语言的高级查询,它可以用多个简单的基本查询构成复杂的查询,从而增强其查询功能。
(3)在SELECT语句中, 定义一个区间范围的特殊运算符是什么?检查一个属性值是否属于一组值中的特殊运算符又是什么?