- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1 数据库系统设计概述 4.2 E/R模型 4.3 UML统一建模语言 4.4 对象定义语言ODL UML (Unified Modeling Language)从面向对象软件设计的图形化标注工具发展为数据库设计描述的标注。 除了多路联系外,UML提供了与E/R模型相同的能力。 1. UML类 UML中的类与E/R模型中的实体集类似。 一个类框分为三部分: 顶部:类名 中间:属性 底部:方法 3.关联 类之间的二元联系称为关联。UML中没有多路联系,一个多路联系由多个二元联系表示。 两个UML类之间的关联通过在两个类之间划一条线来表示,并在线下方给出名字。 关联类中连接对象的数量有一定的约束,该约束通过在连接线的末端用一个m..n标签表示,表示至少m个、至多n个对象与另外一端的对象连接。 m..*表示无上限 0..* 表示对象的数目没有任何约束 如果在关联的末端没有任何标签,那么相当于1..1,即“有且只有一个” 例4.36 例4.37 在UML中表达引用完整性 4.自关联 一个关联的两端可以连接同一个类,这样的关联称为自关联。 为了区分一个类在自关联中表现的不同角色,分别给这个关联的两端一个名字。 例: 电影续集的关联 5. 关联类 UML中的关联类对应联系的属性,关联类放置关联的中间,拥有自己的名字,其属性是它依附的关联的属性。 例: 某个影星参演某部影片的薪水。 6. UML中的子类 UML允许一个类C有四种不同的子类: 完整对局部:每个类C的对象是否是该子类的一个成员? 分离对重叠:一个对象能够出现在两个子类中吗? 面向对象系统中的子类是分离的,而E/R模型允许重叠子类; E/R模型和面向对象系统都允许完整的或者局部的子类。 UML的子类中只记录其父类中没有的额外的属性,且使用一个空三角箭头指向父类。子类还可以有自己的与其他类的联系。 例:电影子类的UML 子类分离是分离的、局部的,因为许多电影既不是卡通片也不是凶杀片 7.聚集和组合 聚集 表示类与菱形端类的多对一联系; 两个类之间的一条线,末端为一个空的菱形,表示标注为0..1 组合 表示具有引用完整性的多对一联系; 两个类之间的连线,末端为一个实心的黑色菱形,表示标注为1..1 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子类到关系 考虑子类是“分离的还是重叠的”、“是完整的还是局部的”,在E/R模式方法(每个子类的关系仅有键属性和该子类属性)、面向对象方法(每个实体在一个子类的关系中)和空值法(所有子类用一个关系表示)中进行选择: 如果每一层都是分离的,用面向对象; 如果每一层既是完整又是分离的、则用面向对象只需为叶子节点构建关系; 如果层次很大并且在某些或者所有的层上是重叠的,则E/R方法是合适的。 从聚集组合到关系 聚集和组合表示的是多对一的关联。 不为聚集和组合构建任何关系,将菱形端类的键属性添加到非菱形端类中,在聚集(而非组合)情况下,这些属性可以为空。 转化为如下的关系模式: MoviesExecs (cert#, name, address, networth) Studios (name, address) Movies (title, year, length, genre, studioName) Presidents (cert#, studioName) UML中的支持组合 UML中的支持组合是指“弱”类(不提供键属性的类)与“支持”类之间的具有引用完整性的多对一联系; 支持组合的标注:使用一个带有字母“PK”的弱类框作为一个支持
文档评论(0)