Mysql 协作软件的数据库模式

Mysql 协作软件的数据库模式,mysql,database,database-schema,Mysql,Database,Database Schema,我正在为音乐家招聘和协作应用程序设计一个数据库。 主旨- 有两种类型的用户-音乐家和听众。音乐家可以上传音频/视频帖子,并可以向其他音乐家发送协作请求。 听众可以看到音乐家的帖子并向他们发送招聘请求 表格结构 使用者 职位 喜欢 评论 租用 合作 我应该为音乐家和听众分别制作桌子吗?他们有许多共同的领域,但只有音乐家可以创造职位 您是在谈论将用户表拆分吗 如果它们具有相同类型的数据,则将其保留为一个表。如果他们有很多不同,你可以把他们分开。请注意,将它们分开并没有错,但最佳做法是创建包含相同数据

我正在为音乐家招聘和协作应用程序设计一个数据库。 主旨- 有两种类型的用户-音乐家听众。音乐家可以上传音频/视频帖子,并可以向其他音乐家发送协作请求。 听众可以看到音乐家的帖子并向他们发送招聘请求

表格结构

  • 使用者
  • 职位
  • 喜欢
  • 评论
  • 租用
  • 合作

  • 我应该为音乐家和听众分别制作桌子吗?他们有许多共同的领域,但只有音乐家可以创造职位

    您是在谈论将用户表拆分吗

    如果它们具有相同类型的数据,则将其保留为一个表。如果他们有很多不同,你可以把他们分开。请注意,将它们分开并没有错,但最佳做法是创建包含相同数据的集合。您的数据库不负责决定特定用户可以做什么,这属于您的访问控制代码。 还要问自己这样一个问题,如果一个音乐家想雇佣另一个音乐家怎么办?在关系数据库中,冗余通常是糟糕的设计


    您还可以为每种类型的用户创建两个附加的具有附加属性的表,但在用户表中保留公共数据。例如,每个用户可能都有一个用户名和密码。

    您可以在用户表中添加用户类型字段,并按用户类型区分用户。

    仅供参考,我删除了PHP标记,因为问题是关于数据库体系结构的。