为什么在 70 年代之前没有人想到连接的概念?

为什么在 70 年代之前没有人想到连接的概念?

那么,让我看看我的历史是否正确:

  • 1976 年,第一个作为 RDBMS 出售的系统是 Multics Relational Data Store。我不知道它是否有 JOIN,但我们假设有。
  • UNIX 命令join于 1979 年发布。它模仿 SQL 的 JOIN,但适用于纯文本文件。

所以我的问题是。如果join对纯文本相对有用,为什么以前没有开发类似的东西?当然,自 20 世纪 50 年代末以来,操作系统在某种程度上一直在处理纯文本数据和“表格数据”。我确信在某些时候他们会发现有一个现成的抽象或工具以有意义的方式组合来自两个不同文件的数据是有用的。

那么,为什么这个概念之前没有出现呢?我的玫瑰色眼镜是否低估了连接的认知开销,以及所有维恩图,只有在需要 RDB 性能时才合理?人们是否满足于以临时方式合并数据?或者加入确实是神来之笔?

答案1

join对纯文本相对有用“——这就是你的论点的缺陷。

该命令对于纯文本文件完全没有用;例如,考虑一个包含如下行的纯文本文件:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Ut laoreet sapien massa, ac malesuada sem egestas quis.
Cras id euismod dolor.
Pellentesque scelerisque dolor orci, sit amet rutrum nunc condimentum vitae.
Vivamus tincidunt massa maximus volutpat auctor.

以及这样的一个:

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Nam nec enim et felis sagittis suscipit porta eu erat.
Pellentesque scelerisque dolor orci,
sit amet rutrum nunc condimentum vitae.
Praesent tincidunt pulvinar est vitae laoreet.

另一方面,它对于半结构化文件很有用,其中关键字段本身是可识别的,并通过已知字符(字符串)(例如 )与其他数据分隔开tab。例如,这两个半结构化join文件可以以有意义的方式应用:

Apple   red
Banana  yellow
Orange  orange

red     5
yellow  3
orange  2

相关内容