<分区>
关于数据库中的事务,可以教授很多东西(我在这里真正谈论的是关系数据库,因为这就是我目前正在教授的内容),但我相信教授错误的事情。鉴于学生在离开教室之前很可能会忘记您所说的大部分内容,那么应该将注意力放在哪里?
教科书和讲座幻灯片中经常出现的一些关键主题是(以 Ramakrishnan and Gehrke 作为主要指南)——但不要觉得受它们限制:
- 酸性物质
- 时间表及其可序列化
- 冲突序列化和优先级图
- SQL 事务语句(COMMIT、ROLLBACK、SAVEPOINT)
- 锁定协议(protocol)(严格的 2PL 等)
- 隔离级别(READ COMMITTED、REPEATABLE READ 等)
- 日志记录和恢复(WAL、ARIES)
- API(JDBC、PHP)中的事务支持
我希望了解哪些主题最值得,哪些不值得。我也对您从哪里回答问题感兴趣。您是否发现了一些在工作中非常宝贵的洞察力,或者您是否因为新毕业的员工不了解一些基本细节而感到沮丧?
背景:我在 DBMS 入门类(class)中向 1 年 IT 硕士类(class)的学生讲授该主题。学生是精通计算机(主要是 CS)的毕业生。