电商人每天都在用,比如某只猫,某只狗等,电商系统的设计看似复杂其实很简单,看起来简单和非常复杂设计自定义属性和自定义规范并解释何时可以使用它们。我一直在说电子商务是一个简单又复杂的东西。在本章中,我们将再次深入分析电子商务系统中产品设计的更多逻辑和实现。关联的SPU对应多个SKU。SPU其实就是主要的产品列表,类似于iphonex手机,而SKU就是这个产品绑定的规格列表,类似于iphonex红款,iphonex黑款等,主表和规格表也是有关联的与其他表相册。在淘宝的逻辑中,商家可以给商品添加视频和图片,也可以给每个sku添??加图片。我们称之为专辑。将一组图片和视频绑定到product表和sku表,就像歌手和作家发专辑一样。product_albumCREATETABLE`product_album`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`product_id`int(11)NOTNULLCOMMENT'产品编号',`name`varchar(25)COLLATEutf8mb4_unicode_ciNOTNULLCOMMENT'产品名称',`url`varchar(45)COLLATEutf8mb4_unicode_ciDEFAULTNULLCOMMENT'图片地址',`size`int(11)DEFAULTNULLCOMMENT'视频大小',`intro`varchar(255)COLLATEutf8mb4_unicode_ciNOTNULLCOMMENT'图片介绍',`sort`int(11)NOTNULLDEFAULT'999'COMMENT'sort',`status`tinyint(4)NOTNULLDEFAULT'0'COMMENT'imagestatus',`state`tinyint(4)NOTNULLDEFAULT'0'COMMENT'resourcetype0=>image1=>video',`created_at`timestampNULLDEFAULTNULL,`updated_at`timestampNULLDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=60DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ci;品牌每个产品都属于一个品牌,例如iphonex属于苹果,小米8属于小米。品牌不需要和SKU关联,原因很简单,现在的SKU是苹果的,iPhoneX以下的规格都是苹果的。product_brandCREATETABLE`product_brand`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`product_category_id`int(11)NOTNULLCOMMENT'产品类别编号',`name`varchar(25)COLLATEutf8mb4_unicode_ciNOTNULLCOMMENT'品牌名称',`image_url`varchar(125)COLLATEutf8mb4_unicode_ciNOTNULLCOMMENT'imageurl',`sort`int(11)NOTNULLDEFAULT'999'COMMENT'sortorder',`status`tinyint(4)NOTNULLCOMMENT'status',`created_at`timestampNULLDEFAULTNULL,`updated_at`timestampNULLDEFAULTNULL,PRIMARYKEY(`id`),UNIQUEKEY`product_brand_name_unique`(`name`))ENGINE=InnoDBAUTO_INCREMENT=4DEFAULTCHARSET=utf8mb4COLLATE_code=utfCategory有时候一个品牌不仅仅属于一个品类,或者以iphonex为例,它既是手机又是苹果产品,同时也是音乐播放器。注意此时不要将当前品牌绑定到三个类别。如果你这样做,以后的可维护性会很低。每个类别应绑定相同的品牌名称。你肯定要问了,这样不会产生数据垃圾吗?我没有具体数据可以向您展示这样做的好处。但是从业务的角度来说,现在我需要统计每个品类下的产品购买次数,来做用户画像。你如何区分当前产品属于哪个类别?无法区分,因为你把品牌绑定了三个品类,我不知道用户是通过哪个品类点击购买的。另外,很多品牌公司不仅做产品,像索尼做mp3,还做电视、手机、游戏机等等。所以类目对应多个品牌,品牌应该对应多个类目,而不是多个类目'类别表',`pid`int(11)NOTNULLCOMMENT'ParentCategoryNumber',`cover`varchar(255)COLLATEutf8mb4_unicode_ciDEFAULTNULLCOMMENT'CoverImage',`index_block_status`tinyint(4)NOTNULLDEFAULT'0'COMMENT'主页块级状态1=>显示',`status`tinyint(4)NOTNULLDEFAULT'1'COMMENT'status1=>normal',`sort`int(11)NOTNULLDEFAULT'999'COMMENT'sort',`created_at`timestampNULLDEFAULTNULL,`updated_at`timestampNULLDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=26DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ci;感谢下一节我们讲用户购买在产品设计和后台运行的设计之后,一个好的程序员应该考虑如何添加产品和管理产品。难道用户不能开心而运营却受苦吗??感谢您阅读到这里,希望我的文章能对您有所帮助。有什么问题可以在评论区留言,我看到会第一时间回复。谢谢
