《数据库技术与应用》第5章 习题答案.docx

上传人:小飞机 文档编号:3180718 上传时间:2023-03-11 格式:DOCX 页数:8 大小:40.53KB
返回 下载 相关 举报
《数据库技术与应用》第5章 习题答案.docx_第1页
第1页 / 共8页
《数据库技术与应用》第5章 习题答案.docx_第2页
第2页 / 共8页
《数据库技术与应用》第5章 习题答案.docx_第3页
第3页 / 共8页
《数据库技术与应用》第5章 习题答案.docx_第4页
第4页 / 共8页
《数据库技术与应用》第5章 习题答案.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《数据库技术与应用》第5章 习题答案.docx》由会员分享,可在线阅读,更多相关《《数据库技术与应用》第5章 习题答案.docx(8页珍藏版)》请在三一办公上搜索。

1、数据库技术与应用第5章 习题答案第5章数据库完整性与安全性 1. 什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系? 解: 数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。 数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。 数据的完整性和安全性是两个不同的概念,但是有一定的联系: 前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就

2、是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 2. 什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类? 解: 完整性约束条件是指数据库中的数据应该满足的语义约束条件。一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。静态列级约束是对一个列的取值域的说明,包括以下几个方面:数据类型的约束,包括数据的类型、长度、单位、精度等;对数据格式的约束;对取值范围或取值集合的约束;对空值的约束;其他约束。静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。静态关系约束是

3、在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:实体完整性约束;参照完整性约束;函数依赖约束。动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:修改列定义时的约束;修改列值时的约束。动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。 3. 试述DBMS如何实现完整性控制。 解: 为了维护数据库的完整性,DBMS提供了以下三种机制: 完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件。SQ

4、L标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。这些完整性一般由SQL的DDL语义来实现。它们作为数据库模式的一部分存入数据字典中。 完整性检查方法检查数据是否满足已定义的完整性约束条件称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。检查这些操作执行后数据库中的数据是否违背了完整性约束条件。 违约处理若发现用户操作违背了完整性约束条件,应采取一定的措施,如拒绝执行该操作,或级连执行其它操作,进行违约处理以保证数据的完整性。 4. 现有以下四个关系模式: 供应商,其中供应商编号为主码; 零件,其中

5、零件编号为主码; 工程,其中工程编号为主码; 供应情况,其中供应商编号,零件编号,工程编号为主码 用SQL语句定义这四个关系模式,要求在模式中完成以下完整性约束条件的定义: 定义每个模式的主码; 定义参照完整性; 定义零件重量不得超过100千克。 解: CREATE SCHEMA Supplier_schema CREATE TABLE Supplier ( Sno CHAR(5) PRIMARY KEY, Sname CHAR(20) NOT NULL, Phone CHAR(13), Address CHAR(30) ); CREATE SCHEMA Part_schema CREATE

6、TABLE Part ( Pno CHAR(7) PRIMARY KEY, Pname CHAR(20) NOT NULL, Color CHAR(10), Weight SMALLINT CHECK(Weight 机密秘密公用,采用规则是:一是用户只能查看比它级别低或是同级的数据,二是用户只能修改和它同级的数据。 9. SQL提供了哪些数据控制语句?举例说明。 解: 数据控制语言是用来设置或者更改数据库用户或角色权限的语句。SQL中,这些语句包括GRANT、REVOKE等语句。GRANT语句向用户授予权限,REVOKE语句收回授予的权限。 例如:描述把查询Course表的权限授予所有用户的控

7、制语句为 GRANT SELECT ON Course TO PUBLIC; 描述收回用户U3修改学生学号的查询权限的控制语句为: REVOKE UPDATE(Sno) ON TABLE Student FROM U3; 10. 使用角色有什么好处?涉及角色的SQL语句有哪些? 解: 使用角色的好处:数据库角色是指被命名的一组与数据库操作相关的权限。角色是权限的集合,可以为一组具有相同权限的用户创建一个角色,角色简化了授权操作。使用角色进行授权必须先创建角色,将数据库对象上的存取权限授予角色,才能将角色授予用户,使得用户拥有角色所具有的所有存取权限。对一个角色授予、拒绝或废除的权限也适用于该角

8、色的任何成员。 涉及角色的SQL语句有:角色的创建 CREATE ROLE 给角色授权 GRANT, ON 对象名 TO , 将一个角色授予其它的角色或用户 GRANT , TO , WITH ADMIN OPTION 角色权限的收回 REVOKE, ON FROM , 11. 现有以下两个关系模式: 雇员 部门 使用SQL提供的功能完成如下操作: 允许WangHong对两个关系进行任何操作,并可以将他的权限转授他人。 允许所有用户查询部门关系。 允许所有用户查询雇员关系中除员工号、年龄和工资之外的所有属性。 允许LiLan对雇员关系中的工资属性进行修改。 定义一个角色Manager,可以对部

9、门关系进行任何操作,对雇员关系除了不能修改工资外,可以进行任何操作。 SongHua是秘书,拥有角色Manager的权限。 收回的授权。 不允许角色Manager修改雇员的职务属性值。 解: 允许WangHong对两个关系进行任何操作,并可以将他的权限转授他人: GRANT ALL PRIVILEGES ON TABLE雇员, 部门 TO WangHong; WITH GRANT OPTION; 允许所有用户查询部门关系: GRANT SELECT ON TABLE部门 TO PUBLIC; 允许所有用户查询雇员关系中除员工号、年龄和工资之外的所有属性: GRANT SELECT(姓名,部门号

10、,职务) ON TABLE雇员 TO PUBLIC; 允许LiLan对雇员关系中的工资属性进行修改: GRANT UPDATE(工资) ON TABLE部门 TO LiLan; 定义一个角色Manager,可以对部门关系进行任何操作,对雇员关系除了不能修改工资外,可以进行任何操作: CREATE ROLE Manager; GRANT ALL PRIVILEGES ON TABLE雇员,部门 TO WangHong; REVOKE UPDATE(工资) ON TABLE部门FROM Manager; SongHua是秘书,拥有角色Manager的权限: GRANTManager TO SongHua; 收回的授权。 REVOKE ALL PRIVILEGES ON TABLE雇员, 部门 FROMWangHong; REVOKE SELECT ON TABLE部门 FROM PUBLIC; REVOKE SELECT(姓名,部门号,职务) ON TABLE雇员 FROM PUBLIC; REVOKE UPDATE(工资) ON TABLE部门 FROMLiLan; 不允许角色Manager修改雇员的职务属性值: REVOKE UPDATE(职务) ON TABLE雇员FROM Manager;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号