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