• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用 Rational XDE 进行数据建模

发布: 2008-6-18 10:29 | 作者: 不详 | 来源: java-asp | 查看: 115次 | 进入软件测试论坛讨论

领测软件测试网


重复上面的步骤指定下面的候选键:
Order Detail: Order Detail Id Product: Product Id 
你能够在任何非空标记的实体上产生一些或者所有的属性。
实体关系:强关联你现在有了具有完整属性的实体了,并通过代理键和候选键分配了主键的值。然而,超市数据库的设计还不是非常完整。你还没有引入任何在实体之间的关联 - 在实体关系图中你有责任产生的实体之间的"关系"。为了完成这个,在 Toolbox 视图中从 UML Class 面板中使用各种关联。
首先,看一下在 Order 和 Order Detail 之间的关联。这是一个典型的父-子关系:如果没有父 Order,将不会有 Order Detail 的存在。在 Data Modeler 中,这是一个强关联。使用工具栏中的 Composition Association 关联来表示它。
1. 选择逻辑数据模型图。
2. 在 UML Class 面板上点击一下 Composition Association 。
3. 在图中的 Order 实体上点击一下。
4. 在图中的 Order Detail 实体上点击一下。
一个关联被画在了两个实体之间。这是在 Properties 视图中使用它的可见的特性被自动选择的。如下调整特性:
1. 改变 End1Name 为 _Child Order Lines 。
2. 改变 End2Name 为 _Parent Order 。
3. 改变 End2Multiplicity 为 1 。
逻辑数据图中的结果看起来应该如下图:

关系的命名在实体关系建模中是被鼓励的,虽然有时你也许会争论关系是如此的明显,命名是没有必要的。
多样性确认:

一个 Order 的实例能够为一个 Order Detail 而存在(甚至虽然你还没有到物理这一级)。
为一个 Order 视图能够有零个和任何数量的 Order Detail 实体存在。这是由星号对面的被命名为 _Child Order Lines 的关系决定的。
当在 Data Modeler 的结构化的模型中处理多样性时, Data Modeler 再一次的提供了图形化显示关系的优点。
实体关系:弱关联一个 Order Detail 的实例需要一个 Order 实例的存在,因为在他们之间存在着强关联。然而, Order 和 Supplier 实体能够很好的独立存在 - 每一方都不一定需要对方的存在(因为是弱关联)。这种关联并不是至关重要的:一个 Order 实体的创建包含了选择适合他们的供应商。这就是一个弱关联。
你可以使用正规的 UML 关联建模它。
1. 选择逻辑数据模型图。
2. 从 Toolbox 视图中的 UML Class 面板点击一下 Association 。
3. 在图中的 Order 实体上点击一下。
4. 在图中的 Supplier 实体上点击一下。
一个关联被画在了两个实体之间。适当的调整这个关联。
1. 将 End1Multiplicity 改为 1 (一个 Order 实例必须有一个并只能有一个相关联的 Supplier 实例)。
2. 将 End2Multiplicity 改成 * (一个 Supplier 实例可以与零个、一个或者很多个 Order 实例相关联)。
3. 可选的,为关系的两端指定名字(End1Name 和 End2Name 特性)。
结果应该象下图所示:

在 Order Detail 和 Product 之间添加一个关联,使用与上面相同的步骤。End1Multiplicity 还是 1 并且 End2Multiplicity 是星号(*)(一个 Order Detail 实例能够引用一个并只能引用一个 Product 的实例;然而,相同的 Product 实例能够在多个 Order Detail 实例中存在)。
实体关系:一般化的角色两个实体被剩下还没有任何关联:Garment 和 Food Item 。他们是典型的实体子类型。现在你能够看到 Data Modeler 如何能够简单并自然的建模这个概念。对任何产品(不论是衣服还是食品)的可应用的属性都在 Product 实体中被保存。属性被指定的类型分别保存在 Garment 或者 Food Item 中。
如果父 Product 实例不存在的话,Garment 或者 Food Item 的实例也就不会存在,因此乍一看一个强关联应该是合适的(使用面板中的 composition 关联)。然而,Data Modeler 为这类关心开发了一般化(generalization )关联。将它引入到你的图中:
1. 选择逻辑数据模型图。
2. 在 UML Class 面板中点击一下 Generalization 。
3. 在图中的 Garment 实体上点击一下。
4. 在图中的 Product 实体上点击一下。
5. 在 UML Class 面板中再点击一下 Generalization
6. 在图中的 Food Item 实体上点击一下。
7. 在图中的 Product 实体上点击一下。
结果应该如下图所示:

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网