使用教材《数据库系统概论》
一
- 数据库定义 p4
- 数据库数据具有:永久存储,有组织,可共享
数据库提供数据存储功能
数据库管理系统提供数据组织,存取,管理和维护等基础功能
数据库应用系统根据应用需求使用数据库 - 数据库系统的特点 P11
数据结构化
数据共享性高、冗余度低且易扩展
数据独立性高
数据由数据库管理系统统一管理和控制 - 数据模型是数据库系统的核心和基础 关系模型是数据模型的一种
- 概念模型(按用户的观点对数据和信息建模) 实体-联系表示方法E-R图
- 逻辑模型(用于数据库管理系统的实现)
物理模型(描述数据在系统内部的表示方式和存取方法)
数据模型由 数据结构,数据操作,数据完整性约束条件
- 数据库三级模式 P29
两层映像
二
- 关系模型由 关系数据结构 关系操作集合 关系完整性约束
- 悬浮元组 P55 外连接 左外连接 右外连接
三
- SQL特点 P76 综高集同易
- 综合统一:集数据定义语言,数据操纵语言,数据控制语言于一体
- 高度非过程化:存储路径的选择以及SQL操作过程由系统自动完成
- 面向集合的操作方式:操纵对象,查找结果都可以是元组的集合
一次插入,删除,更新的对象也可以是元组的集合 - 以同一种语法结构提供多种使用方式
可以作为独立的语言,独立的进行联机交互,也能嵌入到高级语言中,两种方式下SQL结构语法基本上一致/ - 语言简洁,易学易用
- 行列子集视图 P122
- 视图消解 P124
有效性检查 转换等价的对基本表查询 执行修正后的查询
行列子集视图的查询均可以做到正确的转换,但非行列子集视图不一定 - 视图的作用 P128 简多独机表
- 简化用户操作
- 以多角度看待同一数据
- 提供了一定的逻辑独立性
- 对机密文件提供安全保护
- 可以更清晰的表达查询
四
-
数据库安全性:保护数据库以防止不合法使用所造成的数据泄露,更改,破坏
防止非法用户,操作对数据库数据的非法存取 -
数据库有关安全性:用户身份鉴别,多层存取控制,审计,视图,数据加密
-
存取控制机制: 定义用户权限: 将用户权限登记到数据字典中
合法权限检查:DBMS查找数据字典,根据安全规则进行合法权限 的检查 -
自主存取控制: 用户对于不同数据库对象有不同的存取权限
不同用户对同一对象也有不同的权限
强制存取控制: 每个数据库对象标有一定密级,每个用户也被授予某一个级别的许可 证,只有合法的许可证的用户才可以存取该对象 -
数据库角色: 被命名的一组与数据库操作相关的权限,角色是权限的集合
-
自主存取控制机制对数据的存取权限来进行安全控制,而数据本身并没有安全性标记
强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据都是不可分割的整体,只有符合密级标记要去的用户才可以操纵数据,从而提供了更高级别的安全性 -
强制存取控制规则:
- 仅当主体的许可证级别>=客体的密级时,该主体才可以读取
- 仅当主体的许可证级别<= 客体的密级时,该主体才可以写
- 系统先进行自主存取控制的检查,对通过自主存取控制检查的允许存取的数据库对象
再由系统自动进行强制存取控制的检查,只有通过的才可以存取
五
- 数据库完整性:为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不 正确的数据
对不符合语义,不正确的数据防止他们进入数据库 - 数据库完整性需要实现的功能:
(1)提供定义完整性约束的条件的机制
(2)提供完整性检查的方法
对于参照完整性有 拒绝(No action) 级联(Cascade) 空
foreign key () references _() on delete cascade
sex char(2) check (sex in (‘1’,’2’))
(3)进行违约处理
六
- 2NF:消除了非主属性对码的部分依赖
3NF:消除了非主属性对码的传递依赖
BCNF:消除了任何对码的传递依赖和部分依赖 每一个决定因素都包含码 - 求闭包 求候选码 求最小函数依赖集
七
- 概念结构设计:将需求分析得到的用户需求抽象为信息结构 E-R图
逻辑结构设计:把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS所支持的 数据模型相符的逻辑结构
(联系转化关系):只要与一端合并,一定要把另一端的码加上
自己为一个关系模式,两端的码都要,主码为n端的
物理结构设计:为关系模式选择存取方法,设计数据库文件的物理存储结构
九
- 查询处理 P275
(1)查询分析 分析语法
(2)查询检查 检查语义
(3)查询优化 代数优化,物理优化
(4)查询执行 - 连接操作
(1)嵌套循环 — 小表为外表 Br+Br*Bs/(k-1)
(2)排序-合并
(3)索引连接 — 大表为索引
(4)hash join — 小表放入hash桶
十
- 事务:用户定义一个数据库的操作序列,要么全做,要么全不做,是一个不可分割的工 作单位
- 事务的ACID特性 P294
(1)原子性
(2)一致性
(3)隔离性
(4)持续性 - 恢复实现
(1)数据转储 静态转储
动态转储 要有日志文件把转储期间事务修改的活动登记
(2)登记日志文件 原则:登记次序严格按照并发事务执行时间讯息次序
先写日志文件,后写数据库 P300
策略:事务故障:对该事务进行UNDO(撤销)
系统故障:撤销未完成,重做已完成
介质故障:装入后备副本,使用日志文件重做已完成 - 检查点建立步骤:(先写日志文件,再写数据) P302
(1)所有日志文件写入磁盘日志文件上
(2)在日志文件中写入检查点记录
(3)数据记录写入磁盘
(4)在重新开始文件中记录检查点的地址
恢复步骤 P303
十一
- 并发操作带来的数据不一致:丢失修改 不可重复 读“脏”数据
- 三级封锁协议 P313
- 加锁过程 P321
- 具有意向锁的多粒度封锁方法中,事务对一个数据对象加锁,必须先对其上层结点加意向锁。 申请封锁时按自上而下次序进行,释放时自下而上
意向锁作用:提高了系统的并发度,减少了加锁和解锁开销