16、数据建模中的结构递归模式及其解决方案

数据建模中的结构递归模式及其解决方案

1. 结构递归模式概述

在数据建模中,结构递归模式有着独特的特点。我们先来看一个一元结构递归的通用HERM模式示例。

  • 初始类型L :也被称为叶类型或基类型,它可以是实体(0阶)或关系(1阶及以上)类型。若为实体类型,其主键由一个或多个自身属性构成;若为关系类型,它从所基于的实体类型继承键属性,键由这些属性构成,还可选择性地扩展自身属性。建模者也能决定覆盖继承的键属性,仅基于一个或多个自身属性为关系类型组合主键。
  • 集群类型D :初始类型L被泛化为集群类型D,即域联合类型或公共类型。它可以添加自身的键或非键属性、所基于的实体或低阶关系,还能参与高阶关系。
  • 递归类型R :结构递归通过关系类型R实现,也称为递归类型或复合类型。其每个数据实例基于初始类型L的实例或复合类型R的另一个实例。它基于D并同时被D泛化。尽管模型图会变成循环的,但任何有效数据库实例的数据实例中不应存在循环。为避免数据中的循环,需对R的每个数据实例r分配一个正整数秩,且该秩必须高于r直接基于的R数据实例的秩(若r不直接基于L的数据实例)。

此外,R从D继承键属性,由于结构递归,这种继承可能达到任意深度,导致R(和D)的键长度可变,形成具有复杂域的键。为避免这种情况,模式设计者可通过声明仅基于R或D的(局部)属性的显式主键来覆盖继承的键属性,但有些情况下无法实现,识别必须基于R实例所基于的D实例的整个序列。

以下是相关符号的含义:
|符号|含义|
| ---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值