在SQL数据库中命名布尔(位)值

Dav*_*och 4 sql naming-conventions

所述的AdventureWorks数据字典指定该[EmailPromotion][Contact]表是一个int,并且:

0 = Contact does not wish to receive e-mail promotions.
1 = Contact does wish to receive e-mail promotions.
Run Code Online (Sandbox Code Playgroud)

并且[Employee].[CurrentFlag]采用bit如下:

0 = Inactive
1 = Active
Run Code Online (Sandbox Code Playgroud)

我的问题有两个部分:

  • 是否有充分的理由使用int数据类型bit(两种用途都将被记录)?
  • 您建议使用什么类似布尔和类似布尔列的命名约定?(例如IsActive,ActiveFlag,Active)

Red*_*ter 6

对于第一部分,他们可能允许将来的状态代码(虽然使用该列名称很难想象它可能是什么......).

你会在第二个问题上发现很多不同意见,但IsActive在这种情况下我更喜欢这个名字.我发现它读得很好,并且可以防止你在使用类似的东西时获得的代码中的双重内容IsInactive.