读大学有一件遗憾事就是有一个很好的数据库入门的老师,却没有学好它他的课。
工作了一年后,对数据库的原理总是抱着又熟悉又陌生的情绪,该是好好重学一下数据库原理的时候了。
在网上看了一下Stanford CS的课程列表,CS145是一门数据库入门的课程 - Introduction to Database(数据库导论)。浏览了一下,发觉课件很粗糙,没有很好的handouts,大部分都是slides。没关系,只要有教材就够了。
CS145的授课老师是Jennifer Widom,是A First Course in Database Systems, 3rd(以下简称FCDB-3)的作者,此书即为该Course的Textbook。有幸我买到了该书的第二版,还是原版的;不幸的事,该Course开始采用第三版了。虽然新版在内容的结构上有所调整,但是不打紧,我还是能够从第二版学到完整的知识体系!
Stanford CS的数据库课程是一个完整的系列:
CS145: Introduction to Databases
CS245: Database System Principles
CS345: Advanced Topics in Database Systems
CS346: Database System Implementation
CS347: Transaction Processing and Distributed Databases
要是这5门课都上齐,那我就成为数据库巨头了,可惜生命有限,我只能功利主义一下学CS145 。
我找到了 FCDB-3 的官网,里面有很多丰富的资源,但是界面却很丑,只能忍忍了...
依稀记得大学数据库授课教授刘云生(Very famous)说过,Jeffrey Ullman的这本FCDB有点难(当时我们的教材是Silberschatz的Database System Concepts),读了一下确实如此,感觉文字很紧凑不赘述,可能看第一眼无法完全明白。
哈哈,思路都厘清了,接下来就进入正文了 - RTFM: Read the Fucking Material
FCDB-3一书第一章的1.3节:Outline of Database-System Studies给了一个逻辑性很强的学习roadmap:
Part I: Relational Database Modeling
Part II: Relational Database Programming
Part III: Semistructured Data Modeling and Programming
Part IV: Database System Implementation
Part V: Modern Database System Issues