为什么没有数据库完全支持ANSI或ISO SQL标准? [英] Why does no database fully support ANSI or ISO SQL standards?

查看:260
本文介绍了为什么没有数据库完全支持ANSI或ISO SQL标准?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我设计一个炼油厂,我不会指望不同供应商的材料不会以微妙但重要的方式遵守公布的标准。来自一个供应商的管道,阀门和其他部件将具有符合ANSI标准的法兰和壁厚,以及来自任何其他供应商的相同部件。因此,确保了互操作性和系统安全。

If I were designing a oil refinery, I wouldn't expect that materials from different vendors would not comply with published standards in subtle yet important ways. Pipework, valves and other components from one supplier would come with flanges and wall thicknesses to ANSI standards, as would the same parts from any other supplier. Interoperability and system safety is therefore assured.

为什么普通数据库如此选择遵守哪些部分标准,为什么没有100%的标准系统会出现?标准是否断裂,缺乏范围,还是难以设计?

Why then are the common databases so choosy about which parts of the standards they adhere to, and why have no 100% standards-compliant systems come to the fore? Are the standards 'broken', lacking in scope or too difficult to design for?

编辑:常见数据库之间的实现差异列表

推荐答案

一些标准是真正的标准,即,不遵守它们的产品不工作。文件规格属于该类别。但是你也有标准更像指南:它们可以定义为具有逐点定义的标准,但是常规地仅部分地实现或具有显着的差异。 Web开发充满了诸如HTML,CSS和ECMAScript之类的标准,其中不同的供应商(即web浏览器)不同地实现标准。

In the software industry you have some standards that are really standards, i.e., products that don't comply with them just don't work. File specifications fall into that category. But then you also have "standards" that are more like guidelines: they may defined as standards with point-by-point definitions, but routinely implemented only partially or with significant differences. Web development is full of such "standards", like HTML, CSS and "ECMAScript" where different vendors (i.e. web browsers) implement the standards differently.

变化导致头痛,但标准化仍然提供了好处。想象一下,如果没有HTML标准,每个浏览器都使用自己的标记语言。同样,假设没有SQL标准,每个数据库供应商都使用自己完全专有的查询语言。将有更多的供应商锁定,开发人员将有更难的时间使用多个产品。

The variation causes headaches, but the standardization still provides benefits. Imagine if there were no HTML standard at all and each browser used its own markup language. Likewise, imagine if there were no SQL standard and each database vendor used its own completely proprietary querying language. There would be much more vendor lock-in, and developers would have a much harder time working with more than one product.

所以,不,ANSI SQL不服务与ANSI标准在其他行业的目的相同。但它确实提供了一个有用的目的。

So, no, ANSI SQL doesn't serve the same purpose as ANSI standards do in other industries. But it does serve a useful purpose nonetheless.

这篇关于为什么没有数据库完全支持ANSI或ISO SQL标准?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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