数据仓库专题18-数据建模语言IDEF(转载)

简介:

引言

IDEF的含义是集成计算机辅助制造(Integrated  Computer-AidedManufacturing,ICAM)DEFinition。最初的IDEF方法是在美国空军ICAM项目建立的,最初开 发3种方法:功能建模(IDEF0)、信息建模(IDEF1)、动态建模(IDEF2),后来,随着信息系统的相继开发,又开发出了下列IDEF族方法: 数据建模(IDEF1X)、过程描述获取方法(IDEF3)、面向对象的设计(OO设计)方法(IDEF4)、使用C++语言的OO设计方法 (IDEF4C++)、实体描述获取方法(IDEF5)、设计理论(rationale)获取方法(IDEF6)、人-系统交互设计方法(IDEF8)、 业务约束发现方法(IDEF9)、网络设计方法(IDEF14)等。根据用途,可以把IDEF族方法分成两类:

  第一类IDEF方法的作用是沟通系统集成人员之间的信息交流。主要有:IDEF0、IDEF1、IDEF3、IDEF5。IDEF0通过对功能 的分解、功能之间关系的分类(如按照输入、输出、控制和机制分类)来描述系统功能。IDEF1用来描述企业运作过程中的重要信息。IDEF3支持系统用户 视图的结构化描述。IDEF5用来采集事实和获取知识。

  第二类IDEF方法的重点是系统开发过程中的设计部分。目前有两种IDEF设计方法:IDEF1X和IDEF4。IDEF1X可以辅助语义数据模型的设计。IDEF4可以产生面向对象实现方法所需的高质量的设计产品。

2 IDEF1x方法

IDEF1X是IDEF系列方法中IDEF1的扩展版本,是在E-R(实体联系)方法的原则基础上,增加了一些规则,使语义更为丰富的一种方法。概 念模型设计常用IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。IDEF1的最初形式是在 P.P.S (Peter) Chen的实体联系模型化概念与P.P.(Ted) Codd的关系理论的基础上发展起来的。IDEF1X是IDEF1的扩展版本,除在图形表达和模型化过程方面的改进外,还对语义进行了增强和丰富。例如: 分类联系 (Categorization Relationships)的引入。

IDEF1X是语义数据模型化技术,它具有以下的特性:

(1) 支持概念模式的开发。

IDEF1X语法支持概念模式开发所必需的语义结构,完善的IDEF1X模型具有所期望的一致性、可扩展性和可变换性。

(2) IDEF1X是一种相关语言。

IDEF1X对于不同的语义概念都具有简明的一致结构。IDEF1X语法和语义不但比较易于为用户掌握,而且还是强健而有效的。

(3) IDEF1X是便于讲授的。

语义数据模型对许多IDEF1X用户都是一个新概念。因此,语言的易教性是一个重要的考虑因素,设计IDEF1X语言是为了教给事务专业人员和系统分析人员使用,同样也是教给数据管理员和数据库设计者使用的。因此,它能用作不同学科研究小组的有效交流。

(4) IDEF1X已在应用中得到很好地检验和证明。

IDEF1X是基于前人多年的经验发展而来的,它在美国空军的一些工程和私营工业中充分地得到了检验和证明。

(5) IDEF1X是可自动化的。

IDEF1X图能由一组图形软件包来生成。商品化的软件还能支持IDEF1X模型的更改、分析和结构管理。

IDEF1X把实体-联系方法应用到语义数据模型化中,IDEF1的最初形式是在P.P.S (Peter) Chen的实体联系模型化概念与P.P.(Ted) Codd的关系理论的基础上发展起来的。IDEF1X是IDEF1的扩展版本,除在图形表达和模型化过程方面的改进外,还对语义进行了增强和丰富。例如: 分类联系 (Categorization Relationships)的引入。

IDEF1X模型的基本结构和ER模型基本类似,主要有以下元素:
(1)实体(如人、地点、概念、事件等)用矩形方框表示;

(2)实体之间的关系(联系),用方框之间的连线表示;

(3)实体的属性,用方框内的属性名称来表示。

关系是实体间的一种逻辑联系,用动词或动词短语命名。实体之间的关系可以分为确定关系和不确定关系。确定关系又分为连接关系和分类关系。连接关系也 称“父子关系”,它是两个实体之间的联系或连接,一个实体(子实体)依赖于另一个实体(父实体)。分类关系表示实体间的一种分层结构,一个实体(类属实 体)表示这些事物的全集,其它(分类实体)则为其子集。不确定关系又称“多对多关系”,两个实体间相互存在着一对多的联系,如图1。

图1 不确定关系

连接关系又分为标识关系和非标识关系。判别一个关系是标识关系还是非标识关系只要区分子实体的主键,看是否需要父实体的外键来共同作为主键,需要则 为标识关系(Identifying),如图2;如果子实体自己的主键就可唯一标识则它为非标识关系(Non-Identifying),如图3。在标识 关系中的子实体称为依赖实体,用圆角矩形表示;其它用方角矩形表示的就是独立实体。

 


图2 标识关系



图3 非标识关系

分类关系根据表示分类的实体集是不完全分类还是完全分类的又可以分为不完全分类关系和完全分类关系。

很多的数据库建模工具都支持IDEF1x方法,如CA公司的ERWin、Sybase公司的PowerDesigner以及微软公司的Visio 等。这些工具都能建立完整的IDEF1x概念模型并支持直接将模型转换为物理数据库的结构。图4显示的就是采用Visio建立的学生选课的数据库概念模 型。我们用这个实例来说明IDEF1x建模方法的步骤。


图4 基于IDEF1x方法的学生选课概念模型

目录
相关文章
|
1月前
|
SQL 数据采集 存储
数据仓库(12)数据治理之数仓数据管理实践心得
这边文章聊聊自己对数据治理开发实践的一些思路,就是聊聊怎么开始去做数据治理这件事情。说起数据治理,有时候虽然看了很多文章,看了很多的介绍,了解数据治理的理论,但是实际上需要我们去搞的时候,就会踩很多的坑。这里记一下自己做数据治理的一些思路,做做笔记,也分享给需要的同学。 当然,想要做数据治理,想要学习了解,一下数据治理的范围,理论等,最好可以看看别人怎么做的,了解数据治理可以参考:[数据仓库(11)什么是大数据治理,数据治理的范围是哪些](https://zhuanlan.zhihu.com/p/467433967)。
230 0
|
1月前
|
存储 监控 大数据
数据仓库(11)什么是大数据治理,数据治理的范围是哪些
什么是数据治理,数据治理包含哪些方面?大数据时代的到来,给了我们很多的机遇,也有很多的挑战。最基础的调整也是大数据的计算和管理,数据治理是一个特别重要的大数据基础,他保证着数据能否被最好的应用,保证着数据的安全,治理等。那么数据治理到底能治什么,怎么治?
64 0
|
1月前
|
存储 大数据 数据管理
数据仓库(09)数仓缓慢变化维度数据的处理
数据仓库的重要特点之一是反映历史变化,所以如何处理维度的变化是维度设计的重要工作之一。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流逝发生缓慢的变化,与数据增长较为快速的事实表相比,维度变化相对缓慢。阴齿这个就叫做缓慢变化维。
210 2
数据仓库(09)数仓缓慢变化维度数据的处理
|
2月前
|
存储 数据建模 数据挖掘
数据仓库中的数据建模-2
数据仓库中的数据建模-2
28 1
|
2月前
|
数据建模 定位技术 uml
数据仓库中的数据建模-1
数据仓库中的数据建模-1
30 1
|
3月前
|
存储 机器学习/深度学习 数据挖掘
数据仓库与数据湖:解析数据驱动的未来
在数字化时代,数据成为企业决策的核心资源。本文将深入探讨数据仓库和数据湖的概念、特点以及应用场景,分析其在实现数据驱动决策过程中的重要性和优势,并展望数据驱动的未来发展趋势。
48 5
|
3月前
|
SQL 分布式计算 Java
数仓学习---7、数据仓库设计、数据仓库环境准备、模拟数据生成
数仓学习---7、数据仓库设计、数据仓库环境准备
121 2
|
4月前
|
Cloud Native 关系型数据库 MySQL
云数据仓库ADB如何更新、删除和导入AnalyticDBMySQL数据-更新数据?
云数据仓库ADB如何更新、删除和导入AnalyticDBMySQL数据-更新数据?
80 0
|
3月前
|
SQL 关系型数据库 MySQL
在云数据仓库AnalyticDB MySQL版中,有几个参数可能影响SELECT查询的执行及其稳定性
在云数据仓库AnalyticDB MySQL版中,有几个参数可能影响SELECT查询的执行及其稳定性【1月更文挑战第16天】【1月更文挑战第80篇】
173 4
|
1月前
|
SQL Cloud Native 关系型数据库
AnalyticDB MySQL湖仓版是一个云原生数据仓库
【2月更文挑战第15天】AnalyticDB MySQL湖仓版是一个云原生数据仓库
22 2