数据库表设计问题。有哪位可以提出一些方案

表1产品表表2表3productskuitem
product和sku是多对多关系,一个sku可以绑定多个product,1个product可以被多个sku绑定。面向用户的是sku。sku和item也是多对多的关系。
用户下单的时候购买的是sku。请问,订单表可子订单表应该怎么设计才能较好的记录用户买了哪些sku,哪些product
长风秋雁
浏览 527回答 2
2回答

桃花长相依

建两张关联表即可啊,一个是product和sku的关联表,一个是sku和item之间的关联表,至于你怎么获取数据那是你后台API代码的事情product-skuFieldTypeNullKeyDefaultExtraidbigint(10)NOPRINULLauto_incrementproductidbigint(10)NOMULNULLskuidbigint(10)NOMULNULLsku-itemFieldTypeNullKeyDefaultExtraidbigint(10)NOPRINULLauto_incrementskuidbigint(10)NOMULNULLitemidbigint(10)NOMULNULL

慕哥9229398

根据领域驱动设计,sku可以称为聚合根,不管是item还是product,用户都应该先获取到sku的引用,再调用sku的方法获取到其他关联的对象,这样不会导致混乱。下单购买sku的话,订单应该保存sku的id。但这里涉及到sku会不会更改,以及更改后要求获取到的sku是下单时的sku还是最新的sku。如果要求是下单时的sku,应该新建个表保存sku的快照,那订单应该关联sku的快照,具体要看业务。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript