版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML与数据库设计UML模型与数据库设计之间的关系UML中的类映射为数据库表的策略UML中的类关系的映射策略在理想情况下,组织对象数据库的最好方式是直接存储对象及其属性、行为和关联。这种数据库称为面向对象数据库。面向对象型数据库管理系统〔ODBMS〕在理论是可用的,但还存在相对有限的有效性等问题,而传统型的数据库其理论已经相当成熟,其性能非常可靠并且已经被广泛应用。1、UML模型与数据库设计之间的关系数据库目前面临的问题数据处理中的传统数据库应用具有简单数据类型相对较少的数据类型,第一范式成立近年来复杂数据类型越来越重要例如:地址可处理为单个字符串,或者为每个子局部用一单独的属性,或者复合属性(不属于第一范式)例如:允许直接存储多值属性而不是创立单独的第一范式关系存储通常更方便1、UML模型与数据库设计之间的关系应用CAD,CASE多媒体与图像数据库文档/超文本数据库1、UML模型与数据库设计之间的关系1、UML模型与数据库设计之间的关系随着面向对象技术的开展,E-R模型有诸多的局限性;传统的E-R模型结构简单,一般只针对数据进行建模。随着数据库规模的扩大,简单的E-R模型结构无法清晰地分析和描述问题,导致系统开发难度系数增大。把UML与关系数据库设计相结合,将数据库设计统一于面向对象的软件分析设计过程中,以提高系统开发的效率。UML不仅可以完成E-R图可以做的所有建模工作,而且可以描述其不能表示的关系。E-R图表示法存在的问题1、UML模型与数据库设计之间的关系E-R图只描述实体之间的关联关系,而UML对象之间的关系不仅仅是关联关系,还有泛化、组合和聚合等更为复杂的描述。由于E-R模型结构与关系型数据结构是同构的,所以上述统一建模过程的关键在于将更为复杂的UML数据结构如何转化为关系型数据结构。UML在对系统数据进行逻辑建模时,一般采用类模式来实现。
类模式是UML建模技术的核心,数据库的逻辑视图由UML类图衍生。基于UML中的类图生成数据库1、UML模型与数据库设计之间的关系现在的开发环境大多是面向对象的,而存储机制往往是基于功能分解的关系型数据库,同时在DBMS(DatabaseManagementSystem)支持的数据库模型中,关系型数据库是最普遍的,目前较为流行的对象关系数据库模型也是关系数据库模型的一个扩展。ORACLE8iDB2-52、UML中的类映射为数据库表的策略类图是面向对象系统的建模中最常见的图之一。类图显示了一组类、接口、协作以及它们之间的关系,主要用于对系统静态设计视图建模。其中,类是面向对象系统组织结构的核心,表示被建模的应用领域中的离散概念,是具有相同结构、行为和关系的一组对象的描述符号。2、UML中的类映射为数据库表的策略2.1对象标识映射为主键设计数据库模型,合理选择主键是一个关键的问题。一般定义主键可以有两种方法:(1)为每个类增加一个对象标识符(OID)属性,将其映射为数据库中相应类表的主键。2、UML中的类映射为数据库表的策略其中<<pk>>(primarykey)表示主键。对象标志符作为单独属性,所占空间较小而且大小相同,简化了主键选择方案,使得数据库更新时不会产生完整性问题,同时方便了数据库操作。EmployeeOIDNameSalaryPhone2、UML中的类映射为数据库表的策略(2)根据客观事实,将某个属性或属性的组合作为主键。该主键具有实际意义,容易进行维护;缺点在于涉及到外键,一旦其他类发生变化,更改比较困难。2、UML中的类映射为数据库表的策略2.2属性类型映射为域类的属性描述了其所有对象共有的特性。属性的类型可以是根本数据类型,如整数、实数、布尔型等,也可以是用户自定义类型。属性类型对应于数据库中的域,域的使用可使数据库设计更具一致性,优化了数据库应用的移植性。一般来说,实现简单域比较方便,只须定义相应的数据类型和空间大小2、UML中的类映射为数据库表的策略2.3类映射为表通常,一个类映射为一张类表,类的属性映射为表的各列,类的对象那么映射为表中的各个记录。值得注意的是存在以下两种特殊情况:(1)类的属性中某些属性只是暂时性使用,不需要在数据库中永久保存,那么该类属性无须映射。(2)类的属性如果是多值,那么该属性映射为多个列。另外,由于附加对象标志符OID或附加关联关系等原因,需要在表中增加一些新的列。3、UML中类关系的映射策略类图由一系列类、接口和它们之间的关系(依赖、泛化、关联和实现等)所组成。在将UML模型向关系数据库转换时,不仅需要转换模型中的类,还需要转换类与类之间的关系,例如,关联关系、泛化关系等。聚合关系和组合关系是特殊的关联。在设计数据库之前,对UML类图进行简化,去除一些冗余的关系。3、UML中类关系的映射策略3.1关联关系映射UML中的关联关系描述了系统中对象或实例之间的离散连接,是一种结构关系,规定了一种事物的对象可以与另一事物的对象相关联。当类参与关联时,类在关联关系中扮演一个特定的角色。3、UML中类关系的映射策略(1)一对一关联:表示A的一个对象与B的一个对象关联。在这种情况下,可在两个类中任意选择一方,在其所对应的类表中添加一个外键<<fk>>(foreignkey),指向另一方所对应类表中的主键,从而实现两张类表之间的连接,将关联关系成功映射到数据库中。需要注意的是,不要在两个表中均放置对方的主键,这样会造成冗余。AB113、UML中类关系的映射策略(2)零或一对一关联:AB0..1*这说明B的一个对象可与0个或1个A对象发生关联,一般在A类(即对象个数为零或一的那一方)所对应的表中添加一个外键,指向另一方B类所对应的类表中的主键,建立两表之间的连接。3、UML中类关系的映射策略projectOID(mainKey)Project_NameStartdatecontactpersonOID(foreignKey)contactpersonOID(mainKey)PhoneFaxemail3、UML中类关系的映射策略(3)一对多关联:表示A的一个对象与B的多个对象关联,这种关联关系可以通过在B类(即具有多个对象的类)所对应的类表中增加一个外键,指向另一方A类的主键,从而建立两个表之间的关联。AB1*3、UML中类关系的映射策略projectOID(mainKey)Project_NameStartdateTaskOID(mainKey)Task_nameStartdateenddateprojectOID(foeignKey)3、UML中类关系的映射策略(4)多对多关联:AB**实现多对多关联,通常需要建立一个关联表,映射关联对象,从而将多对多关联转化为两个一对多关联。实现时,在新建的关联表中设置一个对象标志符OID,同时增加两个外键,分别指向初始关联的两个类对应表的主键。3、UML中类关系的映射策略studentOID(mainKey)student_NameenroldatecourseOID(mainKey)Course_nameTextbookStu&CouOID(mainKey)studentOID(foreignKey)courseOID(foreignKey)3、UML中类关系的映射策略3.2泛化关系映射泛化关系是一种存在于一般元素和特殊元素之间的分类关系,它只使用在类型上,而不是实例上。在类中,一般元素被称为超类或父类,而特殊元素被称为子类。从实现的角度来看,UML的泛化表达了分类与继承原那么,与面向对象程序设计语言中的继承性概念相关。一个子类继承超类的全部属性和方法,一个子类本身又可以有自己的子类,从而构成复杂的一般/特殊结构。在关系数据库模型中没有直接的方法实现泛化,可以通过3种方法实现其映射。3、UML中类关系的映射策略(1)类层次映射为单个表通过这种方法,将泛化关系中所有类都映射在单个表中,所有类的属性都保存在该表中;同时在表中增加一个对象标志符OID,以及一个对象类型,用以标识角色类型Person_OID(mainKey)objectTYPENamestu_idsalary3、UML中类关系的映射策略(2)每个子类映射为单张表将超类属性分别复制到各个子类中,这样每个子类既包含自身属性,又包含超类属性,同时在各个子类中增设各自的对象标志符OID,从而实现映射。在这个过程中,超类不需要参与映射。Stu_OID(mainKey)NameTeacher_OID(mainKey)namesalary3、UML中类关系的映射策略(3)每个类映射为单张表为每个类都建一张表,但每张表中的对象标志符OID都设为超类的类表中的OID。在子类的类表中,OID既是主键又是外键,各自属性不变。person_OID(mainKey)NamePerson_OID(main&ForeignKey)salaryPerson_OID(main&ForeignKey)stu_id3、UML中类关系的映射策略3.3聚集关系映射聚集是一种特别类型的关联,用于描述“总体到局部”的关系。在根本的聚集关系中,局部类的生命周期独立于整体类的生命周期。属于“hasa”关系较弱的情况。将这种关系映射到关系数据库中,可分为两种情况:一种是聚集关系较为紧密的情况下,可将其映射在一张表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙房屋买卖合同2025年
- 事业单位转正聘用合同(2025年)
- 2025的融资居间合同范本
- 2024年有机化肥产品质量检测与售后服务合同3篇
- 艺术品设计合同的保护措施
- 2025年酒店消防工程安装承包合同书
- 2024年创新型项目债权抵押贷款合同书3篇
- 2024年中小企业融资债权处置合同3篇
- 2025年企业融资服务委托合同书
- 公司股权收购居间合同2025年
- 2024年高考政治选必二《法律与生活》重要知识问题梳理总结
- 孕早期nt检查课件
- 期末复习(试题)-2024-2025学年三年级上册数学苏教版
- 检验科新进人员岗前培训
- 小红书种草营销师模拟题及答案(单选+多选+判断)
- 2024年家装家居行业解决方案-淘天集团
- 2022年新高考I卷读后续写David's run公开课课件-高三英语一轮复习
- 《论语》导读(复旦版)学习通超星期末考试答案章节答案2024年
- 民生银行社招在线测评题
- 杰士德在线测评题
- 粮油食材配送投标方案(大米食用油食材配送服务投标方案)(技术方案)
评论
0/150
提交评论