现代数据库管理学习笔记四 增强型E-R模型和业务规则

 EER:增强型实体-联系模型

在EER模型中引入的最重要的概念是超类型/子类型联系。这种方法允许我们先建模一个一般的实体类型(称为超类型),然后,将其细分为几个特殊的实体类型(称为子类型)。

每一个子类型从其超类型中继承所有的属性,并可能加入自己的特殊属性。

 

实体聚簇:是将实体-联系数据模型的一部分转变成同样数据的更为宏观层次的视图的一种方法。

实体聚簇是一种层次分解基数,它能够使实体-联系图更易读。

 

超类型和子类型的表示:超类型通过线与一个圆连起来,圆通过连线依次与每一个已定义的子类型连起来,每一个子类型与圆之间的连线上的U状符号表示子类型是超类型的一个子集,也表示了子类型/超类型联系的方向。

 

属性继承:子类型实体继承超类型所有的属性值,这个重要性质使得子类型没有必要重复包含超类型的属性。

 

什么时候使用超类型/子类型联系:

1)存在一些属性适用于一些(而不是全部)实体类型的实例

2)子类型的实例参与仅属于该子类型的联系

 

超类型/子类型联系之间的约束:

1.完备性约束:解决是否一个超类型的实例必须至少是一个子类型的实例

有两个可能的规则:完全特化和部分特化

完全特化规则:说明超类型的每一个实体实例必须是联系中一些子类型的一个实例,由从超类型到圆的双线表示

部分特化规则:由从超类型到圆的单线表示

2.不相交约束:解决一个超类型的实例是否可以同时是两个(或多个)子类型的实例

有两个可能的规则:不想交规则和交叠规则

不相交规则:如果一个(超类型)的实体实例是一个子类型的实例,那么它不能同时是任何其他子类型的实例

交叠规则:一个实体实例可以同时是两个(或多个)子类型的实例

 

问题:如果插入一个新的超类型实例,那么这个实例将插入哪个子类型中呢?答案是使用子类型鉴别符

子类型鉴别符:是超类型的一个属性,其值决定了目标类型和子类型。分为不相交子类型和交叠子类型。

超类型/子类型层次:超类型和子类型层次的层次安排,其中,每一个子类型只有一个超类型。

超类型/子类型层次中关于属性约束的两个特性:

1)在该层次中,尽可能将属性分配在最高逻辑层

2)在该层次中,较低层的子类型不仅从它的直接超类型中继承属性,而且从层次中较高层中的所有超类型中继承属性

 

实体聚簇:将一个或多个实体类型及其相关属性组成单个抽象实体类型。

实体聚簇通过下列方法得到:

1)通过抽取超类型及其子类型

2)结合直接相关的实体类型和它们之间的联系

 

实体聚簇应该关注用户、开发人员和管理人员感兴趣的领域

 

通用的业务规则框架:

业务的分类:有三种主要的业务规则类型(导出、结构断言和动作断言)

导出:指业务中的其他知识导出的语句。

结构断言:表达组织的静态结构的某些方面的语句。E-R图是说明结构断言的常用方法。结构断言可以用术语或事实来表述。

动作断言:关于组织动作的约束或控制的语句。

 

更为现代的方法是在概念层声明动作断言,而不是说明如何实现规则。因此,需要描述业务规则的规格说明语言。例如E-R符号,EER符号可以用图形化方法表示业务规则,另外一个是结构化语法(例如英语的某种受限形式)。

业务规则语言规格说明需要具备两种良好特性:
1)应该相对简单,以便最终用户不仅能够理解规则语句,而且能够自己定义规则

2)说明语言应该足够结构化,从而能够自动转换为遵守规范的计算机代码



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值