第1章
1.思考题
(1)答:数据库是存贮在计算机内的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。
(2)答:主要有:分布式数据库、面向对象数据库、多媒体数据库、数据仓库技术、空间数据库。
(3)答:数据模型是一组描述数据库的概念。这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。很多数据模型还包括一个操作集合。这些操作用来说明对数据库的存取和更新。数据模型应满足3方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向对象的模型。
(4)答:
1)选择运算:从关系中筛选出满足给定条件的元组(记录)。选择是从行的角度进行运算,选择出的记录是原关系的子集。
2)投影运算:从关系中指定若干个属性(字段)组成新的关系。投影是从列的角度进行运算,得到的新关系中的字段个数往往比原关系少。
3)连接运算:将两个关系按照给定的条件横向拼接成新的关系。 连接过程是通过两个关系中公有的字段名进行的。
(5)答:一个关系中可以确定一个字段为关键字段,该字段的值在各条记录中不能有相同的值。(如:门牌号码);关键字段的作用主要是为建立多个表的关联和进行快速查询。
(6)答:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素有3种,即实体、属性和联系。其表示方法为:用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆形框表示实体和联系的属性,实体名、属性名和联系名分别写在相应框内。
2.选择题
(1)A
(2)B
(3)A
(4)A
(5)C
(6)A
(7)B
(8)C
(9)A
(10)A
第2章
1. 思考题
(1)答:SQL Server 2008中的数据库对象主要包括数据库关系图、表、视图、同义词、可编程性、Service Broker、存储和安全性等。其中表对象是必不可少的。表是由行和列构成的集合,用来存储数据。
(2)答: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)答:收缩数据库就是把数据库不需要或者没有用的东西进行资源回收,简单的说就是数据库压缩。
2.选择题
(1)C
(2)B
(3)C
(4)D
(5)B
(6)B
(7)C
(8)A
(9)C
(10)D
第3章
1.思考题
(1)答:数据通常存储在表对象中,表对象存储在数据库文件是,任何有相应权限的用户都可以对之进行操作。在SQL Server 2008中数据表的创建可以以图形界面方式完成,也可以使用T-SQL 语言的方式完成。
(2)答:数据的完整性是指数据库中数据的正确性、有效性和一致性。
(1)正确性:指数据的合法性,如数值型数据只能包含数字,不能包含字母。
(2)有效性:指数据是否处在定义域的有效范围之内。
(3)一致性:指同一事实的两个数据应该一致,不一致即是不相容的。
通俗地讲就是限制数据库中的数据表可输入的数据,防止数据库中存在不符合语义规定的数据和因错误信息的输入输出造成的无效操作或错误信息。使用数据完整性可确保数据库中的数据质量。
(3)答:“单价”列的数据类型是数值型,列宽度是10,有小数位2位。
(4)答:在SQL Server 中删除数据表和删除表数据不是一个问题。删除数据表是指将整个表文件在数据库中删除,删除表数据则是对数据表的某些数据内容进行删除。若要删除表的定义及其数据,应使用语句:
DROP TABLE 语句
(5)答:实体完整性是指一个关系中所有主属性不能取空值。所谓“空值”,就是“不知道”或“无意义”的值。实体完整性可以通过标识列、主键约束、唯一性约束以及建立唯一性索引等措施来实现。
主键约束:指定表的一列或几列的组合能唯一地标识一行记录。
唯一性约束:指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的数据。
2.选择题
(1)C
(2)C
(3)A
(4)B
(5)C
(6)A
(7)B
(8)A
(9)A
(10)B
第4章
1.思考题
(1)答:在SQL的查询语句中, select选项实现(投影)运算,from选项实现(连接)运算,where选项实现(选择)运算。sql server两种身份验证模式
(2)答:称为嵌套查询。嵌套查询是T-SQL语言的高级查询,它可以用多个简单的基本查询构成复杂的查询,从而增强其查询功能。
(3)答:在SELECT 语句中,定义一个区间范围的特殊运算符是BETWEEN,检查一个属性值是否属于一组值的特殊运算符是IN。
(4)答:工资>=2000 AND 工资<=5000
(5)答:查询成绩表中所有成绩大于平均成绩的记录
2.选择题
(1)B
(2)D
(3)C
(4)B
(5)D
(6)C
(7)D
(8)A
(9)C
(10)D
第5章
1.思考题
(1)答:聚集索引(Clustered)将数据行的键值在数据表内排序并存储对应的数据记录,使得数据表的物理顺序与索引顺序一致。非聚集索引(Non-clustered)具有完全独立于数据行的结构。数据存储在一个地方,索引存储在另一个地方。
聚集索引确定表中数据的物理顺序。非聚集索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
(2)答:一个表中的数据只能按照一种顺序来存储,所以一个表中只能创建一个聚集索引。
唯一索引是给所做的索引增加了唯一性的约束,添加,修改索引列中数据时,不允许出现重复值。聚集索引是唯一的,也可以不是唯一的,就看如何定义。
(3)答:视图和数据表的区别:
1)视图是已经编译好的sql语句。而表不是。
2)视图没有实际的物理记录。而表有。
3)表是内容,视图是窗口。
4)表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改。
5)表是内模式,视图是外模式。
6)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7)表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8)视图的建立和删除只影响视图本身,不影响对应的基本表。
(4)答:不能基于临时表建立视图。由SELECT INTO语句可建立临时表,在CREATE VIEW语句中不能使用INTO关键字。
(5)答:视图的信息存放在系统表中,可以使用查询语句或系统存储过程进行查询。由于视图实际上并不存储记录,因此更新视图的操作最终都转化为对基表的更新操作。
2.选择题
(1)A
(2)C
(3)C
(4)A
(5)A
(6)B
(7)C
(8)C
(9)A
(10)A
第6章
1.思考题
(1)答:存储过程是SQL Server服务器中一组(预编译)的T-SQL语句的集合,是存储在数据库中的程序,这些程序是用来完成对数据库的指定操作。存储过程具有如下优点:
1) 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2) 当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。这些操作,如果用程序来完成,就变成了一条条的 SQL 语句,可能要多次连接数据库。而使用存储过程,只需要连接一次数据库就可以了。
3) 存储过程可以重复使用,可减少数据库开发人员的工作量。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论