我知道这个问题已经以各种形式over和over再次提出,但我找不到一个完整的答案,我相信这是RDBMS /数据领域和行业中的一般问题。为了解释这个问题,我会告诉你一个简短的(也许是无聊的)故事!
"我有一个朋友"谁在使用100多个系统的A
公司工作。这些系统的规模和规模从完整的ITIL到定制/内部,单一用途,基于LAMP / SQLite / CSV的解决方案。绝大多数这些系统在某一时刻使用数据库/数据存储......大数据现在已成为趋势,而A
公司虽然保留(或记录)是一个非常好的主意)永远来自所有系统的历史数据!出于这个原因,他们建立了一个"仓库"。我的朋友负责编写将对这些数据进行分析的软件......但是,他有点困惑。该仓库中有数千个表,包含从一开始就有的数据(我认为是20世纪70年代:))。
[自从我开始告诉你这个人,我应该继续]
我的朋友非常沮丧,因为该仓库缺乏文件。似乎没有人知道什么是什么?!他面临的问题很少(我引用):
男人,有些字段是常量......它们对应用程序有特殊意义,但我无从知晓?但这没关系...因为其他一些领域是比特掩码!字段中的不同位值具有不同的含义!
他继续......
这不是全部...这些是您知道的简单案例......由于我们拥有来自多个系统的数据,我们最终会遇到不同系统以不同方式引用同一事物的情况。 ..如何向您解释...例如,网络设备具有FQDN,但是有些系统将其视为主键,而其他系统则将其视为主键,而是分配自动增量整数值,反过来它们用于外键(你知道......引用这个设备)。
他可以永远继续下去!
[是的,这是一个问题]
他说:
我们在软件世界中的文档方面取得了很大进展......我们已经开始使用文档,转移到wiki,并总结为内联docblock,既可作为参数/签名文档,也可作为wiki!我们可以自动生成文档,足够清楚,可以轻松地跟随另一个半球和这个世界的人!
他继续说道:
......在数据方面,我们也取得了重大成就!存储方法,序列化,传输和数据分析技术已经发生了巨大变化......我们还设法将数据库表映射到对象中,在某些情况下我们甚至可以表示关系!
那么为什么我们没有标准的方法/技术来记录RDBMS中的数据结构呢?
......他总结道:)
与我的朋友足够,所以我的意见:
有这样的说法(如果你知道谁这么说,请发表评论! - 尊重)
文档就像性:当它好的时候,它是非常非常好的;当它不好时,它总比没有好
为什么SQL不提供任何手段?
答案 0 :(得分:2)
如果不进行维护,任何类型的文档都会停滞不前。
此外,SQL世界提供了记录事物的各种可能性:
我们拥有所需的所有工具,我们只需说服我们的经理让我们编写文档(笑)