代码之家  ›  专栏  ›  技术社区  ›  Mason Wheeler

SQL是如何成为主流数据库语言的?

  •  9
  • Mason Wheeler  · 技术社区  · 14 年前

    对于大多数编程任务,您都有很多语言可供选择,并且在许多语言背后都有强大的社区。但是,当您需要使用数据库时,现在实际上只有一个可行的选择:SQL。当然,有不同的公司有不同的实现和方言,但是你仍然在寻找新的东西

    SELECT columns
    FROM table
    JOIN other_table ON criteria
    WHERE other_criteria
    

    但并非总是这样。早在90年代初,就没有一种明显的方法与数据库进行交互。但今天是这样。而且随着计算机语言趋向于扩散而不是融合,我发现这有点奇怪。是什么历史和技术因素导致了SQL几乎完全控制了数据库访问域?

    5 回复  |  直到 14 年前
        1
  •  7
  •   Community CDub    7 年前

    就像温斯顿·丘吉尔的名言:

    事实上,有人说民主是最糟糕的政府形式,除了那些不时尝试的其他形式。

    在1970年以前,当关系模型首次提出时,还有其他的数据库技术。从那以后一直都有其他的选择,而且 new alternatives today .

    但在所有备选方案中,除了SQL之外,没有任何解决方案能够为以下各项提供良好的平衡:

    • 广泛的标准化
    • 流行和长寿命的产品,如Oracle
    • 可以很好地使用许多应用程序编程语言
    • 支持正式的数据建模、强大的数据完整性、ACID事务
        2
  •  2
  •   martin clayton    14 年前

    这是一篇来自Codd维基百科文章的参考资料——关于SQL如何“胜出”的一些细节。

    Committee on Innovations in Computing and Communications: Lessons from History: The Rise of Relational Databases.

        3
  •  1
  •   Doug    14 年前
        4
  •  1
  •   Wyatt Barnett    14 年前

    撇开codd和churchill不谈,对于定义和查询基于表的数据集,SQL并不是一种糟糕的语言。正如另一位将军所说,“它是用最快的速度到达那里的。”

        5
  •  0
  •   Gary Myers    14 年前

    一个因素是数据持续存在。与应用程序相比,替换/迁移公司的数据要困难得多。应用程序可以来来往往,用最新的“本月风格”语言进行编码,但数据库平台仍然存在。这有点像QWERTY效应。尽管众所周知QWERTY键盘布局效率很低,但它仍然存在,因为切换到其他任何配置都会带来巨大的成本。

    其次,甲骨文和IBM(以及最近的微软)占据了巨大的市场支配地位。虽然他们可能不同意每一个细节,但他们也没有看到非SQL接口对他们的数据库有好处。早在90年代初,我就用过Ingres,当时它的quel正被SQL推出。

    第三,对于应用程序开发人员(尤其是像SAP和Oracle这样的公司)来说,拥有一个标准(ISH)平台是有好处的。

    我想这个问题的另一面是,为什么我们需要/想要这么多不同的编程语言。