客户相关表设计

2021-08-03 MySQL

客户表有没有会员制度? 如果有该怎样做?应该先设计一个会员表

# 会员表

CREATE TABLE `t_level`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
  `level` varchar(200)  NOT NULL COMMENT '等级名称',
  `discount` decimal(10, 2) UNSIGNED NOT NULL COMMENT '折扣',
  PRIMARY KEY (`id`) USING BTREE
) COMMENT = '会员登记表';

# 客户表

CREATE TABLE `t_customer`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(200) NOT NULL COMMENT '用户名',
  `password` varchar(2000) NOT NULL COMMENT '密码(加密)',
  `wechat` varchar(200) NULL DEFAULT NULL COMMENT '微信号',
  `tel` char(11) NULL DEFAULT NULL COMMENT '手机号',
  `level_id` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '会员等级',
  `create_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
  `last_update_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
  `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `unq_username`(`username`) USING BTREE,
  INDEX `idx_username`(`username`) USING BTREE
)  COMMENT = '客户表' ;

密码字段的长度之所以设计成2000,是因为不同的加密算法,加密的字符串也不相同,为了兼容各种加密算法,我们把长度设置的长一些。

# 客户的收货地址

CREATE TABLE t_customer_address  (
  id int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
  customer_id int(10) UNSIGNED NOT NULL COMMENT '客户ID',
  `name` varchar(20) NOT NULL COMMENT '姓名',
  tel char(11) NOT NULL COMMENT '电话',
  address varchar(200) NOT NULL COMMENT '地址',
  prime tinyint(1) NOT NULL COMMENT '默认地址',
  is_deleted tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除',
  PRIMARY KEY (id) USING BTREE,
  INDEX idx_customer_id(customer_id) USING BTREE
)  COMMENT = '客户收货地址表' ;
上次更新: 2 年前