
(专注于订单处理、客户体验与门店运营)

此实体关系图模拟了门店的核心运营流程,包括麦当劳门店,重点包括:
从顾客到支付的订单流程
员工角色与门店管理
菜单商品的可售性与定价
客户忠诚度与重复参与
基础库存跟踪(针对食品项目)
注:这不是一个完整的企业数据库(例如供应链或人力资源),而是快餐POS系统的一个真实且可扩展的基础。
| 实体 | 属性 |
|---|---|
| 顾客 | 顾客ID(主键),姓名,电话,邮箱,忠诚度积分,会员等级(例如:青铜、白银) |
| 门店 | 门店ID(主键),名称,位置(地址),经理ID(外键 → 员工),营业时间,月总销售额 |
| 员工 | 员工ID(主键),姓名,职位(收银员、厨师、经理、主管),门店ID(外键),入职日期,班次安排 |
| 菜单项 | 菜单项ID(主键),名称,描述,价格,类别(汉堡、饮品、配菜、甜点),是否启用,图片URL |
| 订单 | 订单ID(主键),下单时间,状态(待处理 → 准备中 → 已准备好 → 已完成 → 已取消),总金额,门店ID(外键),顾客ID(外键) |
| 订单项 | 订单项ID(主键),订单ID(外键),菜单项ID(外键),数量,小计金额(自动计算) |
| 支付 | 支付ID(主键),金额,支付方式(现金、信用卡、移动支付),交易编号,订单ID(外键),时间戳 |
| 促销 | 促销ID(主键),代码(例如“WELCOME10”),折扣类型(百分比,固定金额),折扣金额,生效日期,过期日期,适用范围(例如:午餐,所有商品) |
| 关系 | 基数 | 描述 |
|---|---|---|
客户 → 订单 |
1 → 0.. | 客户会随时间下单多次。 |
订单 → 订单项 |
1 → 0.. | 每个订单包含零个或多个菜单项。 |
订单 → 支付 |
1 → 1 | 每个完成的订单都有且仅有一个支付。 |
订单 → 门店 |
1 → 1 | 每个订单都在一个特定的门店下单。 |
门店 → 员工 |
1 → 0.. | 一家商店雇佣多名员工(收银员、厨师、经理)。 |
商店 → 订单 |
1 → 0.. | 一家商店会收到许多订单。 |
菜单项 → 订单项 |
1 → 0.. | 一个菜单项可以出现在多个订单中。 |
促销 → 订单 |
0 → 1 | 促销可能适用于订单(例如:“买一送一”)。 |
员工 → 商店 |
1 → 1 | 每位员工在一家商店工作。 |
✅ 可选: 添加一个
忠诚度计划如果需要更复杂的忠诚度逻辑(例如积分兑换、奖励),则使用该实体。
价格必须大于 0
如果缺少付款,订单状态不能为“已完成”
订单项中的数量 ≥ 1
促销活动只有在生效且处于有效时间范围内时才能应用
客户必须关联至少一个订单才能获得忠诚度积分
如果菜单项缺货或已停售,则标记为“不活跃”
| 使用场景 | 优势 |
|---|---|
| POS系统设计 | 支持实时订单追踪、支付及收据生成 |
| 库存警报 | 当某菜单项被频繁订购时,监控库存水平 |
| 忠诚度计划 | 追踪积分累积,提供个性化折扣 |
| 门店分析 | 识别畅销商品、高峰时段及热门促销 |
| 员工管理 | 分配角色、跟踪班次、管理绩效 |
您可以将以下任意内容复制并粘贴到您的文档、演示文稿或数据库设计工具中。
实体:
- 客户
- 客户ID(主键)
- 姓名
- 电话
- 邮箱
- 忠诚度积分
- 会员等级
- 门店
- 门店ID(主键)
- 名称
- 地址
- 经理ID(外键 → 员工)
- 营业时间
- 月销售额
- 员工
- 员工ID(主键)
- 姓名
- 职位(收银员、厨师、经理)
- 门店ID(外键)
- 入职日期
- 菜品
- 菜品ID(主键)
- 名称
- 描述
- 价格
- 分类
- 是否激活
- 订单
- 订单ID(主键)
- 订单时间
- 状态(待处理、准备中、已就绪、已完成、已取消)
- 客户ID(外键)
- 门店ID(外键)
- 总金额
- 订单项
- 订单项ID(主键)
- 订单ID(外键)
- 菜品ID(外键)
- 数量
- 小计
- 支付
- 支付ID(主键)
- 金额
- 支付方式(现金、信用卡、移动支付)
- 订单ID(外键)
- 时间戳
- 促销活动
- 促销ID(主键)
- 代码
- 折扣类型
- 折扣值
- 生效日期
- 过期日期
- 适用范围
关系:
- 客户 "1" -- "0..*" 订单
- 订单 "1" -- "0..*" 订单项
- 订单 "1" -- "1" 支付
- 订单 "1" -- "1" 门店
- 门店 "1" -- "0..*" 员工
- 菜品 "1" -- "0..*" 订单项
- 促销活动 "0..*" -- "1" 订单(基于激活状态的条件)
erDiagram
CUSTOMER ||--o{ ORDER : "下单"
STORE ||--o{ ORDER : "服务"
STORE ||--o{ EMPLOYEE : "雇佣"
STORE ||--o{ MENU_ITEM : "销售"
ORDER ||--o{ ORDER_ITEM : "包含"
ORDER ||--o{ PAYMENT : "拥有"
MENU_ITEM ||--o{ ORDER_ITEM : "出现在"
PROMOTION ||--o{ ORDER : "适用"
CUSTOMER {
int CustomerID PK
string Name
string Phone
string Email
int LoyaltyPoints
string MembershipTier
}
STORE {
int StoreID PK
string Name
string Location
int ManagerID FK
string OpenHours
decimal MonthlySales
}
EMPLOYEE {
int EmployeeID PK
string Name
string Role
int StoreID FK
date HireDate
}
MENU_ITEM {
int MenuItemID PK
string Name
string Description
decimal Price
string Category
boolean IsActive
}
ORDER {
int OrderID PK
datetime OrderTime
string Status
int CustomerID FK
int StoreID FK
decimal TotalAmount
}
ORDER_ITEM {
int OrderItemID PK
int OrderID FK
int MenuItemID FK
int Quantity
decimal LineTotal
}
PAYMENT {
int PaymentID PK
decimal Amount
string Method
int OrderID FK
datetime Timestamp
}
PROMOTION {
int PromotionID PK
string Code
string DiscountType
decimal DiscountValue
datetime ActiveDate
datetime ExpireDate
string AppliesTo
}

' 麦当劳订单系统 ERD(PlantUML)
package "麦当劳运营" {
entity "顾客" {
- 客户ID(主键)
- 姓名
- 电话
- 邮箱
- 积分
- 会员等级
}
entity "门店" {
- 门店ID(主键)
- 名称
- 地点
- 经理ID(外键 → 员工)
- 营业时间
- 月销售额
}
entity "员工" {
- 员工ID(主键)
- 姓名
- 职位(收银员、厨师、经理)
- 门店ID(外键 → 门店)
- 入职日期
}
entity "菜单项" {
- 菜单项ID(主键)
- 名称
- 描述
- 价格
- 分类(汉堡、饮品、配菜)
- 是否有效
}
entity "订单" {
- 订单ID(主键)
- 订单时间
- 状态(待处理、准备中、已准备好、已完成)
- 客户ID(外键 → 顾客)
- 门店ID(外键 → 门店)
- 总金额
}
entity "订单项" {
- 订单项ID(主键)
- 订单ID(外键 → 订单)
- 菜单项ID(外键 → 菜单项)
- 数量
- 小计
}
entity "支付" {
- 支付ID(主键)
- 金额
- 支付方式(现金、信用卡)
- 订单ID(外键 → 订单)
- 时间戳
}
entity "促销活动" {
- 促销ID(主键)
- 代码(例如:WELCOME10)
- 折扣类型(百分比、固定金额)
- 折扣值
- 生效日期
- 过期日期
- 适用范围
}
顾客 "1" -- "0..*" 订单 : "下单"
订单 "1" -- "0..*" 订单项 : "包含"
订单 "1" -- "1" 支付 : "拥有"
订单 "1" -- "1" 门店 : "下单于"
门店 "1" -- "0..*" 员工 : "雇佣"
菜单项 "1" -- "0..*" 订单项 : "出现在"
促销活动 "0..*" -- "1" 订单 : "适用于"
}
如果您希望扩展此 ERD,可考虑添加:
库存 → 跟踪库存水平、补货点、供应商信息
班次安排 → 每日班次、休息时间、班次分配
供应商 → 谁提供食材(例如:“奶酪供应商”)
季节性菜单 → 特别促销(例如:“夏季烧烤菜单”)
地理定位 → 用于配送或自取追踪
此 ERD 是 真实、可扩展,并与麦当劳的运营相符 — 它反映了实际的收银系统流程、员工角色和客户行为。
✅ 您现在拥有一个 完整、可直接使用的 ERD 用于麦当劳系统——无论是学校项目、商业分析还是技术设计。