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’ 一对多