暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

马斯克炮轰政府数据库设计,被真程序员打脸

Bytebase 2025-02-13
33

背景

几天前马斯克在推特上质疑美国政府的 Social Security 数据库设计,在程序员社区引起群嘲热议。

简单介绍一下背景,凡是在美国有合法身份的人,无论公民与否,都会有一个身份识别号码 Sosical Security Number (SSN)。这个号码用于验证身份,交税,领补贴等,是在美国生活最重要的个人信息。

马斯克帖子里吐槽的点是这个存放 SSN 的数据库没有做去重 (de-duple),所以会存在多条记录有一样的 SSN,如果按照这个记录发补贴的话,一个人就会重复收到补贴,这不是妥妥的欺诈吗 (MASSIVE FRAUD)。

在数据库设计层面,保证 SSN 去重的做法是给 SSN 这一列加上主键 (Primary key) 或者唯一键 (Unique key) 约束。乍看之下,马斯克如此惊讶也合乎情理,毕竟就是加一个约束,怎么能犯如此低级的错误,这可都是纳税人的钱啊。

显然事情没有那么简单,如果我们再推敲一下,一个人存在多条 SSN 记录是完全合理的,比如说一个人换了名字(尤其在美国,结婚后更名是一个普遍的现象),就像这个高赞评论所描述的。

当然也有冷静的声音,马斯克在帖子里并没有提供足够的上下文,SSN 可以是唯一的,也可以是不唯一的。还是要具体看整个数据库的表结构设计。

DeepSeek

我们请 DeepSeek 出面帮美国人民参谋一下。

就像 DeepSeek 所言,并不是所有表里的 SSN 都要作为主键,还是要看具体的上下文。

感想

显然,群众的情绪常常凌驾于客观事实之上。即便是相对理性的程序员,若胆敢对我们的数据库设计指手画脚,哪怕是马斯克这样的重量级人物,也难以避免被舆论的浪潮所冲击。此时,即便是理性的声音,也难免被淹没在情绪的洪流中。

当然,马斯克或许已经达成了他的目标。通过借助 SSN 这一广为人知的概念,他成功引发了更多人对政府信息系统的关注。无论马斯克的观点正确与否,他能够从 SSN 这一细微的切入点入手,确实展现了他见微知著的敏锐洞察力。


OpenAI vs DeepSeek:数据库诊断能力

Bytebase 3.3.1 - DML一键回滚支持 Oracle

Bytebase 签约 Lucid,助力全球可视化协作软件领导者实现数据安全与合规

Bytebase 产品介绍

文章转载自Bytebase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论