MySQL中的多对多关系场景
我是SQL和数据库管理的初学者,我有一个想法,我不知道如何建模到数据库表中 我有以下表格:MySQL中的多对多关系场景,mysql,sql,database,database-schema,Mysql,Sql,Database,Database Schema,我是SQL和数据库管理的初学者,我有一个想法,我不知道如何建模到数据库表中 我有以下表格:用户,订单,账单,课程,门票,教练 课程由教练发布 用户可以订购课程 汇票在订单之后登记 用户还可以订票 一张票可以上一节课 当用户购买车票时,车票的收益或是车票价格的一半 因此,当用户购买一张票价为6美元的特定课程门票时,拥有该课程的教练将获得3美元 我是否需要另一张账单表格来存放教练?或者我可以使用相同的账单表来登记他们从购买课程中获得的收益? 我真的不知道如何实现我的想法清单以上,对不起 现在我已
用户
,订单
,账单
,课程
,门票
,教练
- 课程由教练发布
- 用户可以订购课程
- 汇票在订单之后登记
- 用户还可以订票
- 一张票可以上一节课
- 当用户购买车票时,车票的收益或是车票价格的一半
账单
表格来存放教练
?或者我可以使用相同的账单
表来登记他们从购买课程中获得的收益?
我真的不知道如何实现我的想法清单以上,对不起
现在我已经设法做到了这一点,我不知道如何完成数据库的其余部分
|bills|<--|orders| *<------ |users|
|
v
*
|order_lesson|
*
/\
|
|lessons| *<----- |coaches|
| bills |据我所知,这张票与常规订单没有什么不同,而且可以随订单一起订购,因为唯一的区别是长途汽车能拿到多少钱。因此,orders
表中的一列可能表示订单的类型
|bills|<--|orders|<----|users|
/ \
|
|lessons|<---|coaches|
|账单|看起来给教练的金额是固定的。如果这是我能说的实例,那么就不需要另一个表,因为您可以轻松地计算coach通过查询得到的金额。如果您需要每个课程的更多信息或更详细的报告,那么账单类别可能是最好的。SQL中最重要的一点是,每个表中的数据重复应该尽可能少。如果一个表有大量的重复,那么您可能需要研究重构您的表database@Matthew我明白了,谢谢你。如果你知道我如何通过实施我在开头提到的要点列表来完成DB,我将不胜感激。如果是,我当前的数据库是正确的。