You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ERD中1..n、?..m等符号含义咨询

搞懂ERD里的1..n、?..m这类符号

嘿,作为刚接触ERD的新手,能分清1:1、1:n这些基础关联已经很棒了!你提到的1..n、?..m这类符号,其实是**基数(Cardinality)和可选性(Optionality)**的组合表示,在Software Idea Modeler这类工具里是标准的关联约束写法,我给你拆解得明明白白:

先搞懂两个核心概念

  • 基数:定义了关联中允许的实例数量范围(最小/最大)
  • 可选性:决定了这个关联是否是“必填”的(即实体是否可以不参与该关联)

逐个解析符号含义

1. 1..n

  • 左边的1:表示最小基数为1——这个端的实体必须至少关联1个对方实体(关联是必填的)
  • 右边的n:表示最大基数为任意多个——这个端的实体可以关联多个对方实体
  • 举个实际例子:假设你设计「用户」和「订单」的关联,用户端写1..1,订单端写1..n,意思就是:每个订单必须属于且仅属于1个用户,每个用户至少拥有1个订单(不能是没有订单的用户)。

2. ?..m

  • 左边的?:是0的简写,表示最小基数为0——这个端的实体可以不关联任何对方实体(关联是可选的)
  • 右边的m:和n一样,表示最大基数为任意多个
  • 例子:比如「用户」和「收货地址」的关联,用户端写0..1(或?..1),地址端写?..m,意思就是:一个用户可以没有收货地址,也可以有多个;每个收货地址可以属于0个(比如还没分配给用户的备用地址)或1个用户。

常见组合汇总

给你整理几个ERD里常用的约束写法,方便对照:

  • 1..1:必须关联且仅能关联1个实例(一对一必填)
  • 0..1(或?..1):可选关联,最多关联1个实例(一对一可选)
  • 1..n:必须关联至少1个,最多关联多个(一对多必填)
  • 0..n(或?..n):可选关联,最多关联多个(一对多可选)
  • 1..n + 1..m:多对多必填(两端实体都必须参与关联)
  • 0..n + 0..m:多对多可选(两端实体都可以不参与关联)

内容的提问来源于stack exchange,提问作者Mohammad Salehi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:44:51