《数据库系统概念》 中级SQL

1.连接
内连接,外连接,左连接,右连接,由未匹配元祖区分

2.视图
视图类似于函数,对存储数据的容器(表)进行过滤与整合。由于只是查询,所以对容器无副作用。
物化视图,类似于对函数的结果进行缓存,缓存的失效判断,定时主动推送,或按需拉取读时更新。
对于主动推送,由于物化视图也是一种数据副本,数据库有效更新(持久化)到物化视图更新,需要维护数据一致性
可以联想到缓存失效的判断,粗粒度下所查询的表未被修改,或行未被修改(保证先前数据满足约束的子集,不保证数据为全集),或介于两者之间的粒度(如区间的选定,与数据的实际分布规律相关)。
对于缓存,由客户端与服务器分别维护,快速确认缓存有效?
修改视图:至少需要有主键(根据书中例子),允许修改的条件复杂,从业务需求出发也许简单些?

3.事务
提交,回滚
防止数据不一致,
加快执行,优化sql
方便回滚,快照?根据执行效果改写?

4.完整性约束
修改的前置检查,检查数据是否在定义域(缺失,离散:集合范围,连续:区间范围)
修改的后置检查,业务逻辑满足。增加修改确认的耗时(同步确认)
粒度:表,行,列,跨表
容器元素判别由索引优化
可选:对于事务,可视为一整个修改,不对中间状态检查

5.数据类型
字面量
结构体
二进制
新建表,无需同步修改至db,新对象

posted @ 2020-11-11 11:17  qmchao  阅读(91)  评论(0)    收藏  举报