不管我们喜欢与否,我们开发人员中的许多人(如果不是大多数的话)都经常使用数据库,或者有一天可能不得不使用数据库。考虑到大量的误用和滥用,以及每天出现的大量与数据库相关的问题,公平地说,有一些概念是开发人员应该知道的——即使他们今天不设计或使用数据库。

关于数据库,开发人员和其他软件专业人员应该知道的一个重要概念是什么?


当前回答

我认为每个开发人员都应该理解数据库需要不同的范例。

在编写查询以获取数据时,需要一种基于集的方法。许多具有交互背景的人对此感到困惑。然而,当他们接受它时,他们可以获得更好的结果,即使解决方案可能不是第一次出现在他们以迭代为中心的思想中的解决方案。

其他回答

我认为每个开发人员都应该理解数据库需要不同的范例。

在编写查询以获取数据时,需要一种基于集的方法。许多具有交互背景的人对此感到困惑。然而,当他们接受它时,他们可以获得更好的结果,即使解决方案可能不是第一次出现在他们以迭代为中心的思想中的解决方案。

基本的SQL技能。 索引。 处理DATE/ TIME/ TIMESTAMP的不同形式。 用于您正在使用的平台的JDBC驱动程序文档。 处理二进制数据类型(CLOB、BLOB等)

我会说有很强的SQL基础技能。到目前为止,我见过许多对数据库了解不多的开发人员,但总是询问如何制定一个相当简单的查询的技巧。查询并不总是那么容易和简单。在查询规范化良好的数据库时,必须使用多个连接(内部连接、左连接等)。

RDBMS兼容性

查看是否需要在多个RDBMS中运行应用程序。如有,可能需要:

避免RDBMS SQL扩展 消除触发器和存储过程 遵循严格的SQL标准 转换字段数据类型 更改事务隔离级别

否则,这些问题应该分开处理,并开发应用程序的不同版本(或配置)。

简单的尊重。

它不仅仅是一个存储库 您可能并不比供应商或dba更了解情况 你不会在凌晨3点的时候,在高级经理对你大喊大叫的情况下支持它