数据库系统原理第五、六章作业

2023-10-08 13:30

本文主要是介绍数据库系统原理第五、六章作业,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据库系统原理第五、六章作业

一、选择题

1.保护数据以防止未经授权或不合法的使用造成的数据泄露、更改或破坏,是指数据库的(     A   )。

  A.安全性控制            B.完整性控制

  C.并发控制              D.故障恢复

2.以下(D )不属于实现数据库系统安全性的主要技术和方法。

A.存取控制技术      B.视图技术

C.审计技术          D.出入机房登记和加锁

3.SQL中的视图提高了数据库系统的(D )。

A.完整性           B.并发控制

C.隔离性           D.安全性

4.SQL语言的GRANT和REVOKE语句主要是用来维护数据库的(C)。

A.完整性    B.可靠性     C.安全性     D.一致性

5.在数据库的安全性控制中,授权的数据对象的(A),授权子系统就越灵活。

 A.范围越小   B.约束越细致  C.范围越大  D.约束范围大

6.将查询关系S的权限授予用户WANG,并允许该用户将此权限授予其他用户。实现此功能的SQL语句是( D     )

A.GRANT  SELECT  TO  S  ON  WANG  WITH  PUBLIC

B.GRANT  SELECT  ON  S  TO  WANG  WITH  PUBLIC

C.GRANT  SELECT  TO  S  ON  WANG  WITH  GRANT  OPTION

D.GRANT  SELECT  ON  S  TO  WANG  WITH  GRANT  OPTION

7. 把对关系SC的属性GRADE的修改权,授予用户Wuser的SQL语句是(  A    )。

A、GRANT UPDATE (GRADE) ON SC TO Wuser  

B、GRANT UPDATE ON SC TO Wuser

C、GRANT GRADE ON SC TO Wuser 

D、GRANT UPDATE ON SC (GRADE) TO Wuser

8.下列SQL语句中,能够实现“收回用户U4对学生表(STUD)中学号(XH)的修改权限”这一功能的是( C    )。

A.REVOKE UPDATE(XH) ON TABLE FROM U4

B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC

C.REVOKE UPDATE(XH) ON STUD FROM U4

D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC

9.下面关于函数依赖的叙述中,不正确的是( B     )。

A.若X→Y,X→Z,则X→YZ            B.若XY→Z,则X→Z, Y→Z
C.若X→Y,WY→Z,则XW→Z     D.若X→Y,则XZ→YZ

10.当关系模式R(A,B)已属于3NF,下列说法中(  A     )是正确的。

A.仍存在一定的插入和删除异常      B.它一定消除了插入和删除异常    

C.一定属于BCNF                    D.B和C都是

11.消除了部分函数依赖的1NF的关系模式,必定是( B      )。

A.1NF     B.2NF     C.3NF     D.4NF

12.关系数据库规范化是解决关系数据库中(A  )问题而引入的。

  1. 插入、删除和数据冗余   B. 提高查询速度 

C.减少数据操作的复杂性  D. 保证数据的完整性和安全性

13.在关系DB中,任何二元关系模式的最高范式必定是( D  )。

A.1NF     B.2NF     C.3NF     D.BCNF

14.当B属于函数依赖于A属性时,属性A和B的联系是(  C    )。

A.1:1       B.1:m       C.m:1    D.m:n

15.关系模式R中的属性全部都是主属性,则R的最高范式必定是( C )。

A.2NF     B.3NF     C.4NF     D.BCNF

16.消除了传递依赖的2NF的关系模式必定是(   B  )。

A.2NF     B.3NF     C.BCNF       D.4NF

17.下面“教研室”关系中,因哪个属性而使得该关系不满足第一范式?(D    )

教研室(教研室编号,教研室名称,教研室主任编号,教研室成员)

  1. 教研室编号 B.教研室名称 C.教研室主任编号 D.教研室成员

18.下图中给定关系R(  D   )

A.是2NF                                 B.是3NF   但不是2NF    

C.是3NF   但不是BCNF       D.是BCNF

19.下图中给定关系R是(   A  )

A.2NF     B.3NF     C.4NF     D.BCNF

20.一关系模式为运货路径(顾客姓名,顾客地址,商品姓名,供应商姓名,供应商地址),该关系模式的主键是( C    )

A.顾客姓名,供应商姓名                B.顾客姓名,商品姓名      

C.顾客姓名,商品姓名,供应商姓名      D.顾客姓名,顾客地址

1

2

3

4

5

6

7

8

9

10

A

D

D

C

A

D

A

C

B

A

11

12

13

14

15

16

17

18

19

20

B

A

D

C

C

B

D

D

A

C

二、解答题

  1. 给定关系模式 r(R)=r(A, B, C, D),函数依赖集F2={ABC®D, D®A},找出关系r(R)的所有候选码。

ABC,BCD

2.指出下列关系模式是第几范式?

(1)DCNF

(1)3NF

(1)BCNF

(1)BCNF

3.设有关系模式R(A,B,C,D,E),其上的函数依赖集:F={A→BC,CD→E,B→D,E→A}

(1)计算B+;

(2)求出R的所有候选关键字。

(1)B+=BD

(2)R的所有候选码为A,CD,E

4.今有两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号) 部门(部门号,名称,经理名,地址,电话号) 请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

(a)用户王明对两个表有SELECT权力;

(b)用户李勇对两个表有INSERT和DELETE权力;

(c)*每个职工只对自己的记录有SELECT权力;

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

(e)用户张新具有修改这两个表的结构的权力;

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

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

(a)

GRANT SELECT

ON TABLE 职工

TO 王明;

GRANT SELECT

ON TABLE 部门

TO 王明;

(b)

GRANT INSERT, DELETE

ON TABLE 职工

TO 李勇;

GRANT INSERT, DELETE

ON TABLE 部门

TO 李勇;

(c)

CREATE VIEW 职工视图

AS

SELECT *

FROM 职工

WHERE concat(姓名,'@localhost') = USER();

GRANT SELECT

ON 职工视图

TO 王明,李勇,刘星, 张新,周平,杨兰;

(d)

GRANT SELECT, UPDATE(工资)

ON TABLE 职工

TO 刘星;

(e)

GRANT ALTER

ON TABLE 职工

TO 张新;

GRANT ALTER

ON TABLE 部门

TO 张新;

(f)

GRANT ALL PRIVILEGES

ON TABLE 职工

TO 周平

WITH GRANT OPTION;

GRANT ALL PRIVILEGES

ON TABLE 部门

TO 周平

WITH GRANT OPTION;

(g)

CREATE VIEW 部门工资(名称,最高工资,最低工资,平均工资)

AS

SELECT `部门`.`名称`, MAX(`工资`), MIN(`工资`), AVG(`工资`)
FROM `职工`, `部门`

WHERE `职工`.`部门号` = `部门`.`部门号`

GROUP BY `职工`.`部门号`;

GRANT SELECT

ON 部门工资

TO 杨兰;

这篇关于数据库系统原理第五、六章作业的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/165599

相关文章

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L