浙大远程 - 数据库系统概论离线作业答案 联系客服

发布时间 : 星期四 文章浙大远程 - 数据库系统概论离线作业答案更新完毕开始阅读c67f5bac453610661ed9f4e5

第四章习题4、8、9、11

4 .试述TcsEC ( TDI )将系统安全级别划分为4 组7 个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC ( TDI )将系统划分为四组

(division ) 7 个等级,依次是D 、C ( CI , CZ )、B ( BI , BZ , B3 )、A ( AI ) ,按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:

D 级D 级是最低级别。一切不符合更高标准的系统,统统归于D 组。

Cl 级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制( DAC ) , 保护或限制用户权限的传播。 C2 级实际是安全产品的最低档次,提供受控的存取保护,即将Cl 级的DAC 进一步细化,以个人身份注册负责, 并实施审计和资源隔离。

Bl 级标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制( MAC ) 以及审计等安全机制。

B2 级结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC 和MACo

B3 级安全域。该级的TCB 必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。 Al 级验证设计,即提供B3 级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。

8.今有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号) 部门(部门号,名称,经理名,地址,电话号)

请用 SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

(a)用户王明对两个表有SELECT权力; GRANT SELECT ON 职工,部门 TO 王明;

(b)用户李勇对两个表有INSERT和DELETE权力; GRANT INSERT,DELETE ON 职工,部门 TO 李勇;

(c)每个职工只对自己的记录有SELECT权力; GRANT SELECT ON 职工 WHEN USER()= NAME TO ALL;

这里假定系统的 GRANT语句支持WHEN子句和USER()的使用。用户将自己的名字作为ID。注意,不同的系统这些扩展语句可能是不同的。读者应该了解你使用的DBMS产品的扩展语句。

(d)用户刘星对职工表有SELECT权力,对工资字段具有更新权力; GRANT SELECT,UPDATE(工资) ON 职工

TO 刘星;

(e)用户张新具有修改这两个表的结构的权力; GRANT ALTER TABLE ON 职工,部门 TO 张新;

(f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力;

GRANT ALL PRIVILIGES ON 职工,部门 TO 周平

WITH GRANT OPTION;

(g)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。

答:首先建立一个视图。然后对这个视图定义杨兰的存取权限。 CREATE VIEW 部门工资 AS SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门

WHERE 职工.部门号 = 部门. 部门号 GROUP BY 职工.部门号; GRANT SELECT ON 部门工资 TO 杨兰;

9 .把习题8 中(1)---(7)的每一种情况,撤销各用户所授予的权力 答:(1) REVOKE SELECT ON 职工,部门 FROM 王明;

(2) REVOKE INSERT , DELETE ON 职工,部门 FROM 李勇; (3) REOVKE SELECT ON 职工WHEN USER ( ) =NAMEFROM ALI ; (4) REVOKE SELECT , UPDATE ON 职工FROM 刘星; (5) REVOKE ALTER TABLE ON 职工, 部门FROM 张新; (6) REVOKE ALL PRIVILIGES ON 职工, 部门FROM 周平;

(7) REVOKE SELECT ON 部门工资FROM 杨兰;DROP VIEW 部门工资;

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

答:主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。

客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。对于主体和 客体,DBMS 为它们每个实例(值)指派一个敏感度标记(Label )。 敏感度标记被分成若干级别,例如绝密(Top Secret )、机密(Secret )? 可信( Confidential )、公开(PubliC )等。主体的敏感度标记称为许可证级别(ClearanCe 玫vel ) ,客体的敏感度标记称为密级(Classification Level )。

第五章习题2、5、6、7

2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系?

答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garba : e InGarba : e out )所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

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

答: RDBMS在实现参照完整性时需要考虑以下几个方面: 1)外码是否可以接受空值

2)删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种: (a) 级联删除(CASCADES); (b) 受限删除(RESTRICTED); (c) 置空值删除(NULLIFIES)

3)在参照关系中插入元组时的问题,这时系统可能采取的作法有: (a)受限插入 (b)递归插入

4)修改关系中主码的问题

一般是不能用 UPDATE语句修改关系主码的。如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。

如果允许修改主码,首先要保证主码的唯一性和非空,否则拒绝修改。然后要区分是参照关系还是被参照关系。

6 .假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其

中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。用 sQL 语

言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的

主码;定义参照完整性;定义职工年龄不得超过 60 岁。 答:CREATE TABLE DEPT (Deptno NUMBER(2), Deptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12)

CONSTRAINT PK_SC RIMARY KEY(Deptno)); CREATE TABLE EMP (Empno NUMBER(4), Ename VARCHAR(10), Age NUMBER(2),

CONSTRAINT C1 CHECK ( Aage<=60), Job VARCHAR(9),

Sal NUMBER(7,2), Deptno NUMBER(2), CONSTRAINT FK_DEPTNO FOREIGN KEY(Deptno)

REFFERENCES DEPT(Deptno));

7.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的? 答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。

第六章习题2、12

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、系办公地点、人数。

描述学会的属性有:学会名、成立年份、办公地点、人数。 语义如下的:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在? 解:(1)关系模式如下:

学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) (2)每个关系模式的最小函数依赖集如下:

A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如 下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno 传递依赖如下:

由于SnoDept,而DeptSno ,DeptRno(宿舍区) 所以Sno与Rno之间存在着传递函数依赖。

由于ClassDept,Dept Class,DeptRno 所以Class与Rno之间存在着传递函数依赖。 由于SnoClass,ClassSno,ClassDept 所以Sno与Dept之间存在着传递函数依赖。

B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下: ClassPname,ClassCnum,ClassCyear,PnameDept. 由于ClassPname,PnameClass,PnameDept