我们为年轻的专业人士提供了一个网络产品,让他们可以创建自己的页面来展示他们的专业身份。因此,一个表users
包含有关用户的信息(电子邮件、密码、姓名),包括他们的凭据和有关其页面的信息(是否高级、页面地址、主题)
现在,我们希望为招聘人员提供注册我们的平台以浏览候选人的可能性。招聘人员也可以是拥有页面的用户,但不是必须的。
现在我们的两种方法:
A/ 创建一个表recruiters
,其中包含招聘人员的姓名和凭据,如果他们创建了一个站点,则创建一个与表user_id
连接的列。ID
users
- 优点:产品可以很容易地由两个不同的团队单独开发。
- 不方便:如果招聘人员也是用户,则重复名称和凭据。我们需要在更新一个凭据时更新这两个凭据,或者让他们拥有两种不同的电子邮件/密码组合,一种用于他们的用户帐户,一种用于他们的招聘人员帐户。
数据库结构:
users
ID name email password group_id premium theme page_address
recruiters
ID name email password company_id user_id
B/ 将招聘人员添加到users
不同的表中,group_id
并将有关用户页面的所有信息移动到另一个表中(是否高级,页面地址,主题)。我们还将为招聘人员提供第三张表,其中包含他们特有的任何信息。
- 好处:一张桌子,上面有所有的凭据。
- 不方便:如果我们接触到数百万用户,招聘人员之间的任何查询都必须从一张巨大的表格中提取一小部分。另外:大量加入以获取每个用户的站点信息。
数据库结构:
users
ID name email password group_id
pages
user_id premium theme page_address
recruiters
user_id company_id
C/还有其他解决方案吗?
感谢您的投入!
特里斯坦