数据库表中布尔列的命名

时间:2010-06-14 12:31:46

标签: sql-server database database-design naming-conventions

我有'服务'表和以下列描述如下

  1. 服务是否需要用户验证?
  2. 服务是否需要用户的电子邮件激活?
  3. 该服务是否需要用户的移动激活?
  4. 我犹豫是否将这些列命名如下

    IsVerificationRequired
    IsEmailActivationRequired
    IsMobileActivationRequired
    

    RequireVerification
    RequireEmailActivation
    RequireMobileActivation
    

    我无法确定哪种方式最好。所以,以上建议的名称之一是最好的还是其他更好的名称?

4 个答案:

答案 0 :(得分:41)

我会(并且确实)使用“IsVerificationRequired”

我尝试为列名添加一些含义,因此很明显(ValueDate,InsertedDateTime,IsActive,HazCheezBurger,ProductName等)。 “Isxxxx”暗示是/否,例如,如果不考虑,您只有2个状态,而不像“ProductName”。

答案 1 :(得分:16)

使用Is变体运行,或者至少将Require交换为Requires。布尔语应该用作问题。是,可以,有,应该,它们都是布尔函数/列的良好前缀。有关此

的更多参数,请参阅1370840

答案 2 :(得分:6)

我会选择VerificationRequired,EmailActivationRequired等。

数据库是状态的快照,因此上面列出的列名称比我认为的那些更好。

答案 3 :(得分:1)

我会选择更适合您当前项目中使用的语法的那个。任何一个都很好,因为它们描述了变量包含的内容,您唯一需要担心的是您为所有项目保留相同的命名标准。如果你还没有确定你的项目的任何命名标准,那么第一个会更好,因为它是Java Bean命名标准的更接近,这是很多开发人员习惯的。