ch4-高级数据库模型-2(UML、ODL).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

4.1数据库系统设计概述

4.2E/R模型

4.3UML统一建模语言

4.4对象定义语言ODL;UML(UnifiedModelingLanguage)从面向对象软件设计的图形化标注工具发展为数据库设计描述的标注。

除了多路联系外,UML提供了与E/R模型相同的能力。;1.UML类;3.关联;例4.36;例4.37在UML中表达引用完整性;4.自关联;5.关联类;6.UML中的子类;UML的子类中只记录其父类中没有的额外的属性,且使用一个空三角箭头指向父类。子类还可以有自己的与其他类的联系。

例4.40

;7.聚集和组合;8.UML图到关系的转化;该UML转化为如下的关系模式:

Movies(title,year,length,genre)

Stars(name,address)

Studio(name,address)

Stars-In(movieTitle,movieYear,starName)

Owns(movieTitle,movieYear,studioName);UML转化为如下的关系模式:

Movies(title,year,length,genre)

Stars(name,address)

Stars-in(movieTitle,movieYear,starName,salary,residuals)

;从UML子类到关系;从聚集组合到关系;转化为如下的关系模式:

Studios(name,address)

Movies(title,year,length,genre,studioName)

MoviesExecs(cert#,name,address,networth)

Presidents(cert#,studioName);UML中的支持组合;对应的关系模式为:

Studios(name,address)

Crews(number,crewChief,studioName);4.1数据库系统设计概述

4.2E/R模型

4.3UML统一建模语言

4.4对象定义语言ODL;1.ODL简介(1);ODL简介(2);ODL中的联系

ODL联系的声明通过关键字relationship、类型和联系名字来声明。

联系类型描述类的一个单个对象与这个联系连接;联系类型可以是另外一个类(多对一)或者一个集合类型(一对多或多对多)。

一个:类/对象名||一组:Set类/对象名

relationshipStudioownedBy;

例4.48,relationshipSetStarstars;

该行对应一个联系定义,放在Movie类的声明中,表示

每个Movie对象和一组Star对象连接。;ODL简介(3);;ODL简介(4);ODL简介(5);ODL简介(6);ODL简介(7);ODL简介(8);2.ODL中的子类;3.在ODL中声明键;方法键。将方法声明为键,表示类中不同对象在该方法上的返回值不同

联系键。多对一联系声明为键表示该联系中一端“可以”是多端的键。

例4.54;4.从ODL设计到关系设计(1);4.从ODL设计到关系设计(2);类中的非原子类型属性

简单???结构类型

为结构的每个字段定义一个关系的属性即可

如果重名则重命名

例4.56

Star(name,street,city);4.从ODL设计到关系设计(3);一个问题:可能会导致不规范的关系,一般来说会违反BCNF的要求

采用前面介绍的分解方法消除异常

另一种方法

把所有的集合类型的属性分离出来,将这些属性的值域与类的对象集合之间的关系看作是一个多对多联系,再去表示联系;4从ODL设计到关系设计(4);字典:表示成一个由键域和值域组成的二元组的集合。;4.从ODL设计到关系设计(5);对多对一联系,将该联系与联系中“多”的那一方的类建立一个关系(即组合两个拥有共同键的关系),不会破坏BCNF条件

Movies(title,year,length,genre,studioname)

多对多联系不可

Movies(title,year,length,genre,studioname,starname)

多对一联系不能组合“一”方,会违反BCNF条件

Studio(name,address,movietitle,movieyear);4.从ODL设计到关系

文档评论(0)

QualityDocument + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档