题目

题目来源于书上的实践任务。题目如下:

对于网上商城系统进行系统升级,新增两个功能。对其进行数据库需求分析和设计。

(1)新增商品打折功能,管理员可以对每件商品进行折扣设定,会员购买该商品时就可以享受相应的

(2)在商品分类上支持多层级分类,例如生鲜类可细分为蔬菜水果、肉类、乳制品,肉类又可进一步细分成猪肉、牛羊肉、禽类等。管理员可以修改商品分类,调整目录层级,用户可以通过多层级分类步一步找到自己所需的商品。

解答

(1)新增商品打折功能对于新增商品打折功能。

分析

需要在商品表中新增一个折扣字段,用于存储商品的折扣信息。管理员可以在后台管理系统中对每件商品进行折扣设定,对应地更新商品表中的折扣字段。在会员购买商品时,需要在订单表中新增一个折扣字段,用于存储该订单中商品的折扣信息。同时,在计算订单总价时,需要根据商品的折扣信息进行相应的折扣计算。

设计

具体的数据库表设计如下:

product商品表):

字段名	类型	描述
id	int     商品ID
name	varchar	商品名称
price	decimal	商品价格
discount	decimal	商品折扣
...	...	...

(2)多层级分类功能

分析

对于多层级分类功能,需要在商品分类表中新增一个父分类字段,用于存储该分类的父分类信息。管理员可以在后台管理系统中新增、修改、删除商品分类,对应地更新商品分类表中的分类信息。在用户浏览商品时,可以通过多层级分类进行筛选,需要通过递归查询获取该分类及其子分类下的所有商品信息。在商品表中,需要新增一个分类ID字段,用于存储该商品所属的分类信息。同时,在后台管理系统中,需要提供分类层级调整的功能,用于修改商品分类的目录层级。

设计

具体的数据库表设计如下:

商品分类表(category):

字段名	类型	描述
id	int	分类ID
name	varchar	分类名称
parent_id	int	父分类ID
...	...	...
-- 商品表(product):
字段名	类型	描述id	int	商品IDname	varchar	商品名称price	decimal	商品价格category_id	int	分类ID...	...	...