工作表之间的三种关联关系
本文列举了工作表之间的3种关联关系,并提供了一些示例以便您能够更好理解 ”关联记录“控件的用法。
一个应用可以看作是一个数据库,应用下包含若干 工作表,不同的表记录之间可能有以下三种关系:
- 1 对 1 的关系
- 1 对 多 的关系
- 多 对 多 的关系
1对1的关系
这是最简单的关系,例如 一个商品只能有一个商品编号 ,一个员工只能有一个工号; 反过来,通过工号或商品编号 只能找到 一个 员工或商品。
这是一个对象(员工、商品)中的 两个属性(员工姓名和工号,商品名称和编号)。
通常,我们只需把这些一对一的属性信息 存放在一张对象表中即可,无需额外分开创建工作表进行管理。
还有另外一种 1对1的关系,是同一张表中,不同的对象之间的1对1的关系。
例如:乒乓球双打比赛中,每一个选手和他的搭档是1对1的。
一对一的关系相对较少,以下是一对一关系的其他一些场景示例:
- 人员护照(每个人只有一本来自特定国家的护照,每本护照仅供一人使用)
- 国旗(每个国家只有一个国旗,每个国旗只属于一个国家)
- 配偶关系(每个人只有一个配偶)
1对多的关系
1对多的关系是比较复杂但也常见的,例如,一个客户可以有多个订单,一个订单只能归属于一个客户,客户表存储着客户的基本信息(联系人,公司地址,公司性质),订单表存储着客户订单的基本信息(客户、下单时间,发货日期,订单金额等等),通过关联表控件 建立两表之间的关联(因为共同需要客户信息)
如下图,一个客户 关联了多个订单。
一个客户记录详情页显示的效果(1对多的显示效果)
一个订单只能有一个客户
以下是一对多关系的其他一些示例:
- 项目-任务(每个任务只能在一个项目下,但一个项目含有多个任务)
- 领导-下属(每个员工只能有一个直接上司,但每个领导可以有多个下属)
多对多的关系
常见场景就是 人员-任务的关系, 一个人员会参与多个不同任务,一个任务也会有不同的参与人员。 人员表和任务表 通过 表关联 建立一个链接,在查看一个人员时,可以查看他参与的各个任务, 点击任何一个记录,都可以直接打开此任务,并能查看此任务下参与的人员。
以下是多对多关系的其他一些示例:
- 配料 - 食谱(每种食品都可以用于多种配方,每种配方都需要多种配料。)
- 医生 - 患者(每位医生看到很多患者,每位患者看到很多医生。)
- 客户 - 产品(1个客户可以购买许多产品,1个产品都可以由不同的客户购买。)
文档问题反馈
文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧