我被教导不要在Id
表的标识列中使用该名称,但是最近我还是一直在使用它,因为它简单,简短并且对数据的真实性具有很强的描述性。
我见过有人建议Id
给表名加上前缀,但这似乎对编写SQL查询的人(或者如果您使用的是诸如Entity Framework的ORM,则是程序员)做更多的工作,尤其是在较长的表名上,例如CustomerProductId
要么AgencyGroupAssignementId
我们雇用了一个第三方供应商来为我们创建一些产品,实际上Ident
是为了避免使用,而将其所有标识列都命名为Id
。最初,我以为他们这样做是因为它Id
是一个关键字,但是当我查看它时,发现它Id
不是SQL Server 2005中的关键字,这就是我们正在使用的关键字。
那么为什么人们建议不要在Id
标识列中使用该名称?
编辑:为澄清起见,我不是在问要使用哪种命名约定,也不是要在参数中使用一种命名约定。我只想知道为什么建议不要将其Id
用于标识列名称。
我是一个程序员,而不是dba,对我而言,数据库只是存储我的数据的地方。由于我通常构建小型应用程序,并且通常使用ORM进行数据访问,因此使用Identity字段的通用字段名称要容易得多。我想知道这样做会导致我错过什么,以及是否有确凿的理由让我不这样做。