习题及答案(7)

2019-05-18 12:59

判断D-E是否冗余。

设:G10={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→F} 得:(D)?G10=DF

?G10 ∴D→E不冗余

判断D-F是否冗余。

设:G11={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E} 得:(D)?G11∵ E?(D)=DE

?G11 ∴D→F不冗余

∴F={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F} 求得.FF=F

?D?FF ?不能以F→D代替CF→D 在决定因素中去掉F。 求得:CF=CA

?D?Cp ?不能以C→D代替CF→D ?不能以CF→D不冗余

?F={ AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F} 6 答:

l)是BCNF。二元关系中或为全码,或为一个单属性码候选码。 2)是BCNF。关系模式中只有一个候选码。 3)不是BCNF、因为模式中存在候选码为AD、BCD和BE。显然C对AD是部分依赖。 7 答:

∵ E?(D)?U1?U2=E U1-U2=AB

U1?U2→U1-U2={E→AB}={E→A,E→B}

U1?U2→U1-U2?F ?该分解具备无损连接。 8 答:

l)R的主码为IBO。

2)F={S→D,I→S,1→Q.B→Q} 令P=BOISQD

①由于R的码为IBO.选择S→D分解。 得出:?={S1,S2}

其中 S1=SD,F1={S→D};

S2=BOISQ,F2={I→S,I→Q,B→Q}。 显然S2不服从BCNF,需要继续分解:

②对S1分解,S2的码为IBO,选择I→S分解。 得出:?={S1,S2,S3} 其中:S3=IS.F3={I→S}

S4=BOIQ.F4={I→Q,B→Q} 显然.S4不服从BCNF,还需要继续分解。

③对S4分解。S4的码为IBO,选择I→Q分解。 得出:?={S1,S3,S5,S6}。 其中 S5=IQ,F5={I→Q}; S6=BIO,F6=?。

④最后的分解为:?={ SD,IS.IQ.BIO }。 9 答:

正确。因为学号能够多值决定课程号。

10 答:

BCNF。由于A多值依赖于动 而C不是码.故不服从4NF。但在函数依赖式中C依赖于码AB.故该模式服从BCNF。 11 答:

l)候选码为AC,BC.AD,BD、可选其中之一为主码。 2)不服从4NF。在多值依赖中 泱定因素中不包含码。 3)不服从BCNF。在函数依赖中决定因素中不包含码。 4)服从3NF。该模式中不存在非主属性。 12 答:

1)正确。 2) 正确。 3) 正确。 4) 正确。 5) 正确。 6) 正确。 7) 正确。

8)不正确。例如(学号 课程号)→成绩,则不存在:学号→成绩,课程号→成绩 13 答:

①把查询转换成语法树表示。

②把语法树转换成标准(优化)形式。 ③选择低层的存取路径。

④生成查询计划 选择代价最小的查询计划。 14 答:

①选择运算尽可能先做。

②在执行连接前对关系适当地预处理 即在连接属性上建立索引和对关系进行排序。

③把投影运算和选择运算同时进行。

④把投影同其前或其后的双目运算结合起来。

⑤把某些选择同在它前面要执行的笛卡儿科结合起来成为一个连接运算。 ③找出公共子表达式。 15 答. D 16 答: B 17 答: D 18 答. B 19 答: B

习题八

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

2.数据库安全性和计算机系统的安全性有什么关系? 3.试述实现数据库安全性控制的常用方法和技术。

4.SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。

5.今有两个关系模式:

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

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

1)用户王明对两个表有SELECT权力。

2)用户李勇对两个表有INSERT和DELETE权力。

3)用户刘星对职工表有SELECT权利,对工资字段具有更新权力。 4)用户张新具有修改这两个表的结构的权力。

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

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

6.把习题8.5中1)~6)的每个用户所授予的权力予以撤消。 7.什么是数据库的完整性?

8.数据库的完整性概念与数据库的安全性概念有什么区别和联系? 9.什么是数据库的完整性约束条件?可分为哪几类? 10.DBMS的完整性控制应具有哪些功能?

11.RDBMS在实现参照完整性时需要考虑哪些方面? 12.假设有下面两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,电话),其中部门号为主码.

用SQL语言定义这两个关系模式.要求在模式中完成以下完整性约束条件的定义: 1)定义每个模式的主码。 2)定义参照完整性。

3)定义职工年龄不得超过60岁。 13.在数据库中为什么要并发控制?

14.并发操作可能会产生哪几类数据不一致?用什么方法能避免这些不一致的情况? 15.什么是封锁?

16.基本的封锁类型有几种?试述它们的含义。 17.如何用封锁机制保证数据的一致性?

18.什么是封锁协议?不同级别的封锁协议的主要区别是什么? 19.不同封锁协议与系统一致性级别的关系是什么? 20.什么是活锁?什么是死锁?

21.试述活锁的产生原因和解决方法。 22.请给出预防死锁的若干方法。

23.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 24.什么样的并发调度是正确的调度? 25.试述两段锁协议的概念。

26.为什么要引进意向锁?意向锁的含义是什么?

27.理解并解释下列术语的含义:封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。

习题八解答

1 答:

数据库的安全性是指保护数据库.以防止不合法的使用数据泄密、更改或破坏。 2 答:

数据库安全性是计算机系统的安全性的一个部分.数据库系统不仅要利用计算机系

统的安全性保证自己系统的安全性.同时还会提供专门的手段和方法,使安全性能更好。例如在用户要求进入计算机系统时.系统首先根据用户输入的用户标识进行身份鉴定,只有合法的用户才准许进入计算机系统:对已进入的用户 ***S还要进行存取控制,只允许用户执行合法操作:操作系统也会提供相应的保护措施;数据最后还可以以密码形式存储到数据库中。

3 答.

①用户标识与鉴别:②存取控制:③自主存取控制方法.④强制存取控制方法:⑤视图机制;③审计.o数据加密。

4 答.

①GRANT(授权)语句

例:GRANT SELECTINSRRT ON学生 TO张勇

WITH GRANT OPTION; ②REVOKE(收回)语句

例:REVOKE INSERT ON学生 FROM张勇; 5 答:

l)GRANT SELECT ON职工,部门 TO王明

WITH GRANT OPTION;

2)GRANT INSERT, DELETE ON职工, 部门 TO李勇

WITH GRANT OPTION;

3) GRANT SELECT,UPDATE(工资)ON职工 TO刘星

WITH GRANT OPTION; 4) GRANT ALTE TABLE TO张新

WITH GRANT OPTION

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

WITH GRANT OPTION

6)CREM VIEW部门工资统计(最高工资,最低工资.平均工资) AS SELECTMAX(工资),MIN(工资),AVG(工资) FROM职工

GROUP BY部门号. GRANT SELECT ON部门工资统计 TO杨兰. 6 答:

1)REVOKE SELECT ON职工,部门 FROM王明;

2)REVOKE INSERT,DELETE ON职工, 部门 FROM李勇;

3)REVOKE SELECT,UPDATE(工资)ON职工 FROM刘星

4)REVOKE ALTER TABLE FROM张新

5)REVOKE ALL PRIVILGESON职工,部门 FROM周平

6)REVOKE SELECT ON部门统计 TO杨兰;

7 答:

数据库的完整性是指数据的正确性和相容性。 8 答:

数据库的完整性是指数据的正确性和相容性、数据库的安全性是指保护数据库.以防止不合法的使用造成的数据泄密、更改或破坏。其相同点是两者都是对数据库中的数据进行控制.各自所实现的功能目标不同。

9 答:

数据完整性约束是为了保证进入数据库中的数据的有效性而定义的数据规则、它可以分为以下两类.

①针对不同的对象可以分为表级约束、元塑级约束和属性级约束(也称列约束);表级约束是若干元组间、关系中及关系之间的约束:元组级约束则是元组中的字段组和字段间联系的约束;属性级约束主要是针对列的类型、取值范围、精度、排序等而制定的约束条件。

②针对数据对象的状态可以分为静态约束和动态约束:静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件.它是反映数据库状态稳定时的约束.动态约束是指数据库从一种状态转变为另一种状态时.新、旧值之间所应满足的约束条件.它是反映数据库状态变迁的约束。

10 答;

①定义和存储完整性功能.②检查完整性功能;③控制完整性功能。 11 答:

①外码能够接受空值的问题. ②在被参照关系中删除元组时.采用级联删除、受限删除或置生值删除的方法处理参照关系;

③在参照关系中插入元组时.可以使用受限插入、递归插入两种方法处理参照关系. ④修改关系的主码时 可以采用不允许修改主码、或允许修改关系主码.但必须保证主码的惟一性和非空性方法处理参照关系;

⑤修改被参照关系时,可以采用级联修改、拒绝修改和置空值修改方法处理参照关系。

12 答:

CREATE TABLE职工(职工号 CHAR(5)PRIMARY KEY, 姓名CHAR(8)NOT NULL, 年龄SMALLINT. 职务CHAR(10),

工资DECIMAL(7,2), 部门号CHAR(5)。

CONSTRAINT CI CHECK(年龄 <60). CONSTRAIN C2 FOREIGN KEY(部门号) REFEENCES部门(部门号)); CREAT TABLE部门(部门号CHAR(5)PRIMARY KEY. 名称CHAR(l). 经理名 CHAR(8). 电话 CHAR(8).

CONSTRAINT C3 FOREIGN KEY(经理名) REFERECES职工(姓名)); 13 答;

数据库的井发控制就是为了控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。

14 答.

井发操作可能会产生丢失修改、不可重复读和读“脏”数据的数据不一致问题。用封锁的方法能避免这些不一致的情况。

15 答.


习题及答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:未来五十年中国人口数量的预测与适度人口容量分析

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

马上注册会员

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