4.0 KiB
4.0 KiB
数据库关系图(简洁版)
下面是使用Mermaid语法生成的简洁版数据库实体关系图,重点突出表之间的关联关系:
erDiagram
%% 用户与权限系统
users ||--o{ user_details : has
users }o--o{ roles : "多对多" via user_roles
roles }o--o{ permissions : "多对多" via role_permissions
%% 店铺系统
users ||--o{ shops : owns
shops ||--o{ products : sells
shop_categories ||--o{ shops : categorizes
shop_categories }o--|| shop_categories : parent-child
%% 商品系统
products ||--o{ product_images : has
products ||--o{ product_skus : contains
products ||--o{ product_attribute_values : has_attributes
product_categories ||--o{ products : categorizes
product_categories }o--|| product_categories : parent-child
product_categories ||--o{ product_attributes : defines
product_attributes ||--o{ product_attribute_values : values
product_skus ||--o{ product_inventories : inventory
%% 订单系统
users ||--o{ orders : places
shops ||--o{ orders : receives
orders ||--o{ order_items : contains
orders ||--o{ order_status_history : status_history
order_items ||--o{ products : product
order_items ||--o{ product_skus : sku
%% 支付与退款
orders ||--o{ payments : payment
orders ||--o{ refunds : refund
order_items ||--o{ refunds : item_refund
payments ||--o{ refunds : reversed_by
%% 评价系统
users ||--o{ shop_ratings : reviews
shops ||--o{ shop_ratings : rated
orders ||--o{ shop_ratings : based_on
核心表关系说明
1. 用户与权限模块
- 用户-详情:一对一关系,用户信息和用户详细资料分离存储
- 用户-角色:多对多关系,通过user_roles关联表实现
- 角色-权限:多对多关系,通过role_permissions关联表实现
2. 店铺模块
- 用户-店铺:一对多关系,一个用户可以创建多个店铺
- 店铺分类-店铺:一对多关系,一个分类包含多个店铺
- 店铺分类自身:自关联,支持多级分类结构
3. 商品模块
- 店铺-商品:一对多关系,一个店铺可以销售多个商品
- 商品-图片:一对多关系,一个商品可以有多张图片
- 商品-SKU:一对多关系,一个商品可以有多个SKU(库存单元)
- SKU-库存:一对一关系,每个SKU对应一个库存记录
- 商品-属性值:一对多关系,一个商品可以有多个属性值
- 商品分类-商品:一对多关系,一个分类包含多个商品
- 商品分类-属性:一对多关系,一个分类定义多个属性
- 属性-属性值:一对多关系,一个属性可以有多个值
4. 订单模块
- 用户-订单:一对多关系,一个用户可以下多个订单
- 店铺-订单:一对多关系,一个店铺可以接收多个订单
- 订单-订单项:一对多关系,一个订单包含多个商品项
- 订单项-商品/SKU:多对一关系,订单项关联到具体的商品和SKU
- 订单-状态历史:一对多关系,记录订单状态变更历史
5. 支付与退款模块
- 订单-支付:一对多关系,一个订单可以有多次支付记录
- 订单-退款:一对多关系,一个订单可以有多次退款
- 订单项-退款:一对多关系,一个订单项可以有多次退款
- 支付-退款:一对多关系,一笔支付可以对应多笔退款
6. 评价模块
- 用户-评价:一对多关系,用户可以对多个店铺评价
- 店铺-评价:一对多关系,店铺可以收到多个评价
- 订单-评价:一对一关系,一个订单对应一个评价
表关系符号说明
||--o{: 一对一关系(1:1)||--o{: 一对多关系(1:N)}o--o{: 多对多关系(N:M)}o--||: 自关联关系
此简洁版关系图重点突出了系统各模块之间的核心关联,有助于理解整个数据库的设计架构。