凌晨两点。屏幕蓝光劈脸上,干得直掉渣。耿骞那本《数据库开发基础》就瘫在机械键盘边上,书脊折得跟狗啃的似的。说实话,头两章我差点直接合上。术语?ER图?一排排冷冰冰的英文指令,排得那叫一个规整,看得人牙酸。我当初买它,纯粹指望考前急救,或者出差路上垫个桌角。随手翻两页,当个背景音就成。
翻到“数据表的设计与使用”那儿,手指头在触控板上卡住了。作者是真抠细节啊。字段类型咋选?主键到底拍成啥?冗余数据怎么扒干净?讲得跟老中医号脉似的,一根一根地摸。看着看着,脑子里“嗡”一下,D盘那个“最终版绝对不改真的最后版”文件夹突然跳出来。里头躺着几十张 JPG,加班截图还是周末聚餐?早分不清了。PPT 改了十几版,文件名全带“1”“2”。人呐,是不是都这样?总爱给烂摊子建索引。好像文件夹层级搭得够深,日子就能跑通不报错。书里写那句“合理的表结构是查询效率的前提”,我盯着屏幕,愣是看了好一会儿。挺扎心的。咱们费劲巴拉建表、建索引,图啥呢?根本不是为了那点硬盘空间。是想给乱成一锅粥的日子,硬抠出一个能查出来的逻辑。
看到“外键约束”和“参照完整性”,我差点没把保温杯捏瘪。书里写得透亮:外键就是表与表之间的红线。断了它,数据直接变孤儿。这玩意儿,像不像咱们在人际关系里偷偷画的底线?谁不盼着付出有回响,承诺有回音?可现实呢?哪有严丝合缝的关联。大多数时候,人就是那个没挂外键的孤立字段。卡在两张表中间,上不去,下不来。数据库的逻辑够硬气,但人情世故里,偏偏塞满了空值和异常。行吧。我直接把电脑一盖,趿拉着拖鞋摸去厨房,灌了半杯凉水。水顺喉咙下去,我突然咂摸出点味儿了。有些关系,本来就没法建关联。硬凑一块儿互相拖累,图啥?不如就让它悬着。反倒清爽。
说句掏心窝子的,这书对“规范”的执念,有时候真让人喘不上气。一遍遍念叨第三范式,死磕消除传递依赖。恨不得把每一行数据,都塞进格子间里钉死。道理我懂。可人总不能活成死板的指令吧。我老觉得,恰恰是那些没归档的破事,没建索引的脾气,没被强行绑定的瞬间,才让人觉得自个儿还喘着气。非要把记忆全扔进关系型数据库?那连打个喷嚏,都得先建个表。生活里哪有那么多严密的参照完整性?全是试探。是错位。是暂存在临时表里反复横跳的纠结。书里铺的是理想态。咱们过的,是异常处理。
再抬眼,窗帘缝里已经漏进点灰扑扑的亮光了。键盘没碰。新表也没急着建。就盯着那个来回闪的光标,发了会儿呆。突然咂摸出点别的味儿。这书压根没打算教人怎么过日子。它只是把那种“想建秩序”的笨劲儿,用最干巴、也最诚实的语法,直接摊你面前。咱们确实得靠点规矩,挡挡外面的乱七八糟。但也得给那些没法建索引、查不出结果的破事儿,留块能随便撒野的空地。
数据库该备份就备份。文件夹该清就清。至于那些暂时找不到合适表结构往里塞的玩意儿,先让它们耗着吧。机房服务器还在嗡嗡响。日子嘛,总得一行一行往下跑。