第三章——数据库系统
#####因为专业课学过,所以就比较简陋,大家可以自己学。
- 三级模式—两级映射
- 数据库的设计过程
(1)需求分析
~数据流图
~数据字典
~需求说明书
(2)概念结构设计
~ER模型
(3)逻辑结构设计
~关系模式(规范化理论)
(4)物理设计 - E-R模型
(1)画图
~方框——实体
~菱形框——联系
~椭圆——属性
(2)关系
~1——1(两边都可能合并联系)
~1——n(n边才能合并联系)
~n——n(不可合并)
(3)集成方法
~多个局部E-R图一次集成
~逐步集成,用累加的方式一次集成两个局部E-R - 关系代数
~并
~交
~差
~笛卡尔积
~投影
~选择
~联接 - 规范化理论——函数依赖(重要)
(1)函数依赖
(2)部分函数依赖
(3)传递函数依赖 - 规范化理论—键
(1)候选键
~唯一标识元组
~不存在冗余属性
~可以有多个·
(2)主键
~只能有一个·
(3)外键
~其他关系的主键
(4)超键
~唯一标识元组
~可能存在冗余属性
(5)求候选键(重要)
- 规范化理论——范式(重要)
(1)第一范式
~属性值都是不可分的原子值
(2)第二范式
~消除了非主属性对候选键的部分依赖
(3)第三范式
~消除了非主属性对候选键的传递依赖关系
(4)BCNF
~消除了主属性对候选键的传递依赖关系
(5)反规范化技术
~由于规范化会不断拆分表,使数据表过多。会使系统效率大大下降。
~技术手段:增加派生性冗余列,增加冗余列,重新组表,分割表 - 规范化理论——模式分解
(1)保持函数依赖的分解
~每一个函数依赖在关系模式中都保存下来了
(2)无损分解
~有损压缩是不能还原的,无损压缩可以还原。 - 并发控制
(1)事务的特性
~原子性
~一致性
~隔离性
~持续性2
(2)并发产生的问题
~丢失更新
~不可重复读的问题
~“脏”数据的读出
(3)封锁协议
~S/X封锁
~一级(防止丢失修改)/二级(还防读“脏”)/三级封锁协议(并且防数据重复读)和两段锁协议(可串行化的,可能发生死锁)
(4)死锁问题
~预防法
~死锁的解除法
-
数据库完整性约束
(1)分类(简单情况)
~实体完整性约束
~参照完整性约束
~用户自定义完整性约束
(2)触发器(复杂情况)
~DDL
~DML -
数据库安全
(1)用户标识和鉴定
~最外层的安全保护措施,可以使用用户账户,口令及随机数检验等方式
(2)存取控制
~对用户进行授权,包括操作类型和数据对象的权限。
(3)密码存储和传输
~对远程终端信息用密码传输
(4)视图的保护
~对视图进行授权
(5)审计
~使用一个专用文件或数据库,自动将用户对数据库的所以操作记录下来。 -
数据备份
(1)冷备份
~静态备份,把数据库关闭之后备份,速度快,维护技术少,问题少复杂度低
(2)热备份
~动态备份,备份软件在数据库运行状态下备份,灵活度高,备份表级别,可以有选择性恢复,复杂度高,不能出错。
(3)
(4)故障与恢复
~事务本身的可预期的故障:原因:本身逻辑 解决方法:在程序中预先设置Rollback语句
~事务本身不可预测故障:原因:算术溢出,违反存储保护 解决方法:由DBMS恢复子系统通过日志,撤销事务对数据库的修改,回退到事务初始状态。
~系统故障:原因:系统停止运转 解决方法:通常使用检查方法
~介质故障:原因:外存被破坏 解决方法:一般使用日志重做业务 -
大数据
(1)特点
~数据量大,速度,多样性,值大
~大数据处理系统具有特性:高度可扩展性,高性能,高容错,支持异构环境,较短的分析延迟,易用且开放的接口,较低成本,向下兼容性