网上订餐系统有用户餐厅菜品管理员订单骑手六个实体请分别设计数据库数据库包含字段名字段代码字段类型是否可以为空以及主键和外键
实体1:用户(User)
- 字段名:用户ID,用户名,密码,手机号,地址
- 字段代码:user_id, username, password, phone_number, address
- 字段类型:INT(主键), VARCHAR(50), VARCHAR(50), VARCHAR(20), VARCHAR(100)
- 是否可以为空:否, 否, 否, 是, 是
- 主键:user_id
实体2:餐厅(Restaurant)
- 字段名:餐厅ID,餐厅名,地址,联系电话
- 字段代码:restaurant_id, restaurant_name, address, phone_number
- 字段类型:INT(主键), VARCHAR(50), VARCHAR(100), VARCHAR(20)
- 是否可以为空:否, 否, 否, 是
- 主键:restaurant_id
实体3:菜品(Dish)
- 字段名:菜品ID,菜品名,价格,餐厅ID
- 字段代码:dish_id, dish_name, price, restaurant_id
- 字段类型:INT(主键), VARCHAR(50), DECIMAL(10,2), INT
- 是否可以为空:否, 否, 否, 否
- 主键:dish_id
- 外键:restaurant_id(参考实体2的主键)
实体4:管理员(Admin)
- 字段名:管理员ID,用户名,密码
- 字段代码:admin_id, username, password
- 字段类型:INT(主键), VARCHAR(50), VARCHAR(50)
- 是否可以为空:否, 否, 否
- 主键:admin_id
实体5:订单(Order)
- 字段名:订单ID,用户ID,餐厅ID,下单时间,总金额,订单状态
- 字段代码:order_id, user_id, restaurant_id, order_time, total_amount, status
- 字段类型:INT(主键), INT, INT, DATETIME, DECIMAL(10,2), VARCHAR(20)
- 是否可以为空:否, 否, 否, 否, 否, 否
- 主键:order_id
- 外键:user_id(参考实体1的主键), restaurant_id(参考实体2的主键)
实体6:骑手(DeliveryRider)
- 字段名:骑手ID,骑手名,联系电话
- 字段代码:rider_id, rider_name, phone_number
- 字段类型:INT(主键), VARCHAR(50), VARCHAR(20)
- 是否可以为空:否, 否, 是
- 主键:rider_id
备注:
- 实体1和实体3之间存在一对多的关系,即一个用户可以下多个订单,一个订单只属于一个用户。
- 实体2和实体3之间存在一对多的关系,即一个餐厅可以有多个菜品,一个菜品只属于一个餐厅。
- 实体1和实体5之间存在一对多的关系,即一个用户可以下多个订单,一个订单只属于一个用户。
- 实体2和实体5之间存在一对多的关系,即一个餐厅可以有多个订单,一个订单只属于一个餐厅。
- 实体5和实体6之间存在一对多的关系,即一个订单可以由多个骑手配送,一个骑手可以配送多个订单。
原文地址: http://www.cveoy.top/t/topic/i6Dg 著作权归作者所有。请勿转载和采集!