移动商城第六篇【分析商品的数据模型】
分析商品的数据模型
本篇主要是分析我们的项目中的数据模型…一般地,我们都是用powerdesigner来设计我们的数据库模型表…
首先我们要看懂powerdesigner箭头的意义:
表之间的关系
一对多:箭头所指向的表是一的一端
多对一:箭头背向的方向的表是多的一端(除了一对一)
多对多:在数据库模型上,由三张表来组成,中间表体现的是其余两张表的关系是多对多,中间表只能有两个表的主键作为外键来组成,箭头由中介表来分别指向其余两张表。
一对一:箭头指向的方向是一的一端,背向的方向的表使用指向的方向的表的主键作为主键和外键就形成了一对一的关系。
品牌管理
我们前面已经写了品牌管理了,我们来看看数据库设计是怎么样的。
首先是我们的品牌表:主要定义了品牌基本信息字段
商品类目
该类目表主要对商品进行分类…
同时他还有自关联的连接线,那是什么意思呢??
该商品类目表拥有父类目的属性:
也就是说,类目我们可以看成是树形结构的:
是可以根据当前类目查询出上一级类目的。
类目与品牌
一个类目下是可以有多个品牌的,而一个品牌可以有多个类目..
我们可以举个例子来理解:
空调类目下:
- 海尔
- 格力
海尔:
- 洗衣机
- 空调
格力:
- 洗衣机
- 空调
对于海尔,格力这样的品牌,不仅仅是做空调,还可以做洗衣机。而空调和洗衣机又是不同的类目下的。
类目与商家
为了实现更好地管理,我们还有类目所对应的商家表
商品
我们的商品主要是手机和号卡
通过在类目表中预置的手机类目和号卡类目来区分
而一个品牌也对应着多个商品。
- 苹果
- iphone5s
- iphone6s
我们商品的存储事例数据如下:
除了与品牌和类目之间的关联关系,还存储着一些销售语、是否上架、等信息
商品标签图片和大字段表
我们的商品标签图片也是用另外一张数据库表来存储。它有着商品的全部属性
而当商品信息太多,写不完的时候就需要用到大字段表了。
商品属性
我们使用了一张专门管理商品属性的数据表来进行展示对应的商品属性。
该数据库表可以设置该属性是否前台展示,以及属性是怎么录入的:
- 树形
- 文本框
- 下拉框
数据如下所示:
类目与属性
对于属性而言也是分开的:
- 要么是手机
- 要么是手机子属性的
因此我们的属性与类目也是存在:一个类目对应多个属性的关系的。
参数
我们可以发现在我们的商品属性表中,如果一个属性是可以多选的话,那么在属性值上是使用“,”逗号来进行分割的
而我们的参数表就是对其选中的值进行保存!
- feature是用于展示我们的所有属性数据
- para是用于存储用户选中的属性数据
商品与参数与属性关系
一个商品是有多个参数的,而一个属性也对应着多个参数。
库存与价格值
库存也是用一张表来存储的,对应地,不同类型的商品对应的不同的库存
我们可以简单理解成一下的情况:
总结
到目前为止,我们仅仅是简单分析了数据库表的对应关系。是并没有深刻理解它为什么要设计成这样子的,当我们一边写代码的时候,再回顾它的设计。可能效果会更好。