首页 > 解决方案 > SQL 命名约定:将数据类型添加到列名

问题描述

作为开发人员,我不断重复的一个常见错误是假设列的数据类型。我已经阅读了多篇关于 SQL 列命名约定的文章,但没有看到任何关于作为列名一部分的数据类型的参考——特别是针对 SQL Server。

例如,Revenue_f 代表浮点数,Organization_v 代表 varchar,AccountNumber_i 代表整数等等。

这一定是之前已经想到的,但我想知道它没有被使用的原因,或者专家对此事的意见;向我指出正确的文章/文档将不胜感激。

标签: sqlsql-serverdatabase-design

解决方案


这是一个可怕的命名约定。考虑一下如果您需要将 AccountNumber 更改为字符数据类型会有多糟糕。然后您是否返回并重命名该列并更改每个查询?或者您是否在列名中保留了后缀,即使它不再准确?如果您想知道列的数据类型,唯一的方法是查看表的定义。

而且,一个角色真的有点没用。你如何处理 nvarchar 和 varchar?那么规模呢?

PS 即使我写了一个答案,我还是投票结束这个问题,因为它主要是基于意见的,因此被认为是 SO 的主题。


推荐阅读