数据库|产品经理必须懂的关系模型:一对一,一对多以及多对多关系( 二 )
一个常用表中的一条记录永远只能在一张不常用表中匹配一条记录,反之亦然。
3. 场景原型在产品表现层中,一对一关系的交互设计通常是需要点击,才能够查看另外一个实体的详情,如图所示,这里的主要信息是学生的信息,而身份证信息,则需要用户点击以后,再去查看,这也符合用户的使用场景,当需要查看身份证信息时,才点击查看。
而身份证信息的展示则有很多方式,如drawer 层,modal 层,甚至是嵌套列表也可以。此处以modal 层为例子。
文章插图
四、一对多关系1. 定义一对多关系表示表A 中的一行数据可以和表B中的多个行相关,但是表B中的数据只能和表A中的一行数据相关。
例如:一个班级包含了多个学生,但是一个学生只能在一个班级中。在一对多的数据库设计中,后台通常会在学生表中,加入一个·classId· 指向class 表,从而表示一对多的关系,后台设计如图所示。
文章插图
文章插图
2. 使用场景当产品接收到的需求中,有包含或者被包含的关系,如一个课室有N个学生, 一个异常有N个告警,一个订单有N个产品,我们就可以将这种包含的关系,抽象为一对多的关系。
3. 场景原型在工业级产品中,一对多的关系是很常见的,通常的设计中,我们会用嵌套列表、drawer层、跳转页等进行展示。
例如电商系统中的订单页,通常我们会在外层表格,展示订单的数据,当用户需要查看产品信息时,用户点击“+”号以后,才展示具体的产品信息,而产品信息的交互,则与单表结构相似。
文章插图
五、多对多关系1. 定义多对多关系表示表A中的一行数据可以和表B中的一行或者多行数据相关。表B的一行数据也可以和表A中的一行或者多行数据相关。
多对多关系,在关系型数据库中,是最复杂的了。多对多关系,需要一张中间表(学生课程关系记录)来转换,这张中间表里面需要存放学生表和课程表的关系,此时学生与中间表示1对多关系,课程与中间表是1对多关系。
例如,一个学生可以选修多门课程,一门课程可以被多个学生选修,这种情况下,我们称之为多对多关系。后台设计中,通常会引入一个关系表来表述 “多对多”的关系,通常,关系表中会包括表A和表B的主键,如下图所示,关系表则包含了学生表的主键和课程表的主键。
文章插图
文章插图
2. 使用场景当产品接收到的需求,抽象出来的业务实体中,实体之间既有包含关系,也存在被包含关系(与一对多关系,一字之差),那么产品就可以设计为多对多的关系了。
3. 产品设计常见例子当产品接到多对多关系的需求以后,通常都会给实体设计列表数据页,如果用户这时候提出一些统计实体之间关系的需求,那么一般都是通过关系表来统计的。如统计一门课有几个学生选,一个学生选了几门课。
文章插图
如图红色框所示:不管是学生列表页,还是课程列表页,都有一个关系的汇总数据,用户点击汇总数据以后,就可以展示详情的数据,通常关系的详情,可以设置为modal 的组件。
总结作为产品经理,虽然不是说一定要懂技术,但是懂一点技术,可以让你更好地与后台沟通交流,更容易推进项目。
- 苹果|苹果最巅峰产品就是8,之后的产品,多少都有出现问题
- 业务|传统企业里,产品经理失去了话语权
- 数据库|OPPO悄悄上新机,骁龙8核+5000mAh电池,256G仅售1599元
- 上海尊宝音响多款产品获《影音极品》器材大赏奖项
- 噪音|聊聊社交产品中的信号与暗示
- 数据库|丁磊致歉“鱼眼观察”作者并回应:已撤回删稿函
- 雷曼巨幕LEDPLAY获IT影响中国2021年度创新产品奖
- 副总经理|ZOL观察:创新引领超越 光峰工程投影的起航之路
- iPad|一样是苹果的电子产品,为什么iPhone比iPad贵几千元呢
- 产品经理|人工智能越来越发达,人类一身“毛病”,会被机器人取代吗?