必考:
授予查询权限
例题:GRANT UPDATE(Sno), 增加权限
SELECT ON TABLE Student TO U4 权限给U4
WITH GRANT OPTION 允许传播
with admin option 用户传给角色
REVOKE SELECT 减少权限
ON TABLE Student FROM R1
绝密(TS)> =机密(S)> =可信(C)>= 公开(P)
选择题
1.关系模式中,满足2NF的模式( B)。
A.可能是1NF B.必定是1NF C.必定是3NF D.必定是BCNF
2. 学生表(id,name,sex,age,depart_id,depart_name),存在的函数依赖是id→{name,sex,age,depart_id}; dept_id→dept_name,其满足(B )。
A.1NF B.2NF C.3NF D.BCNF
3.完整性检查和控制的防范对象是(A)防止它们进入数据库。
A.不合语义的数据 B.非法数据 C.非法用户 D.正确的数据
安全性防范的是:B.非法数据 C.非法用户
4.以下(A)不属于实现数据库系统安全性的主要技术和方法。
A.存取控制技术 B.视图技术 C.审计技术 D.出入机房登记和加防盗门
实现数据库系统安全性的主要技术:ABC+用户身份鉴别+数据加密
5. 在数据库的安全性控制中,授权的数据对象的(A ),授权子系统就越灵活。
A.范围越小 B.约束越细致 C.范围越大 D.约束范围大
6.用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C)模式。 P29
A. 模式 B. 物理模式 C. 子模式 D. 内模式
7.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。 P5
A.DBS包括DB和DBMS B. DBMS包括DB和DBS
C. DB包括DBS和DBMS D. DBS就是DB,也就是DBMS
填空题
1.数据库的完整性是指数据的正确性和 相容性。
2.冲突可串行化调度是可串行化调度的(充分)条件。
3.SQL中的视图机制提高了数据库系统的(安全性)。
4.在数据库系统中,定义存取权限称为授权。SQL语言用 GRANT 语句向用户授予对数据的操作权限,用 REVOKE 语句收回授予的权限。
5.用户权限是由两个要素组成的:数据对象 和 操作权限 。
6.数据库角色是被命名的一组与数据库操作相关的权限,角色是 权限 的集合。
9. 并发操作带来的数据不一致性包括丢失修改、不可重复读和读脏数据。
10. SQL语言中用ROLLBACK语句实现事务的回滚,COMMIT语句实现事务的提交。
简答题
1.简述数据库设计的基本步骤。
需求分析-概念结构设计-逻辑结构设计-物理结构设计-数据库的实施-数据库的运行和维护
2.简述E-R图转换为关系模式的规则。
一个实体型转换为一个关系模型,关系的属性就是实体的属性,关系的码就是实体的码
一个1 :1的联系可以转换成一个独立的关系模式,也可以与任意一端对应的关系模式合并。
一个1 :n的联系可以转换成一个独立的关系模式,也可以与n端对应的关系模式合并
一个m : n的联系可以转换为一个关系模式
三个或三个以上的实体间的一个多元联系可以转换成为一个关系模式
3.试述数据库物理设计的内容和步骤。
确定数据库的物理结构。在关系数据库中主要指存取方法和存储结构;
对物理结构进行评价。评价的重点是时间效率和空间效率。
4. 什么是数据库中的自主存取控制方法和强制存取控制方法?
自主存取控制:用户对于不同的数据对象有不同的存储权限,不同的用户对同一对象 也有不同的权限,而且用户还可以将其拥有的存储权限转授给其他用户(C2级,安全最低档)
强制存取控制:标以密级和授予强制许可证,只有合法许可证用户才可以存取(B2级,安全产品)
5. 试述事务的概念及事务的4个特性。
原子性、一致性、隔离性、持久性
6. 什么是封锁?基本的封锁类型有哪几种?(未解)
7.试述实现数据库安全性控制的常用方法和技术。
用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每
存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库
视图机制:为不同的用户定义视图
审计:建立审计日志
数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
大题
1.考虑下图所示的日志记录
序号 | 日志 |
1 | T1:开始 |
2 | T1:写A,A=5 |
3 | T2:开始 |
4 | T2:写B,B=7 |
5 | T1:写C,C=2 |
6 | T1:提交 |
7 | T2:写C,C=6 |
8 | T3:开始 |
9 | T3:写A,A=4 |
10 | T2:回滚 |
11 | T3:写B,B=9 |
12 | T4:开始 |
13 | T3:提交 |
14 | T4:写C,C=10 |
(1)如果系统故障发生在13之后,说明哪些事务需要重做,哪些事务需要回滚。
重做:T1 回滚:T2,T3,T4
(2)如果系统故障发生在11之后,说明哪些事务需要重做,哪些事务需要回滚。
重做:T1 回滚:T2,T3
(3)如果系统故障发生在7之后,说明哪些事务需要重做,哪些事务需要回滚。
重做:T1 回滚:T2
(4)如果系统故障发生在6之后,说明哪些事务需要重做,哪些事务需要回滚。
重做:无 回滚:T1,T2
2.有一关系模式R(A,B,C,D,E),函数依赖有如下三个:A->D; D->E; A ,B->C
(1)请指出R的候选码
(2)试说明R不属于2NF的理由并将R分解为2NF模式
(3)进一步将R分解为3NF模式
(1)请指出R的候选码
根据给定的函数依赖,分析得出:
- A->D:这意味着A可以决定D的值,但D不能决定A的值。
- D->E:这意味着D可以决定E的值,但E不能决定D的值。
- A, B->C:这意味着A和B一起可以决定C的值,但C不能决定A和B的值。
根据这些函数依赖,我们可以看出A和(A, B)都可以唯一地决定一个元组在R中的值。因此,A和(A, B)都是R的候选键。
(2)判断R是否属于2NF
在2NF中,非主属性必须完全依赖于候选键,而不是部分依赖。在给定的函数依赖中,C依赖于部分候选键(A, B),因此R不属于2NF。
将R分解为2NF模式:R1(A, D) 和 R2(B, C, E)。
这里,R1只包含完全函数依赖 A->D 的部分,而 R2 包含了所有其他函数依赖。这种分解确保了每个非主属性都完全依赖于一个候选键。
(3)进一步将R分解为3NF模式
R1(A, D),R2(B),R3(C, E)。
其中,R1只包含完全函数依赖 A->D 的部分,R2只包含B,因为B是一个非主属性,满足了3NF的要求。而C和E依赖于B,但B是候选键的一部分,这意味着C和E是传递依赖于候选键的。为了满足3NF,将R2进一步分解为R3(C, E)。这种分解确保了每个非主属性都不传递依赖于候选键。
3. 假设有两个关系模式
学生(学号,姓名,年龄,班级号),其中学号为主码;
班级(班级号,班级名),其中班级号为主码。
用SQL语句定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义
(1)定义每个模式的主码(2)定义参照完整性(3)定义学生年龄不得超过30岁.
定义主码:学号 int(10)primary key
参照完整性:foreign(班级号)reference 学生(班级号)
定义不超过:check(年龄<=30)