实体、属性、关系三元素,今天讲讲实体和关系…
产品中的映射关系的实现成本
一、实体间的关联关系
以用户、商品、订单的经典场景为例:
- 一对一:KV查询,通过订单ID查询订单详情;
- 一对多:关联查询,通过用户ID查询用户下的所有订单;
- 多对多:关系关联,订单保存了用户和商品的关系,通过用户ID查询其买过的所有商品,通过商品ID查询所有相关用户;
二、报表解释转换
以语言翻译的场景为例:
- 一对一:A -> a(大小写转换),KV查询即可实现;
- 一对多:A -> 123,431,849(编码转换),存储在关联表即可;
- 多对多1:(A,B)->1|(A)->3|(A,C)->4|(C,D)->3|(B)->2,映射表左侧,存在包含关系,需要定义映射优先级,需要规则引擎硬编码来实现;
- 多对多2:(A,B)->1|(A,D)->3|(A,C)->4|(C,D)->3|(B,C)->2,映射表左侧,不存在包含关系,可以通过中间映射层,转换为一对一或一对多的关系:(A,B)->a->1|(A,D)->b->3|(A,C)->c->4|(C,D)->3|(B,C)->d->2;