从历史上看,什么使关系数据库流行? [英] historically, what made relational databases popular?

查看:65
本文介绍了从历史上看,什么使关系数据库流行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

EDIT 我刚刚开始浏览Codd 1970年著名的论文,该论文开始了所有工作,甲骨文基于(大型共享数据库的数据关系模型[pdf] ),很惊讶地发现它似乎将回答这个问题。它讨论了当时 market 中的数据库(分层和网络,例如NoSQL?),需要独立于内部表示,并清楚地解释了如何应用数学上的关系

EDIT I've just started skimming Codd's famous 1970 paper that started it all, that Oracle was based on (A Relational Model of Data for Large Shared Data Banks [pdf]), and was amazed to find that it seems it will answer this SO question. It talks about databases in the market at that time ("hierarchical" and "network" - like NoSQL?), the need for independence from internal representation, and a clear explanation of how to apply mathematical "relations" to a database.

从历史上看,关系数据库的哪些功能给企业带来了哪些好处,从而使企业采用它

Historically, what feature of relational databases gave what benefit that caused businesses to adopt it, making it massively successful?

今天,使用RDB的原因很多:它是标准的,产品是成熟的,经过调试的,功能齐全的,可以选择供应商,可以提供支持,有训练有素的员工等等。但是为什么它如此流行?

Today, there are many reasons to use a RDB: it's standard, products are mature, debugged, full-featured, there's a choice of vendors, there's support, there's a trained workforce and so on. But why did it become so popular?

我听说 分层数据库在关系数据库之前很流行-听起来像是一个关键,值存储,其中值可以是另一组键值。如果是这样,那类似于十年或两年前公开的面向对象数据库;以及XML /文档数据库和NoSQL。

I've heard "hierarchical databases" were popular before relational databases - they sound like a key-value store, where the value can be another set of key-values. If so, that is similar to the object oriented databases that were publicized a decade or two ago; and also to XML/document databases and NoSQL.

也许 ACID交易(原子性等)?但这似乎并不是RDB所特有的。

Maybe ACID transactions (atomicity etc)? But that doesn't seem specific to RDB.

也许是因为关系数据库使您能够定义仅与数据有关的数据模式-与特定的编程语言,应用程序的版本(演化)或应用程序的用途无关(这使阻抗不匹配成为必然),但是任何具有数据模式的数据库都具有此功能。

Maybe because relational databases enabled you to define a data schema that was purely about the data - independent of a particular programming language, version of an application (evolution), or purpose of the application (this makes "impedance mismatch" an inevitable) But any database with a data schema has this feature.

也许是因为关系模型在数学上是合理的?但这听起来不像是说服经理人采用它-这将带来什么商业利益。

Maybe because the relational model is mathematically sound? But this doesn't sound like it would convince managers to adopt it - and what would be the business benefit.

也许是因为数学模型为您提供了一种重新安排数据库分为不同的正常形式以提供不同的性能特征,这些特征在数学上保证不会改变数据的含义?这似乎是合理的,我的uni教科书对此做了很大的贡献,但是作为一项实际的商业利益(也许我遗漏了一些东西),这听起来对我来说并不十分引人注目?

Maybe because the mathematical model gives you a way to rearrange the database into different normal forms to give different performance characteristics, which are mathematically guaranteed to not change the meaning of the data? This seems plausible, and my uni textbooks make a big deal of it, but it doesn't sound very compelling to me as a practical business benefit (maybe I'm missing something)?

总而言之:从历史上看,是什么使关系模型如此决定性地胜过了层次模型?我还对RDB是否仍具有一些特殊的品质,从而使它们成为企业更好的实用选择感兴趣(除了成为上述标准的好处之外)。

To summarise: historically, what made the relational model win so decisively over the hierarchical model? I'm also interested in whether RDB still have some special quality that actively makes them a better practical choice for businesses (other than the benefits of being a standard mentioned above).

非常感谢,如果您能提供一些启发-我对此一直很好奇。

推荐答案

出于同样的原因,脚本语言很受欢迎。

For the same reason why the script languages are popular.

您可以使用自己喜欢的文本编辑器进行查询,然后发布它,而不必担心实际的物理模式。

You can make a query with your favorite text editor and just issue it, without bothering about the actual physical schema.

这不是最快的模型,也不是最可靠的模型,它只是生产力最高的模型。您在一小时内可以写出十倍的查询。

It's not the fastest model, not the most reliable model — it's just the most productive model. You can write ten times as many queries in an hour.

您可能想在我的博客中阅读这篇比较最受欢迎的数据库模型的文章:

You may want to read this article in my blog which compares the most popular database models:

这篇关于从历史上看,什么使关系数据库流行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆