京东商城的数据库是如何搭建的,那么多商品,每种商品的参数各不相同,是怎样设计数据库的?
在提及这种设计思路前,首先得了解数据表可以分为两种结构:
1\横表,也就是我们经常用到的表结构,
2\纵表,这种结构平时我们用到的表少,通过看非营利开发编程社区codeit,org.cn博客上的一篇文章,我才知道有一种叫纵表的设计模式。什么是纵表,它有哪些优点和缺点呢? 纵表的结构如下
通过以上水平表和垂直表的对比发现: 横表的优点是很直观,它是根据现行业务逻辑定制,设计简单,易操作。缺点:当业务逻辑发生拓展时,大多情况下要更改表的结构。
纵表的好处:比较灵活,当业务系统发生拓展时可以很好的适应,缺点:纵表的数据感觉很乱,而且字段的数据出现很大的冗余。
在这种设计思想对产品设计,需要三个表, -一个为产品表,用来存产品的公共属性,另外一个是产品分类表,最后一个表很关键,用来存不同类别产品的不同属性,采用的是纵表的结构,如图: