商城MYSQL需要那些表 都是什么字段结构

空空i 发布于 2016/11/10 19:33
阅读 1K+
收藏 1

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

商城MYSQL需要那些表  都是什么字段结构     学校的作业  做一个商城  表能想到的都建立了 还有些表结构不知道  求解答
加载中
1
xo__ox
xo__ox
https://www.oschina.net/p/JFinalShop 抄一下包你100分
0
eechen
eechen
商城里关键的表应该是订单表和商品表.
订单表里的订单状态这个字段需要设计好,方便程序了解订单进行到哪一步,可以用编号.
商品表里,价格和库存字段可以在这个表里面,但规格也就是商品属性应该分出来,因为不同品种的商品具有一些不同的特性,比如衣服有尺码,而手机有内存大小.

小米MIX是一个SPU(Standard Product Unit).
小米MIX标准版(4GB内存+128GB容量)和小米MIX尊享版(6GB内存+256GB容量)
则是两个不同的SKU(Stock Keeping Unit).
可见不同SKU的价格,规格,库存是不同的,所以不同的SKU应该采用不同的商品编号.
比如神舟的"K610D"这款笔记本,规格有很多.
每种规格都有自己的商品编号/价格/规格/库存:
http://item.jd.com/1603013.html
http://item.jd.com/1939941.html

建表方案:
商品表(商品ID,商品名)
属性表(属性ID,属性名)
商品对应的属性表(商品ID,属性ID,属性值)
CREATE TABLE `df_goods` (
	`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
	`name` varchar(255) NOT NULL DEFAULT '',
	PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

CREATE TABLE `df_attr` (
	`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
	`name` varchar(255) NOT NULL DEFAULT '',
	PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

CREATE TABLE `df_relation_goods_attr` (
	`goods_id` int(10) unsigned NOT NULL,
	`attr_id`  int(10) unsigned NOT NULL,
	`value`    varchar(255) NOT NULL DEFAULT '',
	UNIQUE KEY (`goods_id`, `attr_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO df_goods VALUES(1,'小米MIX标准版');
INSERT INTO df_goods VALUES(2,'小米MIX尊享版');
INSERT INTO df_attr  VALUES(1,'内存');
INSERT INTO df_attr  VALUES(2,'存储');
INSERT INTO df_relation_goods_attr VALUES(1,1,'4GB');
INSERT INTO df_relation_goods_attr VALUES(1,2,'128GB');
INSERT INTO df_relation_goods_attr VALUES(2,1,'6GB');
INSERT INTO df_relation_goods_attr VALUES(2,2,'256GB');

获取编号为1的产品具有的属性名和属性值:
select df_attr.name, df_relation_goods_attr.value
from df_relation_goods_attr
join df_goods on df_relation_goods_attr.goods_id = df_goods.id
join df_attr  on df_relation_goods_attr.attr_id  = df_attr.id
where df_goods.id = 1
结果:
name  value 	
内存  4GB
存储  128GB



另外还有一些就是通用的设计,比如:
cookie设计,会话存储设计, 权限管理设计 等.

还有就是商城要具备实用性,你还得能够接入支付宝和微信支付.
拿支付宝接入来说,支付宝接口只面向企业开放,也就是你得是一家公司,得有营业执照,才能够通过审核.而且支付宝会根据交易额每一笔都收取一定的手续费.

当然你也可以用普通人都可以免费使用的 收款二维码这种方式,但收到转账后需要你自己在后台设置给你转钱的支付宝或微信账号对应的用户充值了,有钱了,然后提示用户下单支付.然后你给用户发货,发货后设置顺丰的运单号,方便用户查看进度. 如果是虚拟产品的话比如软件/插件/主题,直接提供下载即可.
554330833a
554330833a
大神,怎么设计的
0
朋克
朋克
ECShop....
0
mickelfeng
mickelfeng
最快的方式,是参考别个怎么设计的
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部