接上篇
文章目录
- 10 transaction-view-index事物-视图-索引: transaction定义,ACID,导致事物结束的两种情况:commit,rollback/回滚rollback:导致回滚的情况,解决方法/sql4个隔离层级isolated level,选择/事物序列化的定义,操作/view的定义,种类,声明,结合触发器的视图,基表更改引起实例化视图更改问题以及解决方法/index索引定义,声明,使用索引优化数据库查询tuning的优点,缺点
- transaction定义,ACID,commit
- roll back:导致回滚的情况,解决方法
- sql4个隔离层级isolated level,选择
- 视图的定义,两种类别,声明,结合触发器的视图,视图实例化,基表更改引起实例化视图更改问题的解决方法
- index索引定义,声明,使用索引优化数据库查询tuning的优点,缺点
- 11 psm持久型存储模块(存储过程),pl与sql: psm定义,参量的三种类型,声明,invoke调用,语法:判断,循环,指针,return/动态SQL声明,调用
- 12 grant授权: 语法:授权(操作权限,授权权限),撤销授权revoke,撤销授权的两种选项/授权图的点,边,AP,P*,P**,授权规则,撤销授权规则
- 13 concurrency 并发控制: 基本概念:transaction事物,conflicting action冲突行为的种类,schedule调度,调度的4种方式/并发事务运行存在的3个异常/冲突等价conflict equivalent的定义/precedence graph符号表示,前驱图的节点,边,两个定理/(一级)加锁解锁协议:符号,legal schedule合法调度和well-formed调度/2PL两阶段锁协议描述,避免数据出错的其他4种方法(共享锁,多粒度,插入删除,其他机制),共享锁和排他锁描述,3个法则(well-formed,legal,upgrade变化问题)/increment lock增量锁和update lock的描述,符号/锁的兼容性/系统一个解决并发多用户加解锁问题的方法/多粒度封锁granularity:多粒度封锁描述,锁的类型((主要是意向锁:)IS,IX,SIX),6个规则,兼容性,加锁对象上允许再加的其他锁/pehantom数据重影定义,解决方法
- 基本概念:transaction,conflicting action的种类,schedule,调度的四种方式
- 并发事务运行存在的3个异常
- 冲突等价conflict equivalent定义
- precedence graph前驱图的符号表示,节点,边,两个定理
- 加解锁协议:符号,legal schedule和well-formed
- 2PL:描述,避免数据出错的其他4种方法(共享锁,多粒度,插入删除,其他机制),共享锁和排他锁描述,3个法则(well-formed,legal,upgrade变化问题)
- increment lock和update lock描述,符号
- 锁的兼容性
- 系统一个解决并发多用户加解锁问题的方法
- 多粒度封锁granularity:多粒度封锁描述,锁的类型((主要是意向锁:)IS,IX,SIX),6个规则,兼容性,加锁对象上允许再加的其他锁
- pehantom数据重影定义,解决方法
- 14 tp: 事务结束的两种情况/可恢复调度,避免级联回滚的概念/死锁的检测,4个避免方法
- 15 view serializability视图可串行化: 视图等价,视图可串行化定义,定理,判断方法
- 21 xml可扩展标记语言: xml概念,两种类型,结构/DTD概念,结构,元素,用法,属性/ID和IDREF/XML例子
- 22 olap: data warehouse,olap,oltp,data mining/star schema的两个组成部分(事实表,维表)/cube的drill-down和roll-up操作
- 24 distributed分布式数据库: 优点,问题
10 transaction-view-index事物-视图-索引: transaction定义,ACID,导致事物结束的两种情况:commit,rollback/回滚rollback:导致回滚的情况,解决方法/sql4个隔离层级isolated level,选择/事物序列化的定义,操作/view的定义,种类,声明,结合触发器的视图,基表更改引起实例化视图更改问题以及解决方法/index索引定义,声明,使用索引优化数据库查询tuning的优点,缺点
transaction定义,ACID,commit
- transaction事物: 在数据库上进行的查询或修改操作
- ACID: 事物的4个基本特点:原子,一致,隔离,持久
- Atomic: Whole transaction or none is done.要么发生要么不发生
- Consistant: constraints preserved. 约束保持良好,前后不变化
- Isolated:it appears to the user as if only one process execute at a time.
- Durable: 事物一旦提交,其对数据的改变不可更改
- 导致事物结束的两种情况:
- commit: sql通过commit提交事务对数据的操作,导致事务完成
- roll back
roll back:导致回滚的情况,解决方法
- 导致回滚的情况:被0除,违反约束,程序员弄的
- 解决回滚带来的数据混乱: 用commit代替rollback,在commit之前,其他人无法看到其效果
sql4个隔离层级isolated level,选择
- 四个级别:
- read uncommited: 未提交读
- read commited: 提交读
- repeatable read: 重复读
- serializable: 序列化
- 选择: 自己选
视图的定义,两种类别,声明,结合触发器的视图,视图实例化,基表更改引起实例化视图更改问题的解决方法
- view的2种类别
- virtual,不可修改,因为它不存在
- Materialized
- 声明:
create [种类] view <名字> as <操作(select from where之类)> -- 种类默认是虚的
- 结合触发器的视图
可以通过instead of触发器来对虚拟视图进行修改,instead of insert on 视图,XXXXX(操作) - 基表更改引起实例化视图更改问题以及解决方法
解决: 定时更新视图
index索引定义,声明,使用索引优化数据库查询tuning的优点,缺点
- index: 加速查询,哈希表或B-树
- 声明: create 索引名 on 表名(列名);多个列名括号内用逗号隔开
- 使用索引优化数据库查询tuning的优点,缺点
- 优点: 加快查询sppeed up query
- 缺点: slow down all modifications on relation(因为索引也需要随之更新)
11 psm持久型存储模块(存储过程),pl与sql: psm定义,参量的三种类型,声明,invoke调用,语法:判断,循环,指针,return/动态SQL声明,调用
psm定义,参量,声明,invoke,3个基本种类及作用,语法:判断,循环,指针
- PSM持久型存储模块(存储过程)参量3种类型:
- 声明:
create procedure 名字 (<参量类型> <参量名>) --多个参量用逗号隔开
<变量声明>
<操作>; -- 常规sql语句select-from-where之类
- invoke:
call 存储过程名(实参)
- 语法:判断,循环,指针,return
- 判断: ,总之end if之前一定是else
- 循环:
循环名字:Loop 循环内操作; leave 循环名; -- 跳出条件 end Loop; while<条件> do <操作> end while; repeat <操作> until<条件> end repeat;
- 指针: create 指针名 cursor for <查询>
- 使用: open 指针名
- 关闭: close指针名
- return:并不代表结束,只是return
动态SQL的声明,调用
- 声明:
exec sql prepare 名字 from <sql语句>;
- 调用:
exec sql execute 名字;
12 grant授权: 语法:授权(操作权限,授权权限),撤销授权revoke,撤销授权的两种选项/授权图的点,边,AP,P*,P**,授权规则,撤销授权规则
语法:授权(操作权限,授权权限),撤销授权(操作权撤销,授权权撤销),撤销授权的两种选项
- 授权
- 操作权: grant <操作列表> on <需要操作的对象> to <被授权者>
- 授权权: 既可以操作,又可以授权,在操作权授权后加 with grant option
--举个例子
grant select,update
on Sell
to Sally;
- 撤销授权
- 语法: revoke <操作列表> on <需要操作的对象> from <被撤销授权的人>
- 撤销授权的两种形式
- cascade级联: 权限被撤销,则由该用户授权的所有其他用户的权限也撤销,不管传得有多远
- restrict限制: 如果被撤销授权的用户还对其他用户授权了,则不能撤销对他的授权并弹出警告
授权图的点,边,AP,P*,P**,授权规则,撤销授权规则
- 点: 圆,(被)授权对象\权限
- 只要不同权限,哪怕在同一数据上操作,都是两个不同节点
- 边: 授权者指向被授权者
- AP: 用户A有P权
- P*: P的授权权
- P** :P权本权(包含授权权)
- 授权规则: A把P权(或P*权,代表有授权权)授予B,就用一个实线箭头指向B
- 撤销授权: 注意是否是级联,是则无法撤销.每个节点都必须有到相应P**的路径,否则把它删掉
13 concurrency 并发控制: 基本概念:transaction事物,conflicting action冲突行为的种类,schedule调度,调度的4种方式/并发事务运行存在的3个异常/冲突等价conflict equivalent的定义/precedence graph符号表示,前驱图的节点,边,两个定理/(一级)加锁解锁协议:符号,legal schedule合法调度和well-formed调度/2PL两阶段锁协议描述,避免数据出错的其他4种方法(共享锁,多粒度,插入删除,其他机制),共享锁和排他锁描述,3个法则(well-formed,legal,upgrade变化问题)/increment lock增量锁和update lock的描述,符号/锁的兼容性/系统一个解决并发多用户加解锁问题的方法/多粒度封锁granularity:多粒度封锁描述,锁的类型((主要是意向锁:)IS,IX,SIX),6个规则,兼容性,加锁对象上允许再加的其他锁/pehantom数据重影定义,解决方法
基本概念:transaction,conflicting action的种类,schedule,调度的四种方式
- transaction:事物,(狭义)读写行为
- conflicting action:
- 同一事物的读r和写w
- 不同事物对同一元素的w
- 不同事物对同一元素一个r一个w
- schedule:调度
- 四种方式:
并发事务运行存在的3个异常
- 丢失修改
- 不可重复读
- 读脏数据
冲突等价conflict equivalent定义
- conflict equivalent:
precedence graph前驱图的符号表示,节点,边,两个定理
- 符号:
- 节点: S中的事物
- 边: 先执行指向后执行
- 两个定理:
- 冲突等价的事物前驱图相同,反之不成立
- 有环<=>冲突可序列化
加解锁协议:符号,legal schedule和well-formed
- 符号:
- well-formed: 同一事物对同一数据的所有操作在锁内执行
- legal schedual: 数据被某事物锁了的时间内不允许其他事物来上锁
2PL:描述,避免数据出错的其他4种方法(共享锁,多粒度,插入删除,其他机制),共享锁和排他锁描述,3个法则(well-formed,legal,upgrade变化问题)
- 描述:事物运行完所有工作之前不允许解锁
- 避免数据出错的其他4种方法: 共享锁shared lock,multiple granularity,insert delete phantom,other types of C
- 共享锁和排他锁:
- 共享锁:
- 排他锁:
- 3个法则
- well-formed
- legal: 共享锁上锁期间不允许其他事物加排他锁,排他锁上锁期间不允许其他事物上锁
- 对于更新操作:如果操作后锁的数量比原来多,则不允许更新;否则可以更新
increment lock和update lock描述,符号
- increment lock:
- update lock:意向锁,以开头,意向读,意向写
锁的兼容性
X均不兼容,共享锁与意向锁兼容本身
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0IhrI5V2-1582017850802)(2020-01-13-01-02-44.png)]
系统一个解决并发多用户加解锁问题的方法
don’t trust transactions’ requests of locks, system hold all locks until transaction commits
多粒度封锁granularity:多粒度封锁描述,锁的类型((主要是意向锁:)IS,IX,SIX),6个规则,兼容性,加锁对象上允许再加的其他锁
- granularity: 封锁对象的大小称封锁粒度,譬如一张表,一个属性啥的
- 锁的类型:
- IS: 意向共享
- IX: 意向排他
- SIX: 共享意向排他
- 6个规则:
- 遵循粒度强度
- 先锁根节点
- 上共享或意向共享(S\IS)锁之前必须有某个父节点被上了意向锁(共享排他都可以)
- 上X,IX,SIX之前必须有某个父节点被上了IX\SIX
- 事物满足2PL
- 某事物给节点解锁的条件是其子节点被该事物锁了
- 兼容性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oN4mZU6T-1582017850804)(2020-01-13-01-19-18.png)] - 加锁对象上允许再加的其他锁
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDmjV9h7-1582017850806)(2020-01-13-01-19-55.png)]
pehantom数据重影定义,解决方法
- pehantom: 多用户并发执行操作之后同一数据有了不同的值
- 解决: use multiple pehantom tree, before insert of node Q,lock Q’s parent
14 tp: 事务结束的两种情况/可恢复调度,避免级联回滚的概念/死锁的检测,4个避免方法
事务结束的两种情况
- commit
- abort:会回滚
可恢复调度,避免级联回滚的概念
见13
死锁的检测,4个避免方法
- 死锁的检测: wait-for graph,指向请求
- 死锁避免的4个方法
- resource ordering
- timeout
- wait-die:请求资源的进程只能等待固定时间,不然就die
- Wound-wait
15 view serializability视图可串行化: 视图等价,视图可串行化定义,定理,判断方法
view equivalent,view serialiability定义,定理,判断方法
- view equivalent
- view equivalent
21 xml可扩展标记语言: xml概念,两种类型,结构/DTD概念,结构,元素,用法,属性/ID和IDREF/XML例子
xml概念,两种类型
- xml:可扩展标记语言,标记电子文件使其具有某种结构
- xml两种类型
- well-formed:可以自定义标签(invent own tag)
- valid:必须符合一个标准模式(conform a certain DTD)
- 结构: 开头结尾被"<…xml…></…xml…>"修饰,中间用其他标签修饰
DTD概念,结构,元素,用法,属性
- DTD: 文档类型定义,声明于xml中
- 结构:
<!DOCTYPE <root tag>[
<!ELEMENT <NAME>(<components>)>
...其他elements....
]>
22 olap: data warehouse,olap,oltp,data mining/star schema的两个组成部分(事实表,维表)/cube的drill-down和roll-up操作
data warehouse,olap,oltp,data minging
- data warehouse: 数据仓库
- OLAP: 联机分析处理,探索挖掘数据价值作为决策参考
- OLTP: 联机事务处理,一线业务操作
- data minging: 数据挖掘
star schema的两个组成部分
- 描述: 事实表被维表包围,维表主键关联事实表外键,一个粒度一个维度
- fact table: 一张
- demension table: 不同维度之间互不关联
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZahKW3ji-1582017918657)(2020-01-13-02-32-15.png)]
cube的drill-down和roll-up操作
- drill-down: 向下钻取,“拆分group by”
- roll-up: 向上钻取,合并
24 distributed分布式数据库: 优点,问题
分布式数据库优点
模块化,容错,高性能,数据共享,低内耗
modularity,fault tolerance,high performance,data sharing,low cost components
分布式数据库解决的问题
数据分配,并行,并发与恢复,异质性
data distribution,exploiting parallelism,concurrency and recovery,heterogeneity
来源:CSDN
作者:!柯西洗袜子
链接:https://blog.csdn.net/weixin_43395063/article/details/104378878