EXPRESS-G

文献阅读笔记:
一种产品数据的图形表达方法──EXPRESS-G
一种产品数据的图形表达方法──EXPRESS-G(下)

EXPRESS-G是理解EXPRESS语言写出的数据模型的一个很好的工具,其最大的特点在于用图形的方法描述概念。EXPRESS语言中将事物的主体抽象成为实体(ENTITY),这些主体的集合又可以形成一个更大的概念,又可以抽象为模式(SCHEMA),实体之间可以有不同的关系,用不同的线性来描述。

EXPRESS-G是用形成框图的图形符号来表达的,这种表达方法有三种类型的符号:
(1)定义符号,表示简单数据类型、命名数据类型、构造数据类型和模式声明;
(2)关系符号,描述定义之间存在的关系的符号;
(3)组合符号,允许一个框图在多于一页的图上表示的符号。

定义符号
  1. 简单数据类型符号——具有双竖线的矩形实线框,数据类型的名称被包含在框中。
    在这里插入图片描述

  2. 构造数据类型符号
    SELECT(选择类型)——左边有双竖线的虚线框表示,数据类型的名称被包含在框中。
    在这里插入图片描述
    ENUMERATION(枚举类型)——右边有双竖线的虚线框表示,数据类型的名称被包含在框中。
    在这里插入图片描述
    在定义构造类型数据时,可以采用完全形式或者简略形式。下面这两个框图是等价的:
    在这里插入图片描述

  3. 定义数据类型符号——包含数据类型名的虚线框
    在这里插入图片描述

  4. 实体数据类型符号——实线框
    在这里插入图片描述
    作为参数的实体名可以用星号(*)作标记。
    在EXPRESS-G中,实体可以是非循环继承图的一部分,可以有显式属性,有导出属性,有反向属性。显式属性和导出属性的属性名放在关系线上,属性的后面跟着基数。导出属性要在属性名之前加上圆括号括起来的字符:(DER),反向属性则要加上:(INV)。

  5. 模式符号——上半部分含有模式名的矩形实线框,一水平线把该框分为两半,符号的下一半是空的。
    在这里插入图片描述

关系符号

在EXPRESS-G中,不同的关系用不同线型表示:
在这里插入图片描述

粗实线:

  • 表示继承关系(子类/超类关系)。关系线带圆圈的一端表示关系的子类一端。当一个超类是抽象超类时,就在实体名称前面加上字符:(ABS)。

虚线:

  • 表示实体数据类型的可选属性(OPTIONAL)关系
  • 模式与模式之间的引用

普通实线:

  • 表述其他属性关系

关系是双向的,如果要强调两个方向中的一个,需要再所强调的方向上用一个空心圆作标记(这个空心圆可以看成是箭头,表示关系的流动方向)。

组合符号

EXPRESS-G图有时候很大,在一页上放不下,需要跨页标识(例如IFC的EXPRESS-G图就是这样子)。

  1. 页引用
    在这里插入图片描述

  2. 模式间的引用
    在这里插入图片描述

实体级框图
  1. 角色名称
    在EXPRESS中,当一个实体与属性建立关系时,实体的属性要根据它所扮演的角色而命名——也就是规定属性名。
    属性名放在关系线上。

  2. 基数(CARDINALITY)
    实体和定义数据类型的属性有时要用聚集数据类型表示:LIST/SET/BAG/ARRAY。在EXPRESS-G图中,聚集在属性关系线上标出,接在属性名称的后面,在表示时仅使用聚集数据类型的第一个字母(即L/S/B/A,省略OF)。
    例如在下面的案例中:
    L[1:?] 表示一个列表,且索引的最小值是1,最大没有上限;
    A[1:3] 表示一个数组,且索引的最小值是1,最大值是3。
    这里的索引表示了实体和属性的基数关系,如果属性没有规定聚集,则基数关系为1。
    可选属性是个特例,基数为0或1。

  3. 约束
    在EXPRESS数据描述中被约束事项可以用在该事项名的前面带上星号(*)的办法表示。
    具体的规则如下:

(1)如果一个实体是EXPRESS模式中的规则的一个参数,则在该实体名称之前可以前缀星号;
(2)如果实体的某个属性被实体中的UNIQUE子句或者WHERE子句所约束,可以在该属性名称前面前缀星号;
(3)如果一个定义类型被WHERE子句所约束,可以在该定义类型的名称之前前缀星号;
(4)如果一个聚集数据类型被一个UNIQUE关键字所约束,则该聚合数据类型的第一个字母之前可以前缀星号。

案例

在这里插入图片描述

  • 这里面有六个实体(矩形框)——super, sub_1, sub_2, from_ent, to_ent, an_ent。
  • 这里面有三个定义数据类型(虚线框)——name, choice, strings。
  • 这里面还有几个简单数据类型(双竖线实现框)——Integer, Real, String。
  • 实体super有两个子类实体(粗实线表示继承关系)sub_1和sub_2。
  • sub_2有一个选择数据类型的属性choice,choice从名为an_ent的实体和定义数据类型name两者之间进行选择。实体an_ent有一个属性是整数数据类型,name为字符串数据类型(STRING)。
  • from_ent实体是sub_1实体的属性,from_ent实体有两个属性:一个是可选属性to_ent实体,to_ent实体有一个必要属性strings,strings是定义数据类型;另一个是必要属性。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值