哪个更好,定义两个表,或者有一个布尔标志来确定用户的类型

Which one is better, defining two tables, or having a boolean flag to determine the type of a user

我正在为我的一个项目设计数据库,我们有两种类型的用户,普通用户(默认)和商务用户,他们具有相同的属性,但能力不同,例如。

企业用户可以 post 一份工作,而普通用户只能申请工作,仅此而已,这是首选的方式。

方法一

定义两个不同的 tables:将花费存储空间 space,因为两个用户具有相同的属性

方法二

有一个布尔标志来确定用户 ex is_business_account 属性的类型,这可能会使代码因 if、else 条件而膨胀。

这可以通过角色来解决,但是我需要为角色定义这样的 table 还是?

感谢您的宝贵时间

创建实体时,您不希望拥有多个完全相同的实体。在您的情况下,您将用户作为一个实体 (table),其中一个属性是他们是否是业务用户。作为您程序的一部分,当用户登录时,您会根据 1 table 检查用户是否登录以及要显示哪组功能。