Database design 在设计在线b2b应用程序时,存储用户和公司的更好方法是什么?
我正在设计一个在线应用程序,允许用户登录该应用程序并创建项目。现在我们需要添加公司,这样用户就可以属于他们自己的公司,让团队成员加入他们的公司并在项目上进行协作 据我所知,有两种不同的方法可以做到这一点:Database design 在设计在线b2b应用程序时,存储用户和公司的更好方法是什么?,database-design,architecture,Database Design,Architecture,我正在设计一个在线应用程序,允许用户登录该应用程序并创建项目。现在我们需要添加公司,这样用户就可以属于他们自己的公司,让团队成员加入他们的公司并在项目上进行协作 据我所知,有两种不同的方法可以做到这一点: 展开“当前用户”表,以便每个用户都可能是公司。其他用户将以父/子关系加入现有公司用户。系统中的每个用户都可以是一个成熟的公司,也可以只是一个权力减少的下属团队成员。项目由公司的主要用户所有。如果不关闭公司,就永远无法删除主用户,因为他们是一个整体。用户表现在混合了公司用户和团队成员用户 保留“
TL;DR:用户和公司在一个表中,还是将用户和公司拆分为两个不同的表?选项2,当然可以。我不认为你错过了什么。你有没有反复阅读选项1?听起来像是一场彻头彻尾的噩梦 如果不关闭公司,就永远无法删除主用户,因为他们是一个整体 这句话本身就注定了选项1的失败 如果这意味着使用选项2中更简单、更灵活的数据库设计,我会进行一些代码重构