Database 数据库中表和列的命名约定

Database 数据库中表和列的命名约定,database,naming-conventions,Database,Naming Conventions,可能重复: 每次新项目启动时,我都会考虑数据库中表和列的命名约定。你的建议是哪种情况?为什么 案例1。列名称 案例2。ColumnName 案例3。列名称 案例4。columnName我喜欢案例2,这样对我来说,值似乎更突出。无论你选择什么,保持一致 我使用案例2(ColumnName)——因为下划线很难输入 下划线在索引名、触发器或其他不经常键入的对象中是可以的。我将它们从表、列、视图和存储的进程名称中删除,因为这些名称是经常使用的,如果经常使用下划线,则会降低速度。我只是喜欢camelca

可能重复:

每次新项目启动时,我都会考虑数据库中表和列的命名约定。你的建议是哪种情况?为什么

案例1。列名称
案例2。ColumnName
案例3。列名称

案例4。columnName

我喜欢案例2,这样对我来说,值似乎更突出。无论你选择什么,保持一致

我使用案例2(ColumnName)——因为下划线很难输入

下划线在索引名、触发器或其他不经常键入的对象中是可以的。我将它们从表、列、视图和存储的进程名称中删除,因为这些名称是经常使用的,如果经常使用下划线,则会降低速度。

我只是喜欢camelcasting(4)可读性强,无下划线。

我同意#2,原因有两个:

  • 下划线很难输入
  • Net属性的大小写通常是这样的。这使您的所有命名匹配-这是方便的,并有助于在您使用ORM的情况下

  • 巧合的是,我相信Java开发人员倾向于在他们的类中使用#4。如果客户机软件是Java的,我会将答案改为#4。

    无论您决定选择什么,坚持不变是最重要的,那就是一致性

    我更喜欢#2,因为它在我看来是最可读的,正如前面提到的,下划线很难看,而且打字很烦人#4是第二好的#3我最不喜欢,大写和下划线都是多余的。

    您应该使用大小写1,因为它没有大小写敏感问题。此外,camel case还带有首字母缩略词

    columnID
    columnId
    columnIDAlternative
    columnIdAlternative
    RASCScore
    RascScore
    
    column_id
    column_id_alternative
    rasc_score
    

    而且,单词之间的空格在视觉上比把所有东西塞进一起更令人愉快。绝对值得在这里输入下划线所带来的任何痛苦。下划线模拟空格,复合名词和短语在普通书面语言中有空格。类似于此的onlypeopletotype可能已经过时了。

    我投票支持“在上一个项目中使用的任何一个”,在这种情况下,一致性可能比任何特定的意识形态都更重要。

    我给我的表命名与我将要创建的对象命名完全相同。这在现代的ORM(对象关系映射器)中非常有效,因为它们通常可以基于数据库结构(或其他方式)为您创建对象模型。被接受的答案似乎低估了“输入下划线的痛苦”,但我认真对待。我患有RSI,尤其是我的小拇指,我用它来按住Shift和Ctrl键,我会尽我所能避免不必要的下划线。当然,这个问题的一个好答案是将CapsLock键重新映射到Shift键或下划线键。但是在任何情况下,我把这个答案添加到一个老问题上,因为没有人提到使用ORM。因为我在.NET中进行大多数编程,所以我的大多数属性都是驼峰大小写的,所以我也用驼峰大小写来命名我的db列。我对缩略语绝对没有问题。所以我做了一些事情,比如:

    GetIdByName(“你好,世界”)

    骆驼壳肯定会让人讨厌长名字。。。但是,我避免使用长名字。通常这意味着我把事情安排得不正确。如果我确定我没有,那么。。。在这种情况下,长名称在我的代码中非常罕见,而且这种情况非常独特,因此它不会让我慢下来


    我认为命名绝对是最重要的。就像有些人迷恋XML一样,其他人也迷恋数据库。就个人而言,我喜欢使用我的ORMs完全(或尽可能)忽略我的数据库。为了方便起见,我将列命名为代码中的属性。因此,最终,撇开讨厌下划线不谈,我使用我的代码所在的语言的任何约定。

    @TheTXI-这个问题是关于表前缀的,而不是关于命名样式+1,以便重新编辑您自己的问题!。。。和案例#1(如果软件是用PHP编写的?:)当然,可读性比按shift键更重要。我从来都不喜欢CamelCase,你刚才解释了原因。当你开始使用下划线时,它看起来不错,一年左右后,你会感到恼火。特别是当你在.NET中使用ORM框架时,你能详细说明一下表名和.NET中ORM框架之间的联系吗?数据映射是什么?在json时代,如果对象的属性带有下划线,
    user,这是一件痛苦的事情。postDate
    显然比
    user好。post_date
    ORM=对象关系映射,在2009年使用下划线是可以的,现在,在对象属性中使用下划线被认为是不好的命名约定。可读性肯定比必须按shift键重要几个数量级。可读性肯定比必须按shift键重要几个数量级。当然,如果使用一种编程语言,这没关系。如果使用多种语言访问数据库会怎么样?说到底,可读性肯定比按shift键更重要。真的吗?“columnIdAlternative”如何比“column\u id\u alternative”更容易阅读?