- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
UML进行数据库设计的步骤
步骤1:
基于UML中的类图生成数据库12对象标识映射为主键属性类型映射为域
类模式是UML建模技术的核心,数据库的逻辑视图由UML类图衍生。类图是面向对象系统的建模中最常见的图之一。类图显示了一组类、接口、协作以及它们之间的关系,主要用于对系统静态设计视图建模。其中,类是面向对象系统组织结构的核心,表示被建模的应用领域中的离散概念,是具有相同结构、行为和关系的一组对象的描述符号。
步骤1.1:对象标识映射为主键设计数据库模型,合理选择主键是一个关键的问题。一般定义主键可以有两种方法:(1)为每个类增加一个对象标识符(OID)属性,将其映射为数据库中相应类表的主键。
EmployeeOIDNameSalaryPhone其中pk(primarykey)表示主键。对象标志符作为单独属性,所占空间较小而且大小相同,简化了主键选择方案,使得数据库更新时不会产生完整性问题,同时方便了数据库操作。
(2)根据客观事实,将某个属性或属性的组合作为主键。该主键具有实际意义,容易进行维护;缺点在于涉及到外键,一旦其他类发生变化,更改比较困难。
步骤1.2:属性类型映射为域
属性类型对应于数据库中的域,域的使用可使数据库设计更具一致性,优化了数据库应用的移植性。一般来说,实现简单域比较方便,只须定义相应的数据类型和空间大小类的属性描述了其所有对象共有的特性。属性的类型可以是基本数据类型,如整数、实数、布尔型等,也可以是用户自定义类型。
总结:类映射为表
通常,一个类映射为一张类表,类的属性映射为表的各列,类的对象则映射为表中的各个记录。值得注意的是存在以下两种特殊情况:(1)类的属性中某些属性只是暂时性使用,不需要在数据库中永久保存,则该类属性无须映射。(2)类的属性如果是多值,则该属性映射为多个列。另外,由于附加对象标志符OID或附加关联关系等原因,需要在表中增加一些新的列。
步骤2:
类关系的映射12关联关系映射泛化关系映射
34聚集关系映射组合关系映射
类图由一系列类、接口和它们之间的关系(依赖、泛化、关联和实现等)所组成。在将UML模型向关系数据库转换时,不仅需要转换模型中的类,还需要转换类与类之间的关系,例如,关联关系、泛化关系等。聚合关系和组合关系是特殊的关联。在设计数据库之前,对UML类图进行简化,去除一些冗余的关系。
步骤2.1:关联关系映射UML中的关联关系描述了系统中对象或实例之间的离散连接,是一种结构关系,规定了一种事物的对象可以与另一事物的对象相关联。当类参与关联时,类在关联关系中扮演一个特定的角色
(1)一对一关联:AB11表示A的一个对象与B的一个对象关联。在这种情况下,可在两个类中任意选择一方,在其所对应的类表中添加一个外键fk(foreignkey),指向另一方所对应类表中的主键,从而实现两张类表之间的连接,将关联关系成功映射到数据库中。需要注意的是,不要在两个表中均放置对方的主键,这样会造成冗余。
(2)零或一对一关联:AB0..1*这表明B的一个对象可与0个或1个A对象发生关联,一般在A类(即对象个数为零或一的那一方)所对应的表中添加一个外键,指向另一方B类所对应的类表中的主键,建立两表之间的连接。
projectOID(mainKey)Project_NameStartdatecontactpersonOID(foreignKey)contactpersonOID(mainKey)PhoneFaxemail
(3)一对多关联:表示A的一个对象与B的多个对象关联,这种关联关系可以通过在B类(即具有多个对象的类)所对应的类表中增加一个外键,指向另一方A类的主键,从而建立两个表之间的关联。AB1*
3、UML中类关系的映射策略projectOID(mainKey)Project_NameStartdateTaskOID(mainKey)Task_nameStartdateenddateprojectOID(foeignKey)
(4)多对多关联:AB**实现多对多关联,通常需要建立一个关联表,映射关联对象,从而将多对多关联转化为两个一对多关联。实现时,在新建的关联表中设置一个对象标志符OID,同时增加两个外键,分别指向初始关联的两个类对应表的主键。
studentOID(mainKey)student_NameenroldatecourseOID(mainKey)Course_nameTextbookStuCouOID(mainKey)studentOID(foreignKey)courseOID(f
文档评论(0)