这个问题的核心点在于:不同商品类别差异很大,如何设计通用的存储方案?简单来说,用数据库去存储所有信息,不管横表还是纵表,都有明显的缺陷:横表:同一个字段对不同商品含义不一样,这到了后面开发和维护是很蛋疼的纵表:一个商品的属性分布到很多行记录中,业务处理很麻烦,而且纵表的记录数会非常多,性能会有问题所以不要尝试只用数据库去统一解决这个问题,思路扩散一些其实就简单了:公共表:提炼商品公共的信息放到数据库,例如商品id、名称、发布的商家、发布日期、上架状态扩展表:将变化的信息放到另外一个表,可以是数据库表,例如电脑商品一个表、服装一个表;也可以将信息放到MongoDB或者ElasticSearch这类文档数据库。搜索组件:扩展表在全文搜索的时候不好实现,因此需要独立的组件负责搜索,可以用Elastic Search或者Solr来冗余一份数据,用于搜索。表结构不算复杂,因为项目关系只有SPU,没有涉及到SKU,但是可以做参考,更多的还是要根据项目实际情况设计。重点说明一下产品表的SPU,Keyword字段。本来之前设计了关系表,但是发现在做SQL查询时太痛苦,所以约定了一种数据存储结构(数据结构的重要性)基于上面的基础,可以实现URL规则变化的查询,类似京东的产品查询URL变化c=1,3 指分类层次关系ev=3_1+4_18 指SPU查询 按约定规则转换成字符串再进行查询。
数据库题:某商业集团关于商店销售商品的数据...展开查看全部1个回答
欧阳思嘉俟青
TA获得超过2.9万个赞
关注
成为第68位粉丝
“商业管理”数据库中有3个实体:商店(商店编号,商店名,地址),商品(商品号,商品名,规格,单价),职工(职工编号,职工姓名,性别)。商店与商品间存在“销售”联系,每个商店可以销售多种商品,每种商品也可以放在多个商店销售,用“月销售量”来表示商店销售每种商品的情况;商店与职工存在“聘用”联系,每个商店有多名职工,每个职工只能在一个商店工作,商店聘用职工有“聘期”和工资。
①
试画出E-R图,并注明关系类型,注明主键和外键
②
试用SQL语句创建“商业管理”数据库以及其中的表,其中单价、月销售量、工资和聘期字段类型为real,其余字段为字符型。
2.
“订货管理”数据库有4个表:仓库(仓库号,仓库名,地址),商店(商店编号,商店名,地址),商品(商品号,商品名,单价)。设仓库和商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品可存储在若干仓库中,仓库存储的商品有“日期”和“存储量”信息;商店与商品间存在“销售”联系,每个商店可以销售多种商品,每种商品也可以放在多个商店销售,用“月份”和“月销售量”来表示商店销售每种商品的情况;仓库、商店和商品之间存在着“供应”联系,有“月份”和“月供应量”两个属性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)