数据库原理及应用课后习题答案机械工业出版社王丽艳(5)

2019-02-20 20:47

盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。

由于数据库镜像是通过复制数据实现的,频繁地复制数据自然会降低系统运行效率,因此在实际应用中用户往往只选择对关键数据和日志文件镜像,而不是对整个数据库进行镜像。

习题8

1、 什么是数据库的安全性?

数据库的安全性是指数据库的任何数据都不允许受到恶意的侵害或未经授权的存取或修改。主要内涵包括三个方面:

①保密性:不允许未经授权的用户存取数据。 ②完整性:只允许被授权的用户修改数据。

③可用性:不应拒绝已授权的用户对数据进行存取。

2、 什么是数据库的完整性?

数据库的完整性是指数据库中数据的正确性和一致性。数据库的完整性对数据库应用系统非常重要。

3、 什么是数据库的完整性约束条件?

为了保证数据库中的数据完整性,SQL Server设计了很多数据完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。

4、 DBMS的完整性控制机制应具有哪些功能?

1) 数据库的完整性约束能够防止合法用户向数据库中添加不合语义的数据。 2) 完整性控制机制易于理解,可以降低应用程序的复杂性,提高运行效率。 3) 合理的数据完整性设计,能够兼顾数据库的完整性和系统的性能。 完善的数据库完整性,有助于尽早发现应用程序的错误。

5、 DBMS在实现参照完整性时需要考虑哪些方面?

强制参照完整性时,SQL Server将防止用户执行下列操作:

1)在主表中没有关联的记录时,将记录添加或更改到相关表中。 2)更改主表中的值,导致相关表中生成孤立记录。

3)从主表中删除记录,但仍存在于该记录匹配的相关记录。

6、 在关系系统中,当操作违反实体完整性、参照完整性和用户定义完整性约束条件时,一

般是如何处理的?

系统可以采用以下的策略加以处理:

1)拒绝(NO ACTION)执行:不允许该操作执行,该策略一般为默认策略。

2)级联(CASCADE)操作:当删除或修改被参照表的一个元组造成了与参照表不一致,则删除或修改参照表中的所有造成不一致的元组。

3)设置为空值(SET-NULL):当删除或修改被参照表的一个元组造成了与参照表不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。

7、 数据库安全性和计算机系统的安全性有什么关系? 计算机系统中,安全措施是一级一级层层设置。

安全性控制层次高低用户用户标识和鉴别DBMS存取控制审计视图OS操作系统安全保护DB数据密码存储

计算机系统的安全模型

数据库系统的安全机制

8、 试述实现数据库安全性控制的常用方法和技术。

在数据库系统中,一般采用用户表示和鉴别、存取控制技术、审计技术和权限控制视图机制等进行安全控制。

9、 什么是数据库中自主存取控制方法和强制存取控制方法?

自主存取控制能够通过授权机制有效地控制对敏感数据的存取。但是,由于用户对数据的存取权限是“自主”的,用户可以自由地决定将数据的存取权限授予何人、决定是否也将“授予”的权限授予别人。在这种授权机制下,仍存在数据的泄露。

所谓强制存取控制是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。它不是用户能直接感知或进行控制的。MAC适用于对数据有严格而固定密级分类的部门。

10、SQL中提供了哪些数据控制的语句?

1)给角色授权

GRANT <权限>[,<权限>]… ON <对象类型>对象名 TO <角色>[,<角色>]…

2) 角色权限的收回

REVOKE <权限>[,<权限>]… ON <对象类型><对象名>

FROM <角色>[,<角色>]…

11、现有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),部门(部门号,名称,经理名,地址,电话),请用SQL中的GRANT和REVOKE语句实现以下功能: 1) 用户王明对两个表有SELECT权限

GRANT SELECT ON TABLE 职工,部门 TO 王明 2) 用户李永对两个表有INSERT和UPDATE 权限。

GRANT INTSET,UPDATE ON TABLE 职工,部门 TO 李永

3) 每个职工对自己的记录有SELECT权限。 GRANT SELECT ON TABLE 职工TO PUBLIC

4) 用户刘星对职工表有SELECT权力,对工资字段有更新权限。 GRANT SELECT ,UPDATE(工资)ON TABLE 职工 TO 刘星

5) 收回用户王明具有的权限。

REVOKE ALL PRIVILIAGES FROM 王明

12、理解并解释MAC机制中的主体、客体和敏感度标记的含义。

在MAC中,DBMS所管理的全部实体被分为主体和客体两大类。主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引和视图等。对于主体和客体,DBMS为它们每个实例指派一个敏感度标记(Label)。

敏感度标记被分为若干等级,例如绝密(Top Secret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别(Clearance Level),客体的敏感度标记称为密级(Classification Level)。MAC机制就是通过对比主体的LABEL和客体的LABEL,最终确定主体是否能够存取客体。

当某一用户(或主体)以标记LABLE注册入系统时,系统要求它对任何客体的存取必须遵循如下规则:

1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体。 2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。

13、什么是数据库的审计功能,为什么提供审计功能?

按照TDI/TCSEC标准中安全策略的要求,“审计”功能就是DBMS达到C2以上安全级别必不可少的一项指标。

通过审计,可以把用户对数据库的所有操作自动记录下来放入审计日志(Audit Log)中,这样,DBA利用审计日志跟踪的信息,重现导致数据库出现状况的一系列事件,找出

非法存取数据的人、时间和内容等,以便追查有关责任;同时审计也有助于发现系统方面的弱点和漏洞。

习题9

1、 什么是批处理?提交批处理的方法有哪些?

批处理是一组Transact-SQL 语句,其中可以包括变量和流程控制语言,由客户端应用程序一次性地发送到数据库服务器,SQL Server的数据库服务器将批处理语句编译成一个可执行的单元,此单元称为执行计划,执行计划中的语句被逐条执行。

提交批处理的方法: 1) 选择部分执行 2)分段提交

2、 SQL中变量有几种类型? 1)系统的数据类型

包括二进制、精确数字、近似数字、字符串、日期时间等几大类型。 2)用户定义数据类型

3、 试述SQL程序设计中如何进行变量的声明和使用。 Transact-SQL中的变量分为局部变量和全局变量。

局部变量可以保存指定类型的单个数据值的对象,在声明、赋值和引用时,其名称前使用@。全局变量是由系统提供且预先声明的变量,在引用它时,在名称前标以@@。

局部变量遵循“先声明后使用”的原则。

全局变量是由系统提供并且预先声明的变量,不需要在程序中声明,系统根据当前的运行环境和状况对其进行赋值,用户程序不能改变其值,但它可以被任何批处理程序、存储过程和函数读取,在查询分析器中读取全局变量的方法和读取局部变量的方法一样。

4、 表达式中各种类型数据如何转换的? ①数值和字符混合运算

字符被转换为数值,若不能直接转换,则提示语法错误。 ②日期和数值混合运算

日期和数值混合运算将得到日期向前或向后的推移n天后的日期。 ③日期相减和字符串转换为日期

日期相减的结果仍为日期,得到该日期的方法是: 首先计算两个日期之间的天数N,同一天日期相减后的天数N=1,然后在固定日期1900-01-01加上N-1天后的日期就是日期相减的结果。 ④日期转换为数值 只能使用显示转换,1900-01-01被转换为0,其他日期被转换为1900-01-01到该日期的天数。 ⑤日期转换为字符串

在函数的参数中,参数的类型为字符串,而实际代入的日期型表达式。

5、 试述标量函数和表值函数的区别。

标量函数一旦建立,就永久存在,除非使用DROP FUNCTION删除。同一个函数不能重复创建,必须先删除,然后重新创建。如果是以sa用户名登陆数据库,则其创建的所有对

象包括函数都属于一个特定的数据库用户dbo,在引用其中的函数时必须在函数名前加“dbo.”。

表值函数可以返回一个表。即其返回类型是table类型。表值函数分为单语句表值函数和多语句表值函数。如果一个查询比较复杂,可以考虑使用单语句表值函数,如果一个查询根本无法用一个SELECT语句完成,就可以考虑使用多语句表值函数,即用一段程序来获得查询数据。

6、 临时表分为几类?如何区分?

1)本地临时表

使用CREATE创建数据表时,数据表名以“#”,则SQL Server 就把该表处理为本地临时表。

2)全局临时表

使用CREATE创建数据表时,数据表名以“##”,则SQL Server 就把该表处理为全局临时表。

7、 全局临时表有哪些特点?

1) 生存期:在创建此表的连接断开并且其他连接停止对其引用时被自动删除。 2) 作用域:在生存期内,所有与数据库的连接都能访问它。

3) 全局性:在不同的与数据库的连接下,不允许重复创建同名的全局临时表,所有连接对

同名的临时表的读写操作针对的是同一个数据表。

8、 本地临时表有哪些特点?

1)生存期:所有在和数据库连接期间创建的本地临时表在连接断开时自动被删除。对存

储过程建立的本地临时表,当存储过程结束,将自动删除这些本地临时表。 2) 本地临时表之间的独立性。SQL在内部对每个本地临时表的表名追加了一个数字后

缀,保证了不同连接创建的同名的本地临时表其实是不同的表。

3) 存储过程中的作用域:创建本地临时表的存储过程以及该存储过程所调用的存储过

程都可以引用该临时表,但调用创建此表的存储过程不能引用该表。

9、 试述表变量的局限性。

1) 不支持在表变量之间进行赋值操作。

2) 对表变量的插入、更新和删除无法通过事务控制来回滚。 3) 不能作为存储过程的参数,更不能作为输出参数。 4) 在表变量上不能创建非聚集索引。

5) 由于表变量的作用域的限制,表变量只能存放中间结果。

10、 采用游标的作用是什么?

数据库管理系统建立一个结果表,包含通过嵌入在C应用程序中的SQL语句查询获得的所有数据行,通过游标标识并指向结果表的当前行。

11、 试述使用游标的步骤。

声明游标、打开游标、移动游标指针并取得当前行数据、关闭和释放游标。

12、 试述游标的声明、打开、提取、关闭和释放的相关语句形式。

1) 定义游标


数据库原理及应用课后习题答案机械工业出版社王丽艳(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:简单机械和功、机械能和内能一轮复习 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: