8、ServiceNow 数据关系深入解析

ServiceNow 数据关系深入解析

1. 其他多对多关系

在 ServiceNow 中,多对多关系的典型代表是 sys_user_has_role sys_user_grmember 表。前者维护用户与角色的关系,后者维护用户与用户组的关系。这些多对多表并非在 sys_m2m 表中定义,而是由 ServiceNow 专门创建的。

虽然 sys_m2m 表是定义多对多关系的简便方式,但也有其他途径。例如,可以利用字段建立多对多关系,引用字段在关联单个记录时很有效,但在 ServiceNow 中,能接受外键(FK)值的字段不止引用字段一种。

sc_catalog 表为例,该表存储服务目录信息。打开服务目录记录,在左侧列会看到“Editors”字段,显示的是一个锁图标,这是列表字段类型,属于特殊的引用字段,此引用指向用户( sys_user )表。点击锁图标可编辑该字段,能依次输入值,字段会将这些值以逗号分隔的系统 ID(Sys ID)列表形式存储在数据库列中。从技术上讲,这并非传统的 FK 列,更像是多 FK 列,包含多个主键(Sys ID)。理论上,可在表 A 和表 B 分别设置这种字段,从而在两表间建立伪多对多关系,不过实际操作中这种方式不太实用,但也证明了 ServiceNow 数据库的强大灵活性。

2. 强制一对一关系

严格来说,ServiceNow 中不存在传统意义的一对一关系。在数据库术语中,一对一关系要求右表记录的主键与左表记录的主键匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值