Database 数据库列命名
假设有一个名为AIRPORT的表,我必须在两种命名约定中进行选择:Database 数据库列命名,database,naming-conventions,Database,Naming Conventions,假设有一个名为AIRPORT的表,我必须在两种命名约定中进行选择: 命名属性,如AP\U代码、AP\U名称等 或者像命名代码一样命名它们 问题是,遵循第一种方法还是使用同义词(即AP)和引用属性(如AP.CODE)更有效?实际上没有区别,所以选择清晰。我最近一直在使用Oracle,它有32个字符的名称长度限制,所以我尽量避免在属性上使用表名前缀,而是使用表别名。(这也使更改表名变得更容易。)在常用的任何RBDM中,这两种方式都不太可能对性能产生重大影响。选择将基于可读性和个人风格偏好。我建议
- 命名属性,如AP\U代码、AP\U名称等
- 或者像命名代码一样命名它们
问题是,遵循第一种方法还是使用同义词(即AP)和引用属性(如AP.CODE)更有效?实际上没有区别,所以选择清晰。我最近一直在使用Oracle,它有32个字符的名称长度限制,所以我尽量避免在属性上使用表名前缀,而是使用表别名。(这也使更改表名变得更容易。)在常用的任何RBDM中,这两种方式都不太可能对性能产生重大影响。选择将基于可读性和个人风格偏好。我建议不要使用前缀,因为这通常只是噪音,人们训练自己无论如何都不要使用。我只使用代码和名称。就我个人而言,我认为这很笨拙,根本没有任何好处 如果在其他表中有代码和名称,则必须指定
AIRPORT.CODE
和OTHERTABLE.CODE
以消除歧义
如果将与SCHEMABINDING一起使用(至少是SQL server),则必须限定列名
因此,如果使用列前缀,您将得到AIRPORT.AP\u code
作为一个类比,如果你考虑一个OO对象属性,你不会给它们加前缀,是吗
准确地说,绝对没有效率增益