封面就印着“实训教材”四个大字。你懂的。内页准是表格塞表格,代码摞代码。随便一翻,基本能算出你枯燥地熬到最后一页的秒数。但这本讲SQL Server 2000和VB编程的高职高专配套教程,偏不按套路出牌。厚。沉。拿手里跟块砖似的。坐稳了,看它怎么把“学生选课”这么个破事儿,一层层剥开:先拆数据库结构,再拆独立数据表,最后咔哒一声,卡死外键约束。看着看着我就乐了。这哪是教敲代码。分明是教人给日子搭骨架。对,就这意思。
刚翻到“数据库结构设计”那章,我眼皮都没抬。没拽理论。就拿最普通的选课系统当例子。建表。定主键。卡关联。步骤写得极平,像老木匠拿墨斗拉直一根线。直到撞上“数据规范化”那节,我才把视线挪过去。作者反反复复掰扯,为啥得消灭重复信息,为啥每个字段必须死死拴在核心主键上。我起初还嘀咕,这不就是机器的死规矩吗?后来琢磨琢磨,跟收拾屋子真是一个理儿。抽屉里杂物堆成山,看着就心烦。说白了,没给每样东西安对家。数据也一样。同一个学生的成绩,在几张表里重复录入。一更新,全乱套。瞎塞进去肯定打架。理顺了,系统自己就转起来了。
这套路子,倒让我想起前两年自己死磕个人记账本那阵子。熬了好几个大夜画关系图。非要把每一笔开销都塞进格子里。生怕漏掉哪条关联。真跑起来才发现,现实里的账目根本不像教科书那么板正。有时候一笔钱,既算伙食又算交通。有时候干脆忘得一干二净。书里顺带提了一嘴,用VB搭个简易信息管理系统。界面土得掉渣。绿底。灰框。按钮敲上去硬邦邦的。报错提示也冷冰冰的。我一开始直撇嘴,嫌它把现实削得太薄。可再往下啃,作者那股子实在劲儿反倒把我拽稳了。不扯宏大架构。不拿前沿技术忽悠人。就一句大白话:表设计利索了,程序自然就跑通了。毕竟SQL Server 2000和VB搁现在早进博物馆了。但这套逻辑未必过时。这种不装的技术态度,莫名让人心里踏实。
我特别吃它这种“不贪多”的脾性。现在市面上的技术书,恨不得把行业里最唬人的概念全塞进目录。读者看着看着头皮发麻。这本教材就死磕“学生选课”这一个点。结构原理。建库步骤。表单开发。全拆碎了喂给你。它门儿清读者是谁。也摸得透读者要啥。当然,指望靠它学点能直接跳槽的硬核技术,估计得失望。它压根就没想教你们搞大项目。就是给高职高专学生打底子用的。适用范围也就在这儿了。咱们过日子做事也这样。没必要一上来就死盯整座大山。先把脚底下这块石头摆正。路自己就蹚出来了。
啪。合上书。窗外天已经黑透了。楼下电动车喇叭正扯着嗓子喊外卖超时。我没去死磕那些SQL语句。也没去硬背VB控件的属性。脑子里反反复复晃悠的,全是书里那张简略的E-R图。方框和菱形用线连着。像极了咱们列计划时的死样子。我们总想把人生排得像张严丝合缝的数据库。每个节点都得有出处。每次选择都得精准对应。可生活偏偏是个没装外键约束的系统。它允许数据乱跳。允许字段空着。甚至允许你随时死机重启。把生活硬套进数据库的框里。多少有点一厢情愿。
说到底,这书教的可能根本不是怎么建库。而是怎么在乱成一锅粥的日子里找点秩序。哪怕你只是把一张选课表理顺。哪怕只是让个小程序跑通。那种“哎,原来是这样”的刹那。就已经足够让人喘口气了。指望读完就能把日子彻底理顺?那纯属扯淡。但偶尔有那么一两个瞬间。确实够用了。
我现在把它塞在书架最底下。不指望哪天会去翻它。但知道它在那儿就行。就像有些明白的道理。不用天天念叨。心里有个底。走路就稳当。