码,则R∈
2NF。 每一个非主属性既不部分依赖于码也
不传递依赖于码,则R∈
3NF
3,函数依赖公理系统(Armstrong公理系统P183,闭包P184,最小覆盖P186)
Armstrong公理系统 A1.
自反律(Reflexivity):若Y属于XU,则X →Y为F所蕴含。属于 A2.
增广律(Augmentation):若X→Y为F所蕴含,且Z属于U,则XZ→YZ为F所蕴含。 A3.
传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。(导出规则): 合并规则:由X→Y,X→Z,有X→YZ。 (A2, A3) 伪传递规则:由X→Y,WY→Z,有XW→Z。 (A2, A3) 分解规则:由X→Y及 Z属于Y,有X→Z。 (A1, A3)
在关系模式R中为F所逻辑蕴含的函数依赖的全体叫作 F的
闭包,记为F+。设F为属性集U上的一组函数依赖,X 属于U, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的闭包
F+ = G+ 的充分必要条件是F 属于 G+ ,和G 属于 F+
最小依赖集 (1) F中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。 (3) F中不存在这样的函数依赖X→A, X有真子集Z使得F-{X→A}∪{Z→A}与F等价。
4,模式分解(模式分解的准则及定义P189-P190,模式分解方法P191) 模式的分解要保持
无损联接性和函数依赖性。算法见教材...
第七章 1,
数据库设计的基本步骤P201
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护
2,概念结构设计的方法和步骤P209-P211
设计概念结构的4类方法
自顶向下 首先定义全局概念结构的框架,然后逐步细化
自底向上 首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构
逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构
混合策略 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
3,E-R图向关系模型的转换P224-P225 属性不能再具有需要描述的性质。属性不能与其他实体具有联系。这种
转换一般遵循如下原则:
⒈ 一个实体型转换为一个关系模式。 ⒉ 一个m:n联系转换为一个关系模式。 ⒊ 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 ⒋ 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 ⒌ 三个或三个以上实体间的一个多元联系转换为一个关系模式。 ⒍ 同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。 ⒎ 具有相同码的关系模式可合并。
4,物理设计(关系模式存取方法的选择P228-P230,数据库的存取结构P230-P231) 常用存取方法
1、
索引方法 B+树索引方法 查询条件,聚集函数,连接操作 2、
聚簇(Cluster)方法 连接操作,相等比较,重复率高 3、
HASH方法 大小可预知,DBMS提供动态存取方法
确定数据库的物理结构
⒈ 确定数据的存储结构 ⒉ 设计数据的存取路径 ⒊
确定数据的存放位置(
存取时间 存储空间利用率 维护代价) ⒋
确定系统配置
第十一章 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位;事务是恢复和并发控制的基本单位;
1,事务的特性P279 事务的
ACID特性:
原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability )
2,并发控制不当导致的问题P294 1)
丢失修改(Lost Update) 2)
读“脏数据” (dirty read) 3)
不可重复读(Non-repeatable Read)
3,封锁P295-296
封锁具有3个环节: 第一个环节是
申请加锁; 第二个环节是
获得锁; 第三个环节是
释放锁。基本的封锁类型有两种:
排它锁(Exclusive Locks,简称
X锁)和
共享锁(Share Locks,简称
S锁)。
解决活锁问题的方法是采用先来先服务。
解决死锁方法: (1)预防死锁的发生;(2)允许发生死锁,然后采用一定手段定期诊断系统中有无死锁,若有则解除之。预防死锁的方法: 一次封锁法, 顺序封锁法死锁的诊断:超时法,事务等待图法
4,并发调度的可串行性P299-P230
定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。
冲突操作是指不同的事务对同一个数据的读写操作和写写操作。
不同事务的冲突操作不能交换。
同一事务的两个操作不能交换。 冲突可串行化调度是可串行化调度的充分条件,不是必要条件。
5,两段锁协议P301-P302 两段锁协议:指所有事务必须
分两个阶段对数据项加锁和解锁。 第一阶段是
获得封锁,也称为扩展阶。 第二阶段是
释放封锁,也称为收缩阶段。
事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。
|