在新数据库表中命名列时遇到的一个常见问题是用于对子类型进行分类的正确名称。最自然的列名通常为type
,但我尽量避免在命名中使用SQL keywords or reserved words。
我知道type
在MySQL和Postgres中都是非 - 保留关键字,因此我可以使用它,但我应该吗?
使用type
作为列名称的当前最佳做法是什么?有一个同义词是如此广泛等同于使用它是否有意义?
这些年来,我花了很多时间试图选择其他名字,这在过去一周的讨论中已经出现过两次,所以我想看看对此有没有明确的共识?
如果它对其他人有所帮助,我过去用过的一些替代方案试图解决这个问题包括:
type_of
class
category
subtype
kind
答案 0 :(得分:1)
我的建议通常是避免使用关键字,但不是因为保留关键字,而是因为关键字实际上本身就模棱两可。
例如,假设您有一个客户表-带有“类型”列的表可能用细分填充(高价值/低价值等),也可能用源填充(直接营销/涉足等)。
“类型”是一个低值单词。我通常建议以列长为代价尽可能明确。例如'CustomerSourceType'或'InventoryLocationType'或该场景中实际上更清晰的内容。
答案 1 :(得分:0)
第一条规则,
永远不要使用关键词或保留词。追随你的人会受苦。
如果您此时仅使用“类型”。您可以使用类型
答案 2 :(得分:0)
命名列“ type”在技术上似乎很好。我为列命名,以避免与可能用于查询数据库的语言/框架中的方法/关键字混淆。
此外,如果我添加了与数据库接口的新语言或框架,该怎么办。
“类型”是多种语言的方法名称或关键字。
也许没有充分的理由(它确实删除了一些很棒的列名)。无论哪种方式都没什么大不了的。只是个人喜好。