[SQL]外卖系统数据库设计外卖系统数据库设计
注意:
1、项⽬需求:⼩程序外卖系统,以美团,饿了么为参考。
2、表设计没有外键约束,设计是在程序中进⾏外键约束。
3、希望通过分享该数据库设计,获取⼤家的建议和讨论。
SQL:
1 CREATE DATABASE IF NOT EXISTS `waimai`;
2
3 USE `waimai`;
4
5 CREATE TABLE IF NOT EXISTS `user`(
6 `id` INT (11) PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '主键',
7 `username` VARCHAR (50) COMMENT '⽤户昵称',
8 `mobile` VARCHAR (20) COMMENT '联系电话',
9 `password` VARCHAR (50) COMMENT '登录密码',
10 `open_id` VARCHAR (100) COMMENT '微信openid',
11 `wallet` DECIMAL DEFAULT 0 COMMENT '钱包',
12 `email` VARCHAR (50) COMMENT '邮箱',
13 `truename` VARCHAR (50) COMMENT '⽤户真实姓名',
14 `gender` VARCHAR (10) COMMENT '性别',
15 `status` TINYINT DEFAULT 10 COMMENT '状态',
16 `add_time` INT(11) DEFAULT 0 COMMENT '加⼊时间'
17 )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '⽤户登录表';
18
19 CREATE TABLE IF NOT EXISTS `user_address`(
20 `id` INT (11) PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '主键',
21 `user_id` INT(11) NOT NULL DEFAULT 0 COMMENT '⽤户ID',
22 `username` VARCHAR (50) COMMENT '姓名',
23 `gender` VARCHAR(10) DEFAULT '先⽣' COMMENT '性别',
24 `mobile` VARCHAR (20) COMMENT '联系电话',
25 `province` VARCHAR (50) COMMENT '省',
26 `city` VARCHAR (50) COMMENT '市',
27 `district` VARCHAR (50) COMMENT '区',
28 `longitude` VARCHAR (20) COMMENT '经度',
29 `latitude` VARCHAR (20) COMMENT '纬度',
30 `address` VARCHAR (200) COMMENT '详细地址',
31 `street` VARCHAR (100) COMMENT '街道,门牌号',
32 `tag` TINYINT DEFAULT 0 COMMENT '标签',
33 `default` TINYINT DEFAULT 0 COMMENT '是否为默认地址',
34 `status` TINYINT DEFAULT 10 COMMENT '状态',
35 `add_time` INT(11) DEFAULT 0 COMMENT '加⼊时间',
36 `edit_time` INT(11) DEFAULT 0 COMMENT '编辑时间'
37 )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '⽤户配送地址';
38
39 CREATE TABLE IF NOT EXISTS `shop`(
40 `id` INT (11) PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '主键',
41 `shopname` VARCHAR (50) COMMENT '商品名称',
42 `mobile` VARCHAR (20) COMMENT '联系电话',
43 `password` VARCHAR (50) COMMENT '密码',
44 `email` VARCHAR (50) COMMENT '邮箱',
45 `login_info` VARCHAR (500) COMMENT '登录信息',
46 `num_login_error` TINYINT DEFAULT 0 COMMENT '登录错误次数',
47 `time_login_lock` INT (11) DEFAULT 0 COMMENT '锁定登录时间',
48 `status` TINYINT DEFAULT 10 COMMENT '状态',
49 `add_time` INT(11) DEFAULT 0 COMMENT '加⼊时间'
50 )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10000 COMMENT '商家登录';
51
52
53 CREATE TABLE IF NOT EXISTS `shop_info`(
54 `id` INT (11) PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '主键',
55 `shop_id` INT(11) DEFAULT 0 COMMENT '商店ID',
56 `tag` VARCHAR (100) COMMENT '商铺所属的TAG',
57 `shopname` VARCHAR (50) COMMENT '商品名称',
58 `contact_man` VARCHAR (20) COMMENT '联系⼈',
59 `contact_mobile` VARCHAR (20) COMMENT '联系电话',
60 `cateid` INT (11) DEFAULT 0 COMMENT '门店类型',
61 `begin_time` INT (11) DEFAULT 0 COMMENT '营业开始时间',
62 `end_time` INT(11) DEFAULT 0 COMMENT '营业结束时间',
63 `store_img` VARCHAR (500) COMMENT '门店图⽚',
64 `instore_img` VARCHAR (500) COMMENT '店内图⽚',
65 `logo_img` VARCHAR (500) COMMENT 'logo图⽚',
66 `longitude` VARCHAR (20) COMMENT '经度',
67 `latitude` VARCHAR (20) COMMENT '纬度',
68 `province` VARCHAR (20) COMMENT '省',
69 `city` VARCHAR (20) COMMENT '市',