新客立减

常见电商项⽬的数据库表设计(

MySQL

版)

转⾃:

https://cloud.tencent.com/developer/article/1164332

简介:

⽬的:

电商常⽤功能模块的数据库设计

常见问题的数据库解决⽅案

环境:

MySQL5.7

图形客户端,

SQLyog

Linux

模块:

⽤户:注册、登陆

商品:浏览、管理

订单:⽣成、管理

仓配:库存、管理

电商实例数据库结构设计

电商项⽬⽤户模块

⽤户表涉及的实体

改进

1

:第三范式:将依赖传递的列分离出来。⽐如:登录名

<-

⽤户级别

<-

级别积分上限,级别积分下限

改进

2

:尽量做到冷热数据的分离,减⼩表的宽度

⽤户登录表

(customer_login)

CREATE TABLE customer_login(

  customer_id INT UNSIGNED AUTO_INCREMENT NOT NULL COMMENT '

⽤户

ID',

  login_name VARCHAR(20) NOT NULL COMMENT '

⽤户登录名

',

  password CHAR(32) NOT NULL COMMENT 'md5

加密的密码

',

  user_stats TINYINT NOT NULL DEFAULT 1 COMMENT '

⽤户状态

',

  modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '

最后修改时间

',

  PRIMARY KEY pk_customerid(customer_id)

) ENGINE = innodb COMMENT '

⽤户登录表

'

⽤户信息表

(customer_inf)

CREATE TABLE customer_inf(

  customer_inf_id INT UNSIGNED AUTO_INCREMENT NOT NULL COMMENT '

⾃增主键

ID',

  customer_id INT UNSIGNED NOT NULL COMMENT 'customer_login

表的⾃增

ID',

  customer_name VARCHAR(20) NOT NULL COMMENT '

⽤户真实姓名

',

  identity_card_type TINYINT NOT NULL DEFAULT 1 COMMENT '

证件类型:

⾝份证,

军官证,

护照

',

  identity_card_no VARCHAR(20) COMMENT '

证件号码

',

  mobile_phone INT UNSIGNED COMMENT '

⼿机号

',

  customer_email VARCHAR(50) COMMENT '

邮箱

',

  gender CHAR(1) COMMENT '

性别

',

  user_point INT NOT NULL DEFAULT 0 COMMENT '

⽤户积分

',

  register_time TIMESTAMP NOT NULL COMMENT '

注册时间

',

  birthday DATETIME COMMENT '

会员⽣⽇

',

  customer_level TINYINT NOT NULL DEFAULT 1 COMMENT '

会员级别:

普通会员,

青铜,

3

⽩银,

4

黄⾦,

5

钻⽯

',

  user_money DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT '

⽤户余额

',

  modified_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '

最后修改时间

',

  PRIMARY KEY pk_customerinfid(customer_inf_id)

) ENGINE = innodb COMMENT '

⽤户信息表

';

⽤户级别表

(customerlevelinf)

CREATE TABLE customer_level_inf(

  customer_level TINYINT NOT NULL AUTO_INCREMENT COMMENT '

会员级别

ID',

  level_name VARCHAR(10) NOT NULL COMMENT '

会员级别名称

',