0

这可能是一个非常简单的问题,但我想知道从关系模型的角度来看,哪种方法更好。

我有 3 种类型的用户:

  • 顾客
  • 工作人员
  • 超级客户

它们都具有完全相同的字段。我将它们全部放在同users一张表中,这也使我使用的框架更容易使用。

我的问题是:是使用 3 个不同的布尔字段来区分每种类型的用户还是只使用一个具有 3 个值的字段更好?

目前我有 3 个布尔字段:adminstaffsuperuser

这会比只创建一个具有 3 个值的字段更清楚吗?(例如,管理员 1 个,员工 2 个,超级用户 3 个)

谢谢。

4

2 回答 2

2

我建议一个字段可能是 UserType 表的外键,如下所示:

-- UserType table
-- UserTypeID INT -- PK
-- Type NVARCHAR(50)

并在您的用户表中添加一个字段UserTypeID

types一些用户更喜欢可读性,因此当他们知道列表相对较短时,请使用单字符字符字段而不是整数 ID 。

于 2013-01-14T12:07:27.827 回答
1

如果一个用户只能属于一种用户类型:使用一个包含三个值的字段。

如果一个用户可以属于多个用户类型:使用三个布尔字段。

于 2013-01-14T12:14:19.230 回答