在命名新数据库表中的列时,我遇到的一个常见问题是用于分类子类型的正确名称。最自然的列名通常是 type
, 但我尽量避免使用 SQL keywords or reserved words在我的命名中。
我知道 type
在 MySQL 中都是非保留关键字和 Postgres ,所以我可以使用它,但是我应该吗?
目前关于使用 type
的最佳实践是什么?作为列名?是否有一个广泛等同的同义词,使用它才有意义?
多年来,我花了很多时间尝试选择其他名称,并且在过去一周的讨论中出现了两次,所以我想看看是否对此有任何明确的共识?
如果它对其他人有帮助,我过去曾使用过一些替代方法来解决这个问题,包括:
-
category
-
kind
-
subtype
-
type_of
-
role
-
class
-
<entity>_type
最佳答案
我的建议通常是避免使用关键字,但不是因为它们是保留的,而是因为它们本身通常实际上是模棱两可的。
例如,假设您有一个客户表 - 有一个“类型”列,该列可能填充了分割(高值(value)/低值(value)等),或者可能填充了来源(直接营销/步入式等)。
“类型”是一个低值(value)词。我通常建议以牺牲列长度为代价尽可能明确。例如“CustomerSourceType”或“InventoryLocationType”或场景中实际更清晰的任何内容。
关于mysql - 使用 `type` 作为数据库列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36160240/