频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

利用UML进行实体关系建模(1)

作者: Davor Gornik 出处:IBM 2008-07-25 16:15    砖    好    评论   进入论坛
阅读提示:软件行业中最常被误解的一个术语实际上是我们非常熟悉的一个:实体关系(ER)。这是因为我们经常缺少一种能被开发团队的所有成员理解的共同定义。我们假定团队的每个成员都对与 ER 和 ER 建模相关的方法学、语法和机制(mechanics)有着同样清楚的理解。

实体关系建模

软件行业中最常被误解的一个术语实际上是我们非常熟悉的一个:实体关系(ER)。这是因为我们经常缺少一种能被开发团队的所有成员理解的共同定义。我们假定团队的每个成员都对与 ER 和 ER 建模相关的方法学、语法和机制(mechanics)有着同样清楚的理解。

ER 建模本身定义了在基于信息的系统的分析和设计中用到的方法。数据库设计者通常使用该方法来收集需求,并定义数据库系统的构架。该方法的输出是实体类型、关系类型和约束条件的清单。

不幸的是,ER 建模没有为 ER 图的表示定义图解语法。数据库团队经常单独使用表示法,并且将 ER 建模限制在关系数据库设计的范围内。我们需要一种能让整个系统开发团队的成员获得更广泛理解的表示法。

统一建模语言(UML)是一种分析人员和软件开发人员广泛使用的语言,特别适合 ER 图的图形化表示。通过使用 UML,开发团队受益匪浅,这些获益包括团队成员间的交流更加简单,由于该语言是基于元模型的因而更容易与知识库集成,标准化输入/输出格式(XMI)的使用,应用建模和数据建模的普遍使用,从分析到实施再到部署的统一表示,以及规格说明书的完整性。

本白皮书定义了 ER 建模的核心概念,并解释了开发团队如何能够利用 UML 开发 ER 模型。

ER 建模的核心要素

ER 建模基于工件,可以是物理工件(比如 Product 或 Employee)的表示或者工件(比如 Order 或 Delivery)之间事务的表示。每个工件都包含关于自身的信息。ER 建模还专注于工件间的关系。这些关系可以是二元的(连接两个工件),也可以是三元的(在几个工件之间)。

ER 建模的四个必要元素是:

◆实体类型
◆属性
◆关系类型
◆关系属性
◆实体类型

实体类型是具有相同的结构并在企业内部独立存在的一组工件。Employees 或 Products 就是实体类型的例子。

工件的一次出现就是一个实体。虽然实体类型描述了结构,但是实体本身标识了单个实例以及该实例的所有数据。Employee Joe Ward 就是 Employees 实体的一个例子。

实体类型 Employees 和实体 Employees Joe Ward

图1  实体类型 Employees 和实体 Employees Joe Ward

属性

实体类型的结构是用属性定义的。属性可看作实体类型的特征。Employee 的属性可能有姓名、住址、社会安全号码、出生日期、参加工作日期以及职务等。

实体通过属性值来互相区分。由于实体的属性可能有相同的值,如果这样我们就不能区分某些特定的实体。因此,我们必须保证特定实体的属性值与其他实体的属性值不同。各个 Employee 都有一个唯一的姓名和社会安全号码属性组合。

Employee 的属性值的一个例子是:Joe Ward,地址为 34 Main Road, Redmond, WA, 98053,社会安全号码为 555-32-2222,出生于 1971 年 9 月 7 日,2001 年十月 1 日加入公司,是家电服务工程师。

实体类型 Employee 的属性以及实体 Employee Joe Ward 的属性值

图2  实体类型 Employee 的属性以及实体 Employee Joe Ward 的属性值

关系类型

实体类型描述了独立工件,而关系类型描述了实体类型间有意义的关联。更准确的说,关系类型描述了参与该关系的实体类型的实体可以构建一个有意义的关联。实体间实际发生的关联被称为一种关系。

有一点我们必须理解:尽管我们已经定义了一种关系类型,但是这并不意味着每一对实体都构建了一种关系。关系类型规定了发生关系的类型。

关系类型的一个例子是 Employee 拥有 Product。在该例中,关系类型是 Owns。关系本身是:Employee Joe Ward 拥有一种产品--一部编号 320 TS 03880 的黄色电话机。

雇员 Joe Ward 和序号 320 TS 03880 的产品之间的拥有关系类型和拥有关系

图3   雇员 Joe Ward 和序号 320 TS 03880 的产品之间的拥有关系类型和拥有关系
 也有可能有一位名叫 Martin Weber 的雇员就没有拥有电话机。

关系类型的属性

关系类型还可以包含属性。比如,Employee 和 Product 间的关系类型 Services 可以包含属性 Date 和 Status,标识了服务的日期以及服务之后产品的状态。

当在具体发生的服务中实现关系时,该关系的属性值就被设置。关系的含义可能是:Joe Ward 在 2002 年 7 月 3 日为序号是 0462834 DF 4的黑色饮水机提供维修服务,并且使其建立了良好的工作状态。

services 关系类型的属性,以及 Joe Ward 为序号 0462834 DF 4的产品提供服务的关系的属性

图4   services 关系类型的属性,以及 Joe Ward 为序号 0462834 DF 4的产品提供服务的关系的属性

共4页: 1 [2] [3] [4] 下一页
【内容导航】
 第 1 页:实体关系建模  第 2 页:ER 建模中的简单约束
 第 3 页:依赖关系、特化和泛化  第 4 页:UML 中的实体类型和关系类型
专题
Windows Home Server 家用服务器专题
金蝶 Apusic OperaMasks 全国巡演
Windows Server 2008专题
ERP系统应用实施指导
Serv-U基础应用专题
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看83417次)
·UML类图详解 (查看74533次)
·C++是垃圾语言?! (查看45139次)
·C#技术开发指南 (查看42074次)
·UML统一建模语言 (查看40127次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (432个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (582个好)
·.NET开发手册 (283个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (203个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
Windows Server 2008专题
Windows Server 2..
庆祝“世界系统管理员日”
庆祝“世界系统管..
浏览器的战国时代
浏览器的战国时代
· 浏览器的战国时代
· CCNA认证考试Pass必备
· 无线网络环境
· 无线路由器故障处理
· 解析35岁技术人的价值..
· 无线重中之重:安全问题
· 无线局域网基本知识
· 家庭无线局域网
· 华为七千人主动辞职规..
· 微软出价446亿美元收购..
· 虚拟化的“赤壁之战”
· 802.11n:下一代的无线..
· 脉冲无线电uwb专题
· AIX操作系统管理应用
· 云计算时代来临
· 求职必杀技 决战面试官
ARP攻击防范与解决方案
ARP攻击防范与解..
SQL Server 2008/2005全解
SQL Server 2008/..
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· 无线网状网(MESH)
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 文档格式标准开战 OOXM..
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
ARP攻击防范与解决方案
ARP攻击防范与解..
SQL Server 2008/2005全解
SQL Server 2008/..
SQL Server入门到精通
SQL Server入门到..
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 解析35岁技术人的价值..