Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 数据库列命名_Database_Naming Conventions - Fatal编程技术网

Database 数据库列命名

Database 数据库列命名,database,naming-conventions,Database,Naming Conventions,假设有一个名为AIRPORT的表,我必须在两种命名约定中进行选择: 命名属性,如AP\U代码、AP\U名称等 或者像命名代码一样命名它们 问题是,遵循第一种方法还是使用同义词(即AP)和引用属性(如AP.CODE)更有效?实际上没有区别,所以选择清晰。我最近一直在使用Oracle,它有32个字符的名称长度限制,所以我尽量避免在属性上使用表名前缀,而是使用表别名。(这也使更改表名变得更容易。)在常用的任何RBDM中,这两种方式都不太可能对性能产生重大影响。选择将基于可读性和个人风格偏好。我建议

假设有一个名为AIRPORT的表,我必须在两种命名约定中进行选择:

  • 命名属性,如AP\U代码、AP\U名称等
  • 或者像命名代码一样命名它们

问题是,遵循第一种方法还是使用同义词(即AP)和引用属性(如AP.CODE)更有效?

实际上没有区别,所以选择清晰。我最近一直在使用Oracle,它有32个字符的名称长度限制,所以我尽量避免在属性上使用表名前缀,而是使用表别名。(这也使更改表名变得更容易。)

在常用的任何RBDM中,这两种方式都不太可能对性能产生重大影响。选择将基于可读性和个人风格偏好。我建议不要使用前缀,因为这通常只是噪音,人们训练自己无论如何都不要使用。

我只使用代码和名称。就我个人而言,我认为这很笨拙,根本没有任何好处

如果在其他表中有代码和名称,则必须指定AIRPORT.CODEOTHERTABLE.CODE以消除歧义

如果将
与SCHEMABINDING一起使用(至少是SQL server),则必须限定列名

因此,如果使用列前缀,您将得到
AIRPORT.AP\u code

作为一个类比,如果你考虑一个OO对象属性,你不会给它们加前缀,是吗

准确地说,绝对没有效率增益