为什么应用程序开发人员可以处理数据库问题,而数据库开发人员则尽量避免应用程序问题?

4
根据我的经验,这是“后端”(数据库开发人员)和“前端”人员(应用程序开发人员、客户端和服务器端)之间的一个争议问题。在这个问题上,曾经有过许多激烈的酒吧讨论。
我只想知道,这是因为人们有不同的思维方式,或者是懒得学习更多并感觉在自己所知道的领域很舒适,还是其他原因。

我认为暗示数据库人员懒惰是非常冒犯的。仅仅因为我选择了与你不同的专业,并不意味着我愚蠢或懒惰。 - HLGEM
我并没有说我是一个应用程序开发者... 当我说“懒惰”时,这是基于我的经验,数据库人员不倾向于从各个角度审视系统的设计。他们认为这不是他们的工作。我很乐意学习双方,并通过这样做提出更好的解决方案。 - Ferdeen
12个回答

1

两个原因:

  • 数据库供应商促进了糟糕的SQL,
  • SQL被隐藏在应用程序UI的前台。

大多数天真的开发人员认为SQL是一种过程化语言,并按照此类编写代码,因为供应商确保存在这样的工具。DBA知道好的SQL是面向集合的,并且具有与应用程序编程涉及的完全不同的优化原则。

可见性方面使得应用程序开发人员可以针对数据库编写糟糕的SQL,并使其以较差的方式执行,而没有人会看到它有多糟糕。当DBA编写应用程序时,由于直接可见于最终用户,因此其外观和行为会立即受到批评。


1

好问题。实际上为什么开发人员要做数据库工作呢?因为如果没有专门的数据库人员,那么开发人员就必须去做这个工作。但是一家公司如果有专门的数据库人员,也会有开发人员。

:) 你有什么想法?


根据我的经验,数据库专家不倾向于从各个角度审视系统的设计。他们认为这不是他们的工作。我很高兴能够学习两方面的知识,并通过这样做提出更好的解决方案。 - Ferdeen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接