三级模式—两层映射
数据库设计过程
E-R模型
集成的方法
- 多个局部E-R图一次集成。
- 逐步集成,用累加的方式一次集成两个局部E-R。
集成产生的冲突及解决办法
- 属性冲突:包括属性域冲突和属性取值冲突。
- 命名冲突:包括同名异义和异名同义。
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图 中所包含的属性个数和属性排列次序不完全相同。
关系代数
转成笛卡尔积
规范化理论—价值与用途
非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、 插入异常、删除异常
规范化理论—函数依赖
规范化理论—键
规范化理论—求候选键
- 将关系模式的函数依赖关系用“有向图”的方式表示
- 找入度为0的属性,并以为该属性集合为起点,尝试遍历有向图,若能正常遍历图中 所有结点,则该属性集即为关系模式的候选键
- 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间点(既有入 度,也有出度的结点)并入入度0的属性集中,直至该集合能遍历所有结点,集合为 候选键
规范化理论—范式
规范化理论—第一范式
第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即 每个属性都是不可再分的数据项,则称关系模式R是第一范式。
规范化理论—第二范式
第二范式(2NF):当且仅当实体E是第一范式(1NF),且每一个非主 属性完全依赖主键(不存在部分依赖)时,则称实体E是第二范式。
规范化理论—第三范式
第三范式(3NF):当且仅当实体E是第二范式(2NF),且E中没有非主属 性传递依赖于码时,则称实体E是第三范式。
规范化理论—BC范式
BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且 仅当其中F中每个依赖的决定因素必定包含R的某个候选码。
规范化理论—无损分解
保持函数依赖分解
设数据库模式ρ={R1,R2,…,RK}是关系模式R的一个分解,F是R上的函数依赖集,ρ 中每个模式Ri上的FD集是Fi。如果{F1,F2,…,Fk}与F是等价的(即相互逻辑蕴涵), 那么称分解ρ保持FD。
无损分解
有损:不能还原。 无损:还可以还原。
并发控制—基本概念
并发控制—存在的问题示例
并发控制—封锁协议
- 一级封锁协议。事务T在修改数据T之前必须先对其加X锁,直到事务结束才释放。可防止丢 失修改
- 二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S 锁。可防止丢失修改,还可防止读“脏”数据
- 三级封锁协议。一级封锁协议加上事务T在读取数据T之前先对其加S锁,直到事务结束才释 放。可防止丢失修改、防止读“脏”数据与防止数据重复读
- 两段锁协议。可串行化的。可能发生死锁
数据库安全性
数据备份
- 冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来
- 热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出 来。
数据备份
- 完全备份:备份所有数据
- 差量备份:仅备份上一次完全备份之后变化的数据
- 增量备份:备份上一次备份之后变化的数据
日志文件:事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作, 并将记录结果保存在独立的文件中
数据库故障与恢复
分布式数据库-体系结构
分布式数据库-各种概念
- 分布透明性
- 分片透明性
- 水平分片
- 垂直分片
- 混合分片
- 位置透明性
- 局部数据模型透明性
- 分片透明性
- 分布式数据库管理系统-组成
- LDBMS
- GDBMS
- 全局数据字典
- 通信管理(CM)
- 分布式数据库管理系统-结构
- 全局控制集中的DDBMS
- 全局控制分散的DDBMS
- 全局控制部分分散的DDBMS
数据仓库与数据挖掘
联邦数据库
联邦数据库系统(FDBS)是一个彼此协作却又相互独立的成员数据库(CDBS)的集合,它将成员 数据库系统按不同程度进行集成,对该系统整体提供控制和协同操作的软件叫做联邦数据库管理系统 (FDBMS)
联邦数据库特征
- 分布性
- 异构性
- 自治性
- 透明性
联邦数据库分类
- 紧耦合
- 松耦合
NoSQL
NoSQL(Not-only SQL):随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心了,暴露了很多难以克服的 问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展
- 成熟度不够,大量关键特性有待实现
- 开源数据库产品的支持力度有限
- 数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库
- NoSQL数据库专家较少,大部分都处于学习阶段
- SQL NoSQL = MoreSQL/NewSQL
- Redis、MongoDB、Flare、Cassandra、CouchDB、Oracle NoSQL Database、Tokyo Cabinet
反规范化
由于规范化会使表不断的拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高 了增、删、改的速度 但会增加查询的工作量。系统需要进行多次连接,才能进行查询操 作,使得系统的效率大大的下降
技术手段
- 增加派生性冗余列
- 增加冗余列
- 重新组表
- 分割表
内存数据
内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数 据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速 度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即 活动事务只与实时内存数据库的内存拷贝打交道 常见的内存数据库包括:Redis、eXtremeDB、TT、FastDB、SQLite、Microsoft SQL Server Compact 、 MySQL的MEMORY存储引擎等。
大数据
大数据处理系统应该具有的重要特征
- 高度可扩展性
- 高性能
- 支持异构环境
- 较短的分析延迟
- 易用且开放的接口
- 较低成本
- 向下兼容性