你觉得有SQL存在哪些不足之处,你会做它什么样的变化? [英] What deficiencies do you feel exist with SQL and what changes would you make to it?

查看:292
本文介绍了你觉得有SQL存在哪些不足之处,你会做它什么样的变化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你有没有遇到过的缺陷,限制或缺陷在使用SQL?

Have you encountered deficiencies, limitations or flaws while using SQL?

这是简单的与其他非SQL语言是如此复杂,不可能做到与SQL来完成​​任务!

Tasks which are simple to accomplish with other non-SQL languages are so complicated or impossible to do with SQL!

<一个href=\"http://stackoverflow.com/questions/17833851/sp-query-for-round-robin-matrix-permutations\">Here's一个很好的例子

你能为我提供的,其中,例如需要一个SQL查询复杂的结构,你遇到的问题或案例案例?人们掉入陷阱是认为所需要的解决方案必须适合在单个SQL语句中。

Can you provide me with case examples of problems you have encountered or cases where for example an SQL query required complex constructs? A trap that people fall into is thinking that the desired solution has to fit within a single SQL statement.

您能否改进,使SQL更强大,更简单?例如:PSM

Can you suggest improvements to make SQL more powerful and less complicated? Example: PSM

你觉得哪个SQL实现是最强大的?

Which SQL implementation do you feel is the most robust?

您想从非SQL​​环境有什么能力,请参阅SQL执行?..

What capabilities from a non-SQL environment would you like to see implemented in SQL?..

让我们假设SQL不存在,你会使用操纵数据?..

Let's suppose SQL didn't exist, what would you use for manipulating data?..

推荐答案

SQL一般有一些严重的缺陷作为数据库语言。短短几年的问题是:

SQL in general has some serious deficiencies as a database language. Just a few of the problems are:


  • 重复行(多集,而不是基于集合的模型)

  • Duplicate rows (multi-set rather than set-based model)

空值和三值逻辑增加了复杂性,模糊性和不一致的结果,不添加任何前pressive电源语言

Nulls and three value logic add complexity, ambiguity and inconsistent results without adding any expressive power to the language

SELECT语句的语法远比关系代数更详细和复杂的

SELECT statement syntax is much more verbose and complex than the relational algebra

缺乏对多任务的支持,意味着参照完整性的支持,并支持一般约束的严重限制

Lack of support for multiple assignment means that referential integrity support and support for constraints in general is severely limited

中,在SQL很难更具体的查询问题有两个例子:

Two examples of more specific query problems that are hard in SQL:


  • 没有简单的等同于SQL传递闭包。因此,从邻接关系结构的选择需要使用任何程序code,游标或不直观,而且很难优化递归查询语法。

  • No simple equivalent for transitive closure in SQL. Selection from adjacency relation structures therefore requires the use of either procedural code, cursors or the non-intuitive and hard to optimise recursive query syntax.

缺乏关键的传承意味着SQL查询接口不约而同地返回简单的二维表,这是决策支持(OLAP)类型的查询的本质上是n维一大缺点。

Lack of key inheritence means that SQL query interfaces invariably return simple two dimensional tables, which is a major drawback for decision support (OLAP) type of queries that are intrinsically n-dimensional.

改进?我不相信有任何有用的改进,这将使意义,因为固定上面会改变语言,所以从根本上说也不会有什么意义,甚至pretending它是SQL了。前进的最好方式,我相信是开发全新的,真正的关系语言。日期和达尔文的三维模型是最明显的继任者SQL已经导致了一些关系语言的新的实现。

Improvements? I don't believe there are any useful improvements that would make sense because fixing the above would change the language so radically that there wouldn't be much point in even pretending it was SQL any more. The best way forward I believe is to develop entirely new, truly relational languages. Date and Darwen's D model being the most obvious successor to SQL has already lead to a number of new implementations of relational languages.

这篇关于你觉得有SQL存在哪些不足之处,你会做它什么样的变化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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