欢迎来到天天文库
浏览记录
ID:59197606
大小:4.32 MB
页数:73页
时间:2020-09-26
《第10章UML数据建模ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章数据建模第10章数据建模第10章数据建模2主要内容:关系数据库模型的概念面向对象数据模型到关系设计模型的转换映射面向对象数据模型中类、类之间的关系到关系数据库设计模型的转换方法与步骤利用Rose完成面向对象系统的数据库设计与建模第10章数据建模3对于一个面向对象的系统,持久对象的存储依赖于面向对象数据库系统来完成,但至今还没有公认的面向对象数据库管理系统。目前成熟的商业数据库都是关系数据库,可以用关系数据库来代替面向对象数据库系统。数据库设计是系统开发的关键部分,系统数据库设计的关键就是完成面向对象数据模型到关系数据库设计模型的转换。作为一个面向
2、对象的信息管理系统,数据库设计是系统开发的关键部分,好的数据库设计有助于保证系统数据的整体性、完整性和共享特性。目前成熟的商业数据库都是关系数据库,本章以MicrosoftSQLServer2000关系数据库管理系统为例作简要介绍。10.1基本概念第10章数据建模4数据库数据的总体逻辑结构称为模式(Schemas)。关系数据库数据的总体逻辑结构是关系模式,这些数据结构的关系模式通过各种表来描述。一个面向对象的系统,要利用关系数据库来表示对象模型需要进行一定的转换,即把面向对象模式的数据模型转换成关系模式的数据模型。其思想可以用如图所示的建模方法表示。第1
3、0章数据建模5面向对象系统的类模型向关系数据库模式转换的映射方式主要包括两方面的映射:一种是对象类的映射。另一种是类之间关系的映射。10.1.1对象类映射第10章数据建模6对象类映射主要是指对象标识、属性类型和类三个方面的映射。对象标识符(OID)映射为一张表的主键,如果类中缺少对象标识可以为每个类增加一个对象标识符属性,并将其映射为数据库中相应表的主键。属性类型映射对应于数据库相应表中的域,域的使用可使数据库设计更具一致性,优化数据库应用的可移植性。在实际应用中应为映射域的约束条件加入SQL语句,用以约束、检查域的取值。类映射为一张数据库表,类的属性映
4、射为表的各列(各个域),类的对象映射为表中的各条记录。第10章数据建模7注意下面几种特殊情况:类的属性中某些属性只是暂时性使用,不需要在数据库中永久保存,则该类属性无须映射。类由于附加对象标识符OID或附加关联关系等原因,需要在表中增加一些新的列(域)。映射后的列(域)应符合关系模型的范式要求,如果不符合则需要应用范式设计理论优化,以达到较好的数据冗余、数据完整性以及灵活性。10.1.2类间关系映射第10章数据建模8类间关系映射相对对象类映射更复杂一些。类间关系包括关联、聚集、泛化、组合等。关联关系映射关联关系描述了系统中对象或实例之间的离散连接,是一种
5、结构关系,关联涉及的对象数目称为阶元,阶元的大小反映了关联的多重性。第10章数据建模9根据阶元不同关联关系可以分为一对一、一对多和多对多等关联。对象类间的一对一关联。可以在两个对象类转换成的关系模式中的任意一个模式内加入一个外键,指向另一个模式的主键,即可建立两个表之间的连接。对象类间的一对多关联。可以通过在具有多个对象的类的关系模式中加入一个外键,指向另一模式的主键建立两个表的连接。实现对象类间的多对多关联。需要将类之间的关联也设计成一个类——关联类,把一个多对多的关联转化成两个一对多的关联。引入的该关联类映射为关系数据库中的一个关联表,用来映射关联对
6、象。在新增的关联表中设置一个标识符作为主键,加入两个外键分别指向初始关联的两个关系模式表的主键。第10章数据建模10聚集关系映射聚集是一种特殊的关联关系,表示“has-a”关系。将这种关系映射到关系模式时可分为两种情况:聚集关系较为紧密的情况下两个类可以映射到一张表中。聚集关系较为松散的时候可以参照一对多关联的映射方法,在子类映射的表中增加一个指向超类类表主键的外键。第10章数据建模11泛化关系映射对于泛化关系的映射有三种方法。一种是把类层次映射成一张表,泛化关系中的所有类都映射在单个表中,同时增加一个对象标识符和一个用于标识角色类型的对象类型。这种方法
7、的耦合度高。另一种方法是每个子类映射为单个表,将超类的属性复制到子类中。在各子类中增加各自的对象标识符。这种方法的耦合度也比较高。第三种方法是每个类映射为单个表,每张表中的对象标识符都设为超类的类表中的对象标识符,在子类的类表中,对象标识符既是主键又是外键。这种方法将创建过多的表,增加数据库访问时间。第10章数据建模12组合关系映射组合关系是一种特殊的聚集关系,表示“contains-a”关系。向关系模式的映射可以参照聚集关系。此时整体和部分的所有关系存在很强相互依赖和—致的生命周期(共生死),子类(部分)映射成的子表的外键不能为空。UML中的动态结构转
8、换成关系数据模式时可能映射成唯一性约束、主键约束、外键约束、检查约束、索引或者触
此文档下载收益归作者所有