Sql 专门用于排序的列的命名约定
比如说,我们有一组记录,这些记录应该用一种非平凡的排序方法进行排序,例如。G自然排序或仅按用户定义的特定顺序排序。我们必须推出一个专门用于订购的专栏Sql 专门用于排序的列的命名约定,sql,database,language-agnostic,naming-conventions,Sql,Database,Language Agnostic,Naming Conventions,比如说,我们有一组记录,这些记录应该用一种非平凡的排序方法进行排序,例如。G自然排序或仅按用户定义的特定顺序排序。我们必须推出一个专门用于订购的专栏 对这些列的命名是否有或多或少的共同约定?你用什么名字?我看到了序列以及排序器的使用。就我个人而言,我更喜欢序列,因为它意味着唯一性。当我们试图避免这些类型的构造时,正如您发现的,有时它是最短和最好的解决方案 我们通常称之为SortSequence或UserSortOrder,但我没有看到关于命名的任何特定约定(通常是因为排序通常来自其他数据,而不是
对这些列的命名是否有或多或少的共同约定?你用什么名字?我看到了
序列
以及排序器
的使用。就我个人而言,我更喜欢序列,因为它意味着唯一性。当我们试图避免这些类型的构造时,正如您发现的,有时它是最短和最好的解决方案
我们通常称之为SortSequence或UserSortOrder,但我没有看到关于命名的任何特定约定(通常是因为排序通常来自其他数据,而不是明确的东西…),只要名称有意义,并且(如果您在其他地方这样做的话)是一致的,这正是我努力追求的。我个人对字段使用任何逻辑名称。我在任何地方都没有看到特定字段的名称,但是,我尝试确保名称不是mysql保留关键字之一,这样我就不会到处使用反勾字符
`
另外,MySQL通常不区分大小写。所以“mytable”和“mytable”对于MySQL是相同的。在某些平台下,我相信您可以将MySQL配置为区分大小写,但如果您想将数据库移植到其他平台,那么这样做会造成潜在的可移植性问题
资源到命名约定:
对于表示相对但任意的排序方式的列,我使用
SortOrder
,Sequence
来表示应该是连续且没有间隙的值。因此,SortOrder
的值可能是10、20、99,但序列的值可能永远不会。我可能有一个SortOrder
,比如一个货币列表,某些货币出现在顶部,但在订单或发票行项目上有一个名为Sequence
的列。我会在Sequence
上使用SortOrder
,因为序列是由一些供应商提供的(Oracle,PostgreSQL)提供自动递增/标识功能。SortOrder更清楚/明确地说明了列的用途。正如其他人所指出的,没有命名此类列的真正标准
我的偏好倾向于“序号”(或秩),但我认为只要有人能够查看表定义,并且他们能够找出一列代表的数据,那么我认为您是好的 我一直使用Sequence
或SequenceHint
来处理这类事情。