【发布时间】:2021-06-25 14:24:03
【问题描述】:
我正在构建一个针对孩子的平台,可以选择家长注册。普通用户可以访问完整的平台体验,而家长用户只能访问家长仪表板来创建孩子的帐户、管理帐户并查看孩子的活动。
父帐户永远不会成为用户。如果他们想成为普通用户,他们必须创建一个单独的用户帐户。
我可以通过两种方式创建它:
- 带有
account_type列的单个users表。这是我目前拥有的。 - 单独的表,
users和parents,以及一个与两者都有一对一映射的accounts表(用于电子邮件、密码哈希等)。
#2 似乎是更好的长期解决方案。优点是我可以将两者分开发展,缺点是基本的用户查询变得稍微复杂一些。
对这两种方法有什么想法或建议吗?
【问题讨论】:
-
这将严格基于意见。但至于我的#2。我同意您的专业人士的观点,不同意您的基本用户查询变得稍微复杂一些。两种模式都要求您检索相同的数据。而模式#2 需要简单的内部连接;架构 #1 可能涉及带有属性值验证的左外自连接。
标签: postgresql authentication database-design roles