苍穹外卖中的e-r图
时间: 2025-05-21 19:13:57 浏览: 47
### 关于苍穹外卖系统的实体关系图 (E-R 图)
在软件开发过程中,数据库设计是一个至关重要的环节。对于苍穹外卖系统而言,其数据库设计涵盖了多个核心模块,这些模块通过精心构建的关系来支持业务逻辑的实现[^3]。
#### 主要实体及其属性
1. **User 用户**
- `userId`: 唯一标识符
- `username`: 用户名
- `passwordHash`: 加密后的密码
- `email`: 电子邮件地址
- `phoneNumber`: 手机号码
2. **Order 订单**
- `orderId`: 唯一订单号
- `userId`: 外键关联到`User.userId`
- `orderDate`: 下单日期时间戳
- `totalAmount`: 总金额
- `status`: 当前状态(待支付/已取消/已完成)
3. **Restaurant 餐厅**
- `restaurantId`: 唯一餐厅ID
- `name`: 名称
- `address`: 地址详情
- `contactInfo`: 联系方式
4. **FoodItem 商品项**
- `foodItemId`: 唯一商品编号
- `title`: 标题描述
- `description`: 描述文字
- `price`: 单价
- `categoryId`: 类别外键指向`Category.categoryId`
5. **Category 分类**
- `categoryId`: 自增主键
- `categoryName`: 类目名称
6. **OrderDetail 订单明细**
- `detailId`: 明细记录唯一码
- `orderId`: 对应`Order.orderId`
- `foodItemId`: 来自`FoodItem.foodItemId`
- `quantity`: 数量
- `subTotal`: 小计费用
7. **Employee员工**
- `employeeId`: 员工唯一识别码
- `realName`: 真实姓名
- `position`: 工作职位
- `hireDate`: 入职日期
8. **Review评价**
- `reviewId`: 评论唯一标识
- `orderId`: 关联至`Order.orderId`
- `rating`: 评分星级数
- `commentText`: 文字反馈内容
#### 实体间的关系定义
- **一对多**: 每位用户可以有多个订单;每家餐馆提供多种菜品;每个分类下可包含若干食品条目。
- **多对多**: 客户能够订购来自不同商家的商品形成复合型订单;而同一件商品也可能出现在不同的促销活动中。
为了更直观地展示上述结构,在实际应用中通常会绘制图形化的ERD(Entity Relationship Diagram),其中矩形代表表(table),菱形表示连接(join)条件,椭圆则用来标记特定字段特性如主键(primary key)或索引(index).
```mermaid
erDiagram
USER ||--o{ ORDER : places
RESTAURANT }|--|| FOOD_ITEM : offers
CATEGORY ||--|{ FOOD_ITEM : contains
ORDER ||--o{ ORDER_DETAIL : includes
EMPLOYEE }|..|{ ORDER : handles
```
此Mermaid图表仅作为简化版示意,并未完全覆盖所有可能存在的联系形式以及具体的数据类型说明。
阅读全文
相关推荐



















