MySQL中的多个多对多关系场景

时间:2017-03-28 20:27:39

标签: mysql sql database database-schema

我是SQL和数据库管理的初学者,我知道我不知道如何建模数据库表。

我有以下表:usersordersbillslessonsticketscoaches

  • 课程由教练发布。
  • 用户可以订购课程。
  • 订单后注册账单。
  • 用户还可以订购门票。
  • 门票可以上课。
  • 当用户购买机票时,可以使用优惠券或半价或门票价格。

因此,当用户购买特定课程费用为6美元的门票时,拥有该课程的教练将获得3美元。

我需要bills的另一个coaches表吗?或者我可以使用相同的bills表来记录他们从购买的课程中获得的收益? 我真的不知道如何实现我的上述想法列表,抱歉。​​

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

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

我不能要求你提供完整的答案,但我确实需要一些解释或指导。

1 个答案:

答案 0 :(得分:1)

据我所知,机票与常规订单没有什么不同,可以与订单一起下订单,因为唯一的区别是教练得到的钱。因此,orders表中的一列可能只表示订单类型。

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