MySQL中的多对多关系场景

MySQL中的多对多关系场景,mysql,sql,database,database-schema,Mysql,Sql,Database,Database Schema,我是SQL和数据库管理的初学者,我有一个想法,我不知道如何建模到数据库表中 我有以下表格:用户,订单,账单,课程,门票,教练 课程由教练发布 用户可以订购课程 汇票在订单之后登记 用户还可以订票 一张票可以上一节课 当用户购买车票时,车票的收益或是车票价格的一半 因此,当用户购买一张票价为6美元的特定课程门票时,拥有该课程的教练将获得3美元 我是否需要另一张账单表格来存放教练?或者我可以使用相同的账单表来登记他们从购买课程中获得的收益? 我真的不知道如何实现我的想法清单以上,对不起 现在我已

我是SQL和数据库管理的初学者,我有一个想法,我不知道如何建模到数据库表中

我有以下表格:
用户
订单
账单
课程
门票
教练

  • 课程由教练发布
  • 用户可以订购课程
  • 汇票在订单之后登记
  • 用户还可以订票
  • 一张票可以上一节课
  • 当用户购买车票时,车票的收益或是车票价格的一半
因此,当用户购买一张票价为6美元的特定课程门票时,拥有该课程的教练将获得3美元

我是否需要另一张
账单
表格来存放
教练
?或者我可以使用相同的
账单
表来登记他们从购买课程中获得的收益? 我真的不知道如何实现我的想法清单以上,对不起

现在我已经设法做到了这一点,我不知道如何完成数据库的其余部分

|bills|<--|orders| *<------ |users|
            |
            v
            *
        |order_lesson|
            *
            /\
            |
        |lessons| *<----- |coaches|

| bills |据我所知,这张票与常规订单没有什么不同,而且可以随订单一起订购,因为唯一的区别是长途汽车能拿到多少钱。因此,
orders
表中的一列可能表示订单的类型

 |bills|<--|orders|<----|users|
                / \
                 |
              |lessons|<---|coaches|

|账单|看起来给教练的金额是固定的。如果这是我能说的实例,那么就不需要另一个表,因为您可以轻松地计算coach通过查询得到的金额。如果您需要每个课程的更多信息或更详细的报告,那么账单类别可能是最好的。SQL中最重要的一点是,每个表中的数据重复应该尽可能少。如果一个表有大量的重复,那么您可能需要研究重构您的表database@Matthew我明白了,谢谢你。如果你知道我如何通过实施我在开头提到的要点列表来完成DB,我将不胜感激。如果是,我当前的数据库是正确的。