[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 '',
 70   `district` VARCHAR (20) COMMENT '',
 71   `address` VARCHAR (200) COMMENT '详细地址',
 72   `street` VARCHAR (100) COMMENT '街道/门牌号',
 73   `mobile` VARCHAR (20) COMMENT '外卖电话',
 74   `email` VARCHAR (50) COMMENT '邮箱',
 75   `images` VARCHAR (500) COMMENT '其他图片',
 76   `notice` VARCHAR (500) COMMENT '商家公告',
 77   `score` FLOAT DEFAULT 0 COMMENT '平均评分',
 78   `send_time` VARCHAR (50) COMMENT '配送时间',
 79   `box_cost` DECIMAL DEFAULT 0 COMMENT '餐盒费用',
 80   `send_cost` DECIMAL DEFAULT 0 COMMENT '配送费用',
 81   `floor_send_cost` DECIMAL DEFAULT 0 COMMENT '起送消费'
 82 )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT 
  • 6
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server是一种关系型数据库管理系统,它提供了可靠和有效的数据存储和管理。在设计外卖系统数据库时,需要考虑以下几个方面: 1. 用户表:存储用户的基本信息,如姓名、手机号码、地址等。可以为每个用户分配一个唯一的ID作为主键。 2. 商家表:存储商家的信息,如店铺名称、联系方式、地址等。每个商家也应该有一个唯一的ID作为主键。 3. 菜品表:存储各个商家提供的菜品信息,如菜名、价格、描述等。每个菜品应该与相应的商家关联,并有一个唯一的ID作为主键。 4. 订单表:存储用户下的订单信息,如订单号、下单时间、付款金额等。每个订单应该与相应的用户和菜品关联。 5. 支付表:存储用户的支付信息,如支付方式、付款时间等。每笔支付应该与相应的用户和订单关联。 6. 评论表:存储用户对商家或菜品的评论信息,如评分、评论内容等。每条评论应该与相应的用户、商家和菜品关联。 7. 购物车表:存储用户的购物车信息,如所选菜品、数量等。每个购物车项应该与相应的用户和菜品关联。 通过以上设计,我们可以实现以下功能: - 用户可以通过提供基本信息进行注册,并可以登录系统。登录后,用户可以浏览菜品,将所选菜品加入购物车,并下单付款。 - 商家可以通过提供基本信息进行注册,并可以登录系统。登录后,商家可以添加菜品信息,管理订单,并回复用户评论。 - 用户可以浏览订单历史记录,并对完成的订单进行评论和评分。 - 系统可以根据用户的购买记录和评论信息,提供个性化的推荐功能。 - 系统可以生成报表,如销售统计和用户行为分析,以帮助商家优化经营策略。 通过合理的数据库设计SQL Server的强大功能,外卖系统可以实现高效、可靠和智能化的运作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值