数据库原理及应用第八章课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题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、数据库安全性和计算机系统的安全性有什么关系?
计算机系统中,安全措施是一级一级层层设置。
计算机系统的安全模型
数据库系统的安全机制
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利用审计日志跟踪的信息,重现导致数据库出现状况的一系列事件,找出