数据库公式与规则速查
公式表关系代数、范式、I/O、事务、恢复与分布式规则的条件化速查。
关联:全课程
- 符号说明
R/S=关系;B(R)=关系R页数;M=缓冲页数;h=命中率;N=副本数或并发数(按章节辨别);R/W=读写quorum;X=吞吐;R_time=响应时间
- 使用前提
先完成对应章节;会集合、函数、基本复杂度与Python/SQL实验。
- 适用范围
用于课程复习与数量级估算;真实系统须以具体数据库语义、统计信息、执行计划和故障模型为准。
数据库公式与规则速查
关系与依赖
- 选择:;投影:;条件连接:。
- 连接规模上界:;实际规模由键和选择率决定。
- 关系除法: 表达满足全部 的 。
- 候选键: 覆盖全部属性且任一真子集闭包不覆盖全部属性。
- BCNF:每个非平凡函数依赖 的决定因素 都是超键。
- 二元无损分解: 或 在 中成立。
SQL 规则
- 逻辑顺序:FROM/ON → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT。
- WHERE 只保留 TRUE;FALSE 与 UNKNOWN 都被排除。NULL 用 IS NULL,不能用
= NULL。 - LEFT JOIN 右表筛选若要保留未匹配左行,通常放 ON;
COUNT(*)与COUNT(right.id)含义不同。 - 无唯一 ORDER BY 就没有稳定分页;大 OFFSET 优先改为唯一复合键的键集分页。
- 值必须参数化;动态表名、列名、排序方向必须走有限白名单。
存储与成本
- 一页记录容量近似 ,其中 P 页大小、H 页头、R 记录、S 槽项。
- B+ 树高度近似 ;点查 I/O 约为树高加必要回表。
- 有效访问时间:。
- 块嵌套循环:。
- 等值谓词均匀近似选择率 ;倾斜和列相关要看直方图或多列统计。
事务与恢复
- 优先图无环 ⇔ 调度冲突可串行化;边来自同项且至少一个为写的冲突操作顺序。
- 严格 2PL:写锁至少持有到提交/回滚;统一锁顺序可破坏死锁循环等待。
- Little 定律:,平均并发数 = 吞吐量 × 平均响应时间。
- WAL:日志先于数据页;提交记录先于成功响应。已提交未落页要 REDO,未提交已落页要 UNDO。
- RPO 是允许丢失的数据时间窗口,RTO 是允许的恢复耗时;均须由演练验证。
分布式与工程
- quorum 常用交叠条件:;若还要约束写写交叠,检查 。交叠不自动解决并发冲突。
- 倾斜比可记为 ,不能只看数据字节,还要看读写热点。
- CAP 只在网络分区发生时讨论 C/A 取舍;先定义一致性与可用响应再贴标签。
- 幂等:稳定请求键 + 唯一约束 + 可重放结果;超时是未知,不等于失败。
- 上线门禁同时观察 p95/p99、错误率、锁等待、复制延迟、I/O、连接池和回滚阈值。
使用边界
以上是估算和判断入口,不是脱离条件的答案。每次代公式前写单位、数据粒度、键、分布假设、缓冲内存和故障模型;每次套 SQL 规则前检查重复与 NULL;每次选择隔离或分布式策略前写出业务不变量和允许历史。