关于mysql数据库创建商品及属性相关表的思路

1.创建商品表:

CREATE TABLE `products` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, # 主键, 自增 ID
  `name` VARCHAR(50)  NOT NULL, # 商品名称
  `price_min` DECIMAL(10,2) NOT NULL, # 商品最小价格
  `price_max` DECIMAL(10,2) NOT NULL ,# 商品最大价格
  `img_url` VARCHAR(255) NOT NULL ,#商品的主图
  `category_id` INT(10) NOT NULL ,#商品所属分类id
  `mall_id` INT(10) not null ,#商品所属商家id
  PRIMARY KEY (`id`)
);

2.创建商品属性键表:

CREATE TABLE `attr_keys` (
  `id` INT(10) UNSIGNED NOT NULL  AUTO_INCREMENT, #主键 自增 ID
  `name` VARCHAR(50) NOT NULL, #属性的键 例如内存,颜色等
  PRIMARY KEY (`id`)
);

3.创建商品属性值表:

CREATE TABLE  `attr_values`(
  `id` INT(10) UNSIGNED NOT NULL  AUTO_INCREMENT, #主键 自增 ID
  `name` VARCHAR(50) NOT NULL ,#对于属性键的值 例如颜色对应的红,绿,蓝
  `attr_key_id` INT(10) NOT NULL, #对应属性键表的id
  `product_id` INT(10) NOT NULL , #对应商品表的id
  PRIMARY KEY (`id`)
);

4.创建商品SKU表:

CREATE TABLE `pro_skus`(
  `id` INT(10) UNSIGNED NOT NULL  AUTO_INCREMENT, #主键 自增 ID
  `product_id` INT(10) NOT NULL ,#对应商品表的id
  `attr_value_path` VARCHAR(255) NOT NULL, #属性值表组合属性
  `price` DECIMAL(10,2) NOT NULL DEFAULT '0.00', #价格
  `freight` DECIMAL(10,2) NULL DEFAULT '0.00', #运费
  `stock` INT(10) UNSIGNED NOT NULL DEFAULT '0', #库存数量
  PRIMARY KEY (`id`)

);

5.对表之间进行关系分析:
‘products’ -> ‘attr_values’ 一对多
‘products’ -> ‘pro_skus’ 一对多
‘attr_keys’ -> ‘attr_values’ 一对多

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值