我们真的用好 SQL 数据库了吗?

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与10000人一起快乐成长

461da38eef81ff77418a7357912d25ee.png

一个程序员对芯片生产,能有多少理解当然的就认为,它的生产就是一个有序的事件流,步骤1,2,3,4 ……按部就班的走下去。

于是我就设计一张表,记录产品的生产进度,每个生产记录,都有一个工序字段,当道工序做完,就自动进入设计好的下一道工序。也就是大家在图里看到的黑线流水图。

我本以为天衣无缝,自动化到了极致,但事实上,并不是我想的那么简单。

图中,还有红色箭头部分。

由于每道工序,都可以单拎出来,贡献它的生产力。甚至,有的工序间,还有来回的加工。因此,真正上线运行时,状况百出。

当我规定了黑色箭头的流程,写好了响应程序。等正式上线用的时候,果不其然,没多久,工厂负责录入数据的操作员,就来书记办公室抱怨了。

“你们小黄写的程序,怎么到了抛光检测(一道硅材料工序),就没有清洗(又一道硅材料工序)了”

“那你们也没有提,在抛光后检测后,不直接入库,还要继续做清洗啊。我以为就是一步步往下流的”

“来了这么久,不知道工序之间是可以相互回流的吗不去生产车间考察的吗”

我x

彻底懵了

闭门造车,我完全被带到沟里去了。我以为的程序,竟然完全没有按照我以为的那样跑。

这些计件拿钱的工人,那愤怒的眼神,就像是要冲上来,狠狠地打我的脸。“你小子坐着办公室,吹着空调,就写出来这些狗屎东西,白白浪费老娘的时间”

就这样,除了修补数据,我连夜把程序修改成配置工艺路线模式。心惊了好几天! 

后来团建时,跟老王说到这个事儿,他也不禁笑呵呵的说到,这事儿我就知道你要翻车。工艺路线,我那么写,就是为了能让操作员有更大的灵活度,也方便记录不同工艺的优劣。写死了,你就只能填坑式地补,最后补录数据,自然就都成了你的事儿。

嗯,姜还是老的辣

多年后我再回顾与老王交谈的那个下午,我依然觉得,数据库模式设计的魅力,深深打动着我。

一个好的设计,抵得上好几百个小时的缺陷修补。项目做的越多,我就越害怕设计数据库结构。设计得有缺陷,自己就是那个别人口中的“猪队友”。设计的好,大家都认为那是理所当然。

新开一个项目,就像医生新接一个病人。苦乐自知,明知风险大,依然吾往矣。

那么有没有一招吃遍天下的设计呢,显然是没有的。电商,社交,租约,哪怕是问卷,都有各自的难处。但凡带有这种占便宜,赶进度的想法,最终都会在某个时刻,让你坠入深渊,将你打个措手不及。

再看kimball的维度建模,纵然他总结了每个行业的最佳设计,但行业一直在改变,模式设计还是必须日新月异。他的思想,给我最大的启发,不是那20多个经典的设计思维,而是永远不要因循守旧,必须小心谨慎,大胆创新。

–完–

往期精彩:

本号精华合集(三)

外企一道 SQL 面试题,刷掉 494 名候选人

我在面试数据库工程师候选人时,常问的一些题

零基础 SQL 数据库小白,从入门到精通的学习路线与书单

068dde5657331a068916c006a1a574a5.png

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树使用JDBC操作数据库数据库操作91338 人正在系统学习中

来源:dbLenis

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月17日
下一篇 2021年9月17日

相关推荐