跳到正文

数据库公式与规则速查

公式表

关系代数、范式、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;每次选择隔离或分布式策略前写出业务不变量和允许历史。