ch4_高级数据库模型_2(UML、ODL).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《ch4_高级数据库模型_2(UML、ODL).ppt》由会员分享,可在线阅读,更多相关《ch4_高级数据库模型_2(UML、ODL).ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.1 数据库系统设计概述数据库系统设计概述4.2 E/R模型模型4.3 UML统一建模语言统一建模语言4.4 对象定义语言对象定义语言ODLnUML(Unified Modeling Language)从面向对象从面向对象软件设计的图形化标注工具发展为数据库设计描述软件设计的图形化标注工具发展为数据库设计描述的标注。的标注。n除了多路联系外,除了多路联系外,UML提供了与提供了与E/R模型相同的能模型相同的能力。力。UMLE/R模型模型类类实体集实体集关联关联二元联系二元联系关联类关联类联系的属性联系的属性子类子类isa层次层次聚集聚集多对一联系多对一联系组合组合具有引用完整性的多对一具有引
2、用完整性的多对一1.UML类类nUML中的类与中的类与E/R模型中的实体集类似。模型中的实体集类似。n一个类框分为三部分:一个类框分为三部分:顶部:类名顶部:类名中间:属性中间:属性底部:方法底部:方法Moviestitle PKyear PKlengthgenre2.UML类的键类的键n指定指定UML中类的主键,是在每个键属性的后面加中类的主键,是在每个键属性的后面加上关键字上关键字PK。3.关联关联n类之间的二元联系称为关联。类之间的二元联系称为关联。UML中没有多路联系,一中没有多路联系,一个多路联系由多个二元联系表示。个多路联系由多个二元联系表示。n两个两个UML类之间的关联通过在两个
3、类之间划一条线来表类之间的关联通过在两个类之间划一条线来表示,并在线下方给出名字。示,并在线下方给出名字。n关联类中连接对象的数量有一定的约束,该约束通过在连关联类中连接对象的数量有一定的约束,该约束通过在连接线的末端用一个接线的末端用一个m.n标签表示,表示至少标签表示,表示至少m个、至多个、至多n个个对象与另外一端的对象连接。对象与另外一端的对象连接。m.m.*表示无上限表示无上限0.0.*表示对象的数目没有任何约束表示对象的数目没有任何约束如果在关联的末端没有任何标签,那么相当于如果在关联的末端没有任何标签,那么相当于1.11.1,即,即“有有且只有一个且只有一个”n例4.360.10.
4、*n例例4.37 在在UML中表达引用完整性中表达引用完整性4.自关联自关联n一个关联的两端可以连接同一个类,这样的关联称为自关一个关联的两端可以连接同一个类,这样的关联称为自关联。联。n为了区分一个类在自关联中表现的不同角色,分别给这个为了区分一个类在自关联中表现的不同角色,分别给这个关联的两端一个名字。关联的两端一个名字。例:例:电影续集的关联电影续集的关联5.关联类关联类nUML中的关联类对应联系的属性,关联类放置关中的关联类对应联系的属性,关联类放置关联的中间,拥有自己的名字,其属性是它依附的联的中间,拥有自己的名字,其属性是它依附的关联的属性。关联的属性。例:例:某个影星参演某部影片
5、的薪水。某个影星参演某部影片的薪水。6.UML中的子类中的子类nUML允许一个类允许一个类C有四种不同的子类:有四种不同的子类:完整对局部:每个类完整对局部:每个类C的对象是否是该子类的的对象是否是该子类的一个成员?一个成员?分离对重叠:一个对象能够出现在两个子类中分离对重叠:一个对象能够出现在两个子类中吗?吗?n面向对象系统中的子类是分离的,而面向对象系统中的子类是分离的,而E/R模型允许模型允许重叠子类;重叠子类;nE/R模型和面向对象系统都允许完整的或者局部的模型和面向对象系统都允许完整的或者局部的子类。子类。nUML的子类中只记录其父类中没有的额外的属性,的子类中只记录其父类中没有的额
6、外的属性,且使用一个空三角箭头指向父类。子类还可以有且使用一个空三角箭头指向父类。子类还可以有自己的与其他类的联系。自己的与其他类的联系。例:例:电影子类的电影子类的UML 子类分离是分离的、局部的,因为许多电影既不是卡子类分离是分离的、局部的,因为许多电影既不是卡通片也不是凶杀片通片也不是凶杀片7.聚集和组合聚集和组合n聚集聚集表示类与菱形端类的多对一联系;表示类与菱形端类的多对一联系;两个类之间的一条线,末端为一个两个类之间的一条线,末端为一个空的菱形空的菱形,表示标注为表示标注为0.1n组合组合表示具有引用完整性的多对一联系;表示具有引用完整性的多对一联系;两个类之间的连线,末端为一个两
7、个类之间的连线,末端为一个实心的实心的黑色黑色菱形,表示标注为菱形,表示标注为1.18.UML图到关系的转化图到关系的转化n类到关系类到关系为每个类创建一个关系,关系名为类名,关系的属性为每个类创建一个关系,关系名为类名,关系的属性为类的属性。为类的属性。n关联到关系关联到关系为每个关联创建一个名字为关联名的关系,关联的属为每个关联创建一个名字为关联名的关系,关联的属性是两个连接类的键属性;性是两个连接类的键属性;如果有关联类附在联系上,则关系的属性中应包括关如果有关联类附在联系上,则关系的属性中应包括关联类的属性。联类的属性。该该UML转化为如下的关系模式:转化为如下的关系模式:Movies
8、(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子类到关系子类到关系n考虑子类是考虑子类是“分离
9、的还是重叠的分离的还是重叠的”、“是完整的还是局部的是完整的还是局部的”,在,在E/R模式方法(每个子类的关系仅有键属性和该子类模式方法(每个子类的关系仅有键属性和该子类属性)、面向对象方法(每个实体在一个子类的关系中)和属性)、面向对象方法(每个实体在一个子类的关系中)和空值法(所有子类用一个关系表示)中进行选择:空值法(所有子类用一个关系表示)中进行选择:如果每一层都是分离的,用面向对象;如果每一层都是分离的,用面向对象;如果每一层既是完整又是分离的、则用面向对象只需为如果每一层既是完整又是分离的、则用面向对象只需为叶子节点构建关系;叶子节点构建关系;如果层次很大并且在某些或者所有的层上是
10、重叠的,则如果层次很大并且在某些或者所有的层上是重叠的,则E/R方法是合适的。方法是合适的。从聚集组合到关系从聚集组合到关系n聚集和组合表示的是多对一的关联。聚集和组合表示的是多对一的关联。n不为聚集和组合构建任何关系,将菱形端类的键不为聚集和组合构建任何关系,将菱形端类的键属性添加到非菱形端类中,在聚集属性添加到非菱形端类中,在聚集(而非组合而非组合)情情况下,这些属性可以为空。况下,这些属性可以为空。转化为如下的关系模式:转化为如下的关系模式:MoviesExecs(cert#,name,address,networth)Studios(name,address)Movies(title,
11、year,length,genre,studioName)Presidents(cert#,studioName)UML中的支持组合中的支持组合nUML中的支持组合是指中的支持组合是指“弱弱”类类(不提供键属性的不提供键属性的类类)与与“支持支持”类之间的具有引用完整性的多对一类之间的具有引用完整性的多对一联系;联系;n支持组合的标注:使用一个带有字母支持组合的标注:使用一个带有字母“PK”的弱的弱类框作为一个支持组合的锚,其含义是在组合另类框作为一个支持组合的锚,其含义是在组合另外一端的支持类的键属性是弱类键的一部分,连外一端的支持类的键属性是弱类键的一部分,连同弱类的任一属性被标记为同弱类
12、的任一属性被标记为“PK”。对应的关系模式为:对应的关系模式为:Studios(name,address)Crews(number,crewChief,studioName)4.1 数据库系统设计概述数据库系统设计概述4.2 E/R模型模型4.3 UML统一建模语言统一建模语言4.4 对象定义语言对象定义语言ODL1.ODL简介简介(1)n一种基于文本的使用面向对象术语描述数据库一种基于文本的使用面向对象术语描述数据库结构的语言。结构的语言。n类声明类声明关键词关键词classclass、类名、类的特性列表类名、类的特性列表 class ;这里的特征可以是属性、联系或者方法。这里的特征可以是属
13、性、联系或者方法。ODL简介简介(2)nODL中的属性中的属性属性的声明由关键字属性的声明由关键字attributeattribute、属性的类型和名字、属性的类型和名字表示,可以是基本数据类型,也可以是复杂类型;表示,可以是基本数据类型,也可以是复杂类型;n例例2.1,原子类型的属性,原子类型的属性n例例2.2,address是非原子类型的属性是非原子类型的属性nODL中的联系中的联系ODLODL联系的声明通过关键字联系的声明通过关键字relationshiprelationship、类型和联系、类型和联系名字来声明。名字来声明。联系类型描述类的一个对象与这个联系连接;联系类型描述类的一个对
14、象与这个联系连接;联系类型可以是另外一个类联系类型可以是另外一个类(多对一多对一)或者一个集合类或者一个集合类型型(一对多或多对多一对多或多对多)。n多对一:多对一:类类/对象名对象名relationship Studio ownedBy;n一对多、多对多:一对多、多对多:Setrelationship Set stars;ODL简介简介(3)n联系的多重性联系的多重性和和E/R中的二元联系类似,可分为多对一、一对一和多中的二元联系类似,可分为多对一、一对一和多对多;对多;不同类型对应的两个联系声明中分别使用不同类型对应的两个联系声明中分别使用“Set”(多)和多)和“类型名类型名”(一)的不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch4_ 高级 数据库 模型 _2 UML ODL
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内