数据库系统概论 4-6章

第4讲数据库安全性

- 数据库的安全性概述

不安全因素
1.非授权对数据库的恶意存取和破坏。
2.数据库中重要的数据泄露。
3安全环境的脆弱性。

- 数据库安全性控制

1.用户身份鉴别。
2.存取控制。
3.自主存取控制方法。
4.授权:授予和收回。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

- 视图机制

为不同的用户定义不同的视图,把不需要的数据给隐藏,这样用户就不会进行错误的操作。

- 审计

把对数据库的全部操作记录的审计日志中,就可以通过审计日志查看是否有非法的行为。

- 数据加密

通过一些加密方法,把明文变成密文,这样别人就无法查看。

第5讲数据库完整性

- 正确性,相容性

正确性:符合现实世界语义。
相容性:同一对象在不同表中的数据符合逻辑的。

为维护完整性,需要实现功能:
1.提供定义完整性的约束条件的机制
2.提供完整性检查方法
3.进行违约处理

- 三大完整性

实体完整性:主码唯一且非空。

参照完整性:外码要么为空,要么对应另外一张表的主码。

用户定义完整性:
属性上的约束条件的定义
1.非空 NOT NULL
2.列值唯一 UNIQUE
3.满足某一条件表达式 check
创建用check进行完整性约束

create table Student
(
   Sno char(9),
   Sname char(8) not null,
   Ssex char(2),
   check(Ssex='女' or Sname NOT like '张%')
)

用constraint进行完整性约束
在这里插入图片描述

- 断言

创建断言:
create assertion<断言句><CHECK子句>
在这里插入图片描述

- 触发器

触发器:用户定义在关系表上的一类由事件驱动的特殊过程。

建立触发器

CREATE TRIGGER<触发器名>
[BEFORE|AFTER<触发事件>ON<表名>] /在执行前触发还是执行后触发
REFERENCING NEW|ROW AS<变量>
FOR EACH{ROW|STATEMENT} /行触发器(更新一行就执行一行)还是语句触发器(整个表更新完才执行)
[WHIE<触发事件>]<触发器动作体>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除触发器:DROP TRIGGER <触发器名>ON<表名>

第6讲关系数据理论

- 存在的问题

关系模式存在的问题
1.数据冗余:比如名字重复出现,浪费空间。
2.更新异常:更新后数据不一致。比如班主任换名字,每个学生对应的每行都得换。
3.插入异常:应该插入的无法插入。比如系刚成立无法插入数据。
4.删除异常:不应该删除的被删除。比如学生毕业,老师也没了。

- 函数依赖

在这里插入图片描述
在这里插入图片描述(学号->姓名)就是完全 函数依赖


AD推出全部,A推出ABC,D推出DE。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

- 范式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

- 模式的分解

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值