ch4高级数据库模型2(UML、ODL).ppt
《ch4高级数据库模型2(UML、ODL).ppt》由会员分享,可在线阅读,更多相关《ch4高级数据库模型2(UML、ODL).ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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为了区分一个类在自关联中表现的不同角色,分别给这个为了区分一个类在自关联中表现的不同角色,分别给这个关联的两端一个名字。关联的两端一个名字。n例例4.38 电影续集的关联电影续集的关联5.关联类关联类nUML中的关联类对应联系的属性,关联类放置关中的关联类对应联系的属性,关联类放置关联的中间,拥有自己的名字,其属性是它依附的联的中间,拥有自己的名字,其属性是它依附的关联的属性。关联的属性。n例例4.39 某个
5、影星参演某部影片的薪水。某个影星参演某部影片的薪水。6.UML中的子类中的子类n子类的特点:子类的特点:完整对局部:每个类的对象是否是该子类的一完整对局部:每个类的对象是否是该子类的一个成员?个成员?分离对重叠:一个对象能够出现在两个子类中分离对重叠:一个对象能够出现在两个子类中吗?吗?n面向对象系统中的子类是分离的,而面向对象系统中的子类是分离的,而E/R模型允许模型允许重叠子类;重叠子类;nE/R模型和面向对象系统都允许完整的或者局部的模型和面向对象系统都允许完整的或者局部的子类。子类。nUML的子类中只记录其父类中没有的额外的属性,的子类中只记录其父类中没有的额外的属性,且使用一个空三角
6、箭头指向父类。子类还可以有且使用一个空三角箭头指向父类。子类还可以有自己的与其他类的联系。自己的与其他类的联系。n例例4.40 7.聚集和组合聚集和组合n聚集聚集表示类与菱形端类的多对一联系;表示类与菱形端类的多对一联系;两个类之间的一条线,末端为一个空的菱形,两个类之间的一条线,末端为一个空的菱形,表示标注为表示标注为0.1n组合组合表示类与菱形端类的一对一联系;表示类与菱形端类的一对一联系;两个类之间的连线,末端为一个实心的黑色菱两个类之间的连线,末端为一个实心的黑色菱形。形。n例例4.418.UML图到关系的转化图到关系的转化n类到关系类到关系为每个类创建一个关系,关系名为类名,关系的属
7、性为每个类创建一个关系,关系名为类名,关系的属性为类的属性。为类的属性。n关联到关系关联到关系为每个关联创建一个名字为关联名的关系,关联的属为每个关联创建一个名字为关联名的关系,关联的属性是两个连接类的键属性;性是两个连接类的键属性;如果有关联类附在联系上,则关系的属性中应包括关如果有关联类附在联系上,则关系的属性中应包括关联类的属性。联类的属性。该该UML转化为如下的关系模式:转化为如下的关系模式:Movies(title,year,length,genre)Stars(name,address)Studio(name,address)Stars-In(movieTitle,movieYea
8、r,starName)Owns(movieTitle,movieYear,studioName)UML转化为如下的关系模式:转化为如下的关系模式:Movies(title,year,length,genre)Stars(name,address)Stars-in(movieTitle,movieYear,starName,salary,residuals)从从UML子类到关系子类到关系n考虑子类是考虑子类是“分离的还是重叠的分离的还是重叠的”、“是完整的还是完整的还是局部的是局部的”,在,在E/R模式方法、面向对象方法和空模式方法、面向对象方法和空值法中进行选择:值法中进行选择:如果每一层都是
9、分离的,用面向对象;如果每一层都是分离的,用面向对象;如果每一层既是完整又是分离的、则用面向对象只需为如果每一层既是完整又是分离的、则用面向对象只需为叶子节点构建关系;叶子节点构建关系;如果层次很大并且在某些或者所有的层上是重叠的,则如果层次很大并且在某些或者所有的层上是重叠的,则E/R方法是合适的。方法是合适的。从聚集组合到关系从聚集组合到关系n聚集和组合表示的是多对一的关联。聚集和组合表示的是多对一的关联。n不为聚集和组合构建任何关系,将菱形端类的键不为聚集和组合构建任何关系,将菱形端类的键属性添加到非菱形端类中,在聚集属性添加到非菱形端类中,在聚集(而非组合而非组合)情情况下,这些属性可
10、以为空。况下,这些属性可以为空。转化为如下的关系模式:转化为如下的关系模式:Studios(name,address)Movies(title,year,length,genre,studioName)MoviesExecs(cert#,name,address,networth)Presidents(cert#,studioName)UML中的支持组合中的支持组合nUML中的支持组合是指中的支持组合是指“弱弱”类类(不提供键属性的不提供键属性的类类)与与“支持支持”类之间的具有引用完整性的多对一类之间的具有引用完整性的多对一关系;关系;n支持组合的标注:使用一个带有字母支持组合的标注:使用一
11、个带有字母“PK”的弱的弱类框作为一个支持组合的锚,其含义是在组合另类框作为一个支持组合的锚,其含义是在组合另外一端的支持类的键属性是弱类键的一部分,连外一端的支持类的键属性是弱类键的一部分,连同弱类的任一属性被标记为同弱类的任一属性被标记为“PK”。对应的关系模式为:对应的关系模式为:Studios(name,address)Crews(number,crewChief,studioName)4.1 数据库系统设计概述数据库系统设计概述4.2 E/R模型模型4.3 UML统一建模语言统一建模语言4.4 对象定义语言对象定义语言ODL1.ODL简介简介(1)n一种基于文本的使用面向对象术语描述
12、数据库一种基于文本的使用面向对象术语描述数据库结构的语言。结构的语言。n类声明类声明关键词关键词class、类名、类的特性列表、类名、类的特性列表 class ;这里的特征可以是属性、联系或者方法。这里的特征可以是属性、联系或者方法。ODL简介简介(2)nODL中的属性中的属性属性的声明由关键字属性的声明由关键字attribute、属性的类型和名字表、属性的类型和名字表示。示。可以是基本数据类型,也可以是复杂类型;可以是基本数据类型,也可以是复杂类型;n例例4.2,原子类型的属性,原子类型的属性n例例4.3,address是非原子类型的属性是非原子类型的属性nODL中的联系中的联系ODL联系的
13、声明通过关键字联系的声明通过关键字relationship、类型和联系、类型和联系名字来声明。名字来声明。联系类型描述类的一个单个对象与这个联系连接;联联系类型描述类的一个单个对象与这个联系连接;联系类型可以是另外一个类系类型可以是另外一个类(多对一多对一)或者一个集合类型或者一个集合类型(一对多或多对多一对多或多对多)。一个:类一个:类/对象名对象名|一组:一组:Set relationship Studio ownedBy;例例4.48,relationship Set stars;该行对应一个联系定义,放在该行对应一个联系定义,放在Movie类的声明中,表示类的声明中,表示每个每个Mov
14、ie对象和一组对象和一组Star对象连接。对象连接。ODL简介简介(3)n联系的多重性联系的多重性和和E/R中的二元联系类似,可分为多对一、一对一和多中的二元联系类似,可分为多对一、一对一和多对多;对多;不同类型对应的两个联系声明中分别使用不同类型对应的两个联系声明中分别使用“Set”(多)和(多)和“类型名类型名”(一)的不同组合;(一)的不同组合;“多多”可以是可以是“零零”,表示,表示“任一个子集(包括空集)任一个子集(包括空集)均可均可”例例4.50,仍然针对图,仍然针对图4-45中的两对联系:中的两对联系:Stars和和starredIn是多对多的,是多对多的,ownedBy和和ow
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch4 高级 数据库 模型 UML ODL
限制150内