新零售系统mysql设计(会员等级表 客户表 收货地址表)解析

2022-11-02 11:26:40 浏览数 (1)

作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主

文章目录

  • sql
    • 会员等级表
    • 数据
    • 客户表
    • 数据
    • 收货地址表
    • 数据
    • 会员等级表(解析)
      • id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
      • `level` varchar(200) not null COMMENT "等级",
      • discount DECIMAL(10,2) unsigned not null COMMENT "折扣"
    • 客户表(解析)
    • 收货地址表(解析)
    • INDEX idx_customer_id(customer_id)

sql

会员等级表

代码语言:javascript复制
CREATE TABLE t_level(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
    `level` varchar(200) not null COMMENT "等级",
    discount DECIMAL(10,2) unsigned not null COMMENT "折扣"
) COMMENT="会员等级表";

数据

客户表

代码语言:javascript复制
CREATE table t_customer(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
username varchar(200) not null COMMENT "用户名",
`password`  varchar(2000) not null COMMENT "密码(AES加密)",
  wechat varchar(200)   COMMENT "微信号",
    tel char(11) COMMENT "手机号",
    level_id int unsigned COMMENT "会员等级",
    create_time timestamp not null DEFAULT now() COMMENT "添加时间",
    last_update_time timestamp not null DEFAULT now() COMMENT "最后修改时间",
    INDEX idx_username(username),
    UNIQUE unq_username(username)
) COMMENT="客户表";

数据

收货地址表

代码语言:javascript复制
CREATE TABLE t_customer_address(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
    customer_id int unsigned not null COMMENT "客户id",
   `name` varchar(200) not null COMMENT "收货人姓名",
    tel char(11) not null COMMENT "收货人电话",
    address varchar(200) not null COMMENT "收货地址",
    prime boolean not null COMMENT "是否为缺省收货地址",
    INDEX idx_customer_id(customer_id)
) COMMENT="收获地址表";

数据

会员等级表(解析)

代码语言:javascript复制
CREATE TABLE t_level(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
    `level` varchar(200) not null COMMENT "等级",
    discount DECIMAL(10,2) unsigned not null COMMENT "折扣"
) COMMENT="会员等级表";

id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT “主键”,

第一:id要自增(AUTO_INCREMENT),作用是什么呢?

1)增加记录时,可以不用指定id字段,不用担心主键重复问题。 2)数据库自动编号,速度快,而且是增量增长,按顺序存放,对于检索非常有利; 3)数字型,占用索引空间小,范围查找与排序友好,在程序中传递也方便; 为什么要设置主键,主键作用是什么?

主键是能确定一条记录的唯一标识,主键字段必须唯一,必须非空,一个表中只能有一个主键,主键可以包含一个或多个字段。

打个比方,一条记录包括身份正号,姓名,年龄,学校,国籍,性别等。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。 设置主键的作用是唯一性。非空的。说明了自增的id不会重复的。 comment是什么?

代表一种注释。别人看懂这是什么字段或者表或者数据库 为什么要用int unsigned类型呢? 因为id是不是整数的。用unsigned是因为某种商品的数量是不是不能是负数呢.UNSIGNED的范围类型就是0~255

level varchar(200) not null COMMENT “等级”,

解释:等级的名字,比如黄金会员 白金会员等等…

discount DECIMAL(10,2) unsigned not null COMMENT “折扣”

某个会员等级所能享受到的折扣

客户表(解析)

代码语言:javascript复制
CREATE table t_customer(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
username varchar(200) not null COMMENT "用户名",
`password`  varchar(2000) not null COMMENT "密码(AES加密)",
  wechat varchar(200)   COMMENT "微信号",
    tel char(11) COMMENT "手机号",
    level_id int unsigned COMMENT "会员等级",
    create_time timestamp not null DEFAULT now() COMMENT "添加时间",
    last_update_time timestamp not null DEFAULT now() COMMENT "最后修改时间",
    INDEX idx_username(username),
    UNIQUE unq_username(username)
) COMMENT="客户表";

比如这个新零售系统。是不是的有用户名 密码是吧。微信号 电话要是能有也要有对吧。level_id代表这个客户所代表的等级。当然可能不是会员,所以不用not null。 create_time成为客户的时间,last_update_time修改等级的时间对吧.

收货地址表(解析)

代码语言:javascript复制
CREATE TABLE t_customer_address(
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT "主键",
    customer_id int unsigned not null COMMENT "客户id",
   `name` varchar(200) not null COMMENT "收货人姓名",
    tel char(11) not null COMMENT "收货人电话",
    address varchar(200) not null COMMENT "收货地址",
    prime boolean not null COMMENT "是否为缺省收货地址",
    INDEX idx_customer_id(customer_id)
) COMMENT="收获地址表";

收货地址表。是不是得是某一个客户的搜索地址呢?所以得关联 customer_id(关联客户表中的id字段) name teladdress 这些是不是也是必须要有,不然送去哪谁接收呢对吧

INDEX idx_customer_id(customer_id)

解释是必须是某一个客户的收货地址哦.所以得增加索引。快一点.

0 人点赞