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

sas*_*asa 17 database naming-conventions

可能重复:
数据库,表和列命名约定?

每次新项目启动时,我都在考虑在数据库中命名表和列的约定.您的推荐是哪种情况?为什么?

案例1. column_name
案例2. ColumnName
案例3. Column_Name
案例4. columnName

Mar*_*las 22

您应该使用案例#1,因为它没有区分大小写问题.此外,骆驼案件与首字母缩写词很糟糕.

columnID
columnId
columnIDAlternative
columnIdAlternative
RASCScore
RascScore

column_id
column_id_alternative
rasc_score
Run Code Online (Sandbox Code Playgroud)

此外,单词之间的空格在视觉上比将所有内容一起干扰更令人愉快.绝对值得点击下划线所感受到的痛苦.下划线模拟空格,复合名词和短语在正常的书面语言中有空格.TheOnlyPeopleToTypeLikeThisMayHaveBeenTheRomans.

  • 我从未喜欢过CamelCase,你刚才解释了原因. (3认同)
  • 当你开始使用Underscore时,它看起来很好,一年后左右,你会感到烦躁.特别是当你在.Net中使用ORM框架时 (2认同)

Joa*_*son 7

无论你决定选择什么,坚持同样是最重要的,这是一致的.

我更喜欢#2,因为这是非常可读的,并且如前所述,下划线很难看并且很难打字.#4是第二好的.#3我最不喜欢,大写和下划线都是矫枉过正.


nik*_*d23 5

我同意#2有两个原因:

  1. 下划线很难打字.
  2. 在.Net属性通常以这种方式加载.这使得您的所有命名都匹配 - 这在您使用ORM的情况下非常方便.

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