数据库王国:边玩边学《数据库系统原理》
期末复习《数据库系统原理》的时候,我把历年真题(2018/2020/2021)做成了一个网页 RPG——数据库王国。与其对着题库刷题,不如在地图上一章一章打怪通关。
进度自动保存在浏览器 localStorage,随时关掉随时继续(换浏览器或清缓存会丢档)。
章节与考点对照
| 章节 | 考点 | 对应期末题型 |
|---|---|---|
| 1 启程村 | 基本概念、三级模式、数据独立性 | 选择题 + 简答题 |
| 2 符文平原 | 关系代数 σ π ⋈ ÷ | 查询题 1-3 小题 |
| 3 侦探之城 | SQL 实战(浏览器内真实 SQLite,写查询破案) | 查询题 4-7 小题(35 分主力) |
| 4 依赖迷宫 | 候选码求解(交互式闭包计算器)、范式、3NF 分解 | 分析题 |
| 5 设计工坊 | E-R 图、联系类型、转换三原则 | 设计题 |
| 6 并发竞技场 | ACID、2PL、可串行化、死锁 | 分析题 + 简答题 |
| 7 优化峡谷 | 查询语法树启发式优化 | 优化题(每年必考) |
| 8 恢复神殿 | 故障分类、日志、REDO/UNDO、转储、检查点 | 简答题 |
| 9 期末魔王城 | 综合 BOSS 战(通关 6 章解锁) | 全卷混编 |
几个亮点机制
- 怨灵系统:答错的题化作怨灵,连续答对 2 次才能超度;BOSS 战会随机召回你的怨灵。错题不是划掉就完了,它会一直缠着你,直到你真的会了。
- 掌握度雷达:按各章答题正确率绘制,考前哪块凹陷补哪块。
- 真实的 SQL 判定:第 3 章基于 sql.js(SQLite 编译到 JS),你写的查询在浏览器里真实执行,与参考答案按结果集比对——与写法无关,殊途同归即算对。
技术上
纯静态零依赖:原生 HTML/CSS/JS,无构建步骤,整个游戏 1.6MB。为了能直接双击 index.html 离线玩,sql.js 用的是 asm.js 版本而不是 wasm(file:// 协议下 wasm 加载会受限)。
祝各位无痛拿下数据库系统原理🎓