数据库操作|[学习笔记]--数据库系统
数据库系统
- 规范化理论
-
- 价值与用途
-
- 非规范化存在的问题.
- 键
-
- 超键
- 候选键与主键
- 外键
- 求候选键
- 范式
-
- 第一范式
- 第二范式
- 第三范式
- BC范式
- 模式分解
- 并发控制
-
- 基本概念
- 存在的问题
- 封锁协议
- 完整性约束
-
- 约束
- 触发器
- 数据库安全
- 数据库备份
-
- 冷备份(静态备份)
- 热备份(动态备份)
- 故障与恢复
- 数据仓库与数据挖掘
- 反规范化
- 大数据
规范化理论 价值与用途 非规范化存在的问题.
数据冗余,更新异常,插入异常,删除异常.
键
超键,候选键,主键,外键.
超键 唯一标识元组,区别候选键:超键可能存在冗余.
候选键与主键 候选键可以有多个,主键只有一个.数据库中,多个字段可以设置为主键,但是只能挑选一个字段设置为主键.
外键 外键是其它关系的主键,很多时候需要对表做关联,所以需要在当前关系标识此字段.
求候选键 能够唯一标识一个元组.使用图示法,找出入度为0的属性,尝试遍历这个图,若能遍历整个图,则该属性为候选键.
文章图片
没有入度为0的,找既有出度又有入度的
文章图片
范式 需要结合函数依赖和关键字求解一起学习.
文章图片
第一范式/第二范式/第三范式/BCNF…,规范级别越高,规范化程度越高,粒度越小,数据表拆分的越细,性能问题越来越明显,一般做到第三范式就行了.
第三范式依赖第二范式,第二范式依赖第一范式.
第一范式
在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式.如下图示例中,把 ‘高级职称人数’去掉,只保留’教授’,‘副教授’ 即可满足原子值,实现第一范式.
文章图片
第二范式
当且仅当R是1NF(第一范式),且每一个非主属性完全依赖主键(不存在部分依赖)时,则称R是第二范式.
第三范式
当且仅当R是1NF(第一范式),且关系中没有非主属性传递依赖时,则称R是第三范式.
文章图片
BC范式
设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码
例题:
模式分解 保持函数依赖分解,无损分解(有损->不能还原,无损->可以还原)
无损联接分解:将一个关系模式分解成若干个关系模式后,通过自然联接和投影运算仍能还原到原来的关系模式.
无损分解常用方法:表格法,交差法(针对一分为二)
并发控制 基本概念
文章图片
事务:原子性,一致性,隔离性,持续性.
存在的问题 丢失更新,不可重复读,脏数据
文章图片
封锁协议 一级:添加X锁,防止丢失修改(X锁->写锁)
二级:添加S锁,防止丢失修改,防止读脏数据(S锁->读锁)
三级:添加S锁,直到事务结束才释放.可防止丢失修改,防止读脏数据与数据重复读取
两段锁:可串行,可能导致死锁
完整性约束 约束
【数据库操作|[学习笔记]--数据库系统】实体完整性,参照完整性,用户自定义完整性,提高数据可靠性的机制.
实体完整性约束:约束主键,主键不能为空,不能重复
参照完整性约束:约束外键,允许为空
用户自定义完整性约束:用户自行定义的约束,如字段值域/值范围等
触发器
触发器可以通过写脚本进行控制
数据库安全 用户标识和鉴定:最外层的安全保护措施
存取控制:对用户进行授权
密码存储和传输:对远程终端信息用密码加密
视图的保护:对视图进行授权
审计:以日志的方式记录用户操作,分析用户操作
数据库备份 冷备份(静态备份) 将数据库关闭,在停止状态,将数据库文件直接复制下来.简单快速,必须停止应用,不能按表恢复.
热备份(动态备份) 利用备份软件,在数据库正常运行状态下,将数据库中的数据文件备份下来.
完全备份,差量备份,增量备份
差量针对完全的,增量针对上一次的
静态海量转储,静态增量转储,动态海量转储,动态增量转储
事务日志文件:针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中
故障与恢复 可预期的故障,程序中预先设置rollback语句恢复
不可预期的故障,DBMS恢复子系统通过日志,撤销事务对数据库的修改,回退到事务初始状态
系统故障,通常使用检查点
介质故障,一般使用日志重做业务
数据仓库与数据挖掘 广泛用于BI(商业智能)中
数据仓库 | 普通数据库 |
---|---|
面向主题 | 面向业务 |
集成的数据 | 不会集成 |
相对稳定(不再删除,修改) | 经常修改更新 |
反映历史变化 | 一般是实时的 |
数据集市
OLAP联机分析服务器
数据挖掘工具不同于查询工具或报表工具,可挖到未知的一些特性
反规范化 规范化使表不断拆分,粒度变小,提高增删改的速度,但是查询时联表查询过多导致效率变低.逆规范化的技术手段:
增加派生性冗余列
增加冗余列
重新组表
分割表
牺牲空间和规范为代价,提高查询速度
大数据 总体上是对海量数据处理的相关技术,特点:
数据量大
处理要快
类型多
有价值
高扩展,高性能,高容错,支持异构,分析延迟低,易用且开放,低成本,向下兼容
文章图片
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- python学习之|python学习之 实现QQ自动发送消息
- 一起来学习C语言的字符串转换函数
- 在线版的迅捷思维导图怎么操作()
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)