《统一建模语言UML》课程教学课件(PPT讲稿)UML模型与数据库间的映射关系

UML模型到关系数据库的映射
UML模型到关系数据库的映射

主键的生成(1) 将UML模型中的类映射成数据库中的表时,有两 种方法定义其对应的主键: ■第一种方法是将对象标识符映射为主键:在将UML 中的类映射为关系数据库中的表时,每张表中都增加一 个对象标识符列,该对象标识符列作为表的主键 ■第二种方法是将对象的某些属性映射为主键:也即 将类的某些属性映射为关系数据库中表的主键。这种方 法得到的主键具有一定的内在含义,从而为数据库的调 试和维护提供了方便。但这种主键的修改比较困难,它 们的修改可能要涉及到许多外键的修改 把 2
2 将UML模型中的类映射成数据库中的表时, 有两 种方法定义其对应的主键 : ◼ 第一种方法是将对象标识符映射为主键:在将UML 中的类映射为关系数据库中的表时,每张表中都增加一 个对象标识符列,该对象标识符列作为表的主键 ◼ 第二种方法是将对象的某些属性映射为主键:也即 将类的某些属性映射为关系数据库中表的主键。这种方 法得到的主键具有一定的内在含义,从而为数据库的调 试和维护提供了方便。但这种主键的修改比较困难,它 们的修改可能要涉及到许多外键的修改 主键的生成(1)

主键的生成(2) ■如果一个数据库应用程序的UML模型中有30个 以上的类,那么最好使用第一种方法得到关系 数据库中表的主键。对较小的数据库应用而言, 两种映射方案都可以
3 ◼ 如果一个数据库应用程序的UML模型中有30个 以上的类,那么最好使用第一种方法得到关系 数据库中表的主键。对较小的数据库应用而言, 两种映射方案都可以 主键的生成(2)

属性到列的映射 ■UML模型中类的属性映射为关系数据库表中的零 列或几列,但并不是所有的属性都需要映射 当UL类的一个属性本身就是对象时(如类 Customer中包含一个作为其属性的Address对 象),就要将它映射为数据库表中的几列 ■也可将几个属性映射成数据库表中的一个列
4 ◼ UML模型中类的属性映射为关系数据库表中的零 列或几列,但并不是所有的属性都需要映射 ◼ 当UML类的一个属性本身就是对象时(如类 Customer中包含一个作为其属性的Address对 象),就要将它映射为数据库表中的几列 ◼ 也可将几个属性映射成数据库表中的一个列 属性到列的映射

类到表的映射(1) 在将类映射为关系数据库中的表时,可采 取如下四种方法来处理类之间的继承关系: 所有的类均映射为数据库中的表 1■ 除无属性的类外的所有类均映射为数 据库表 将超类的属性下移 将子类的属性上移
5 在将类映射为关系数据库中的表时,可采 取如下四种方法来处理类之间的继承关系: ◼ 所有的类均映射为数据库中的表 ◼ 除无属性的类外的所有类均映射为数 据库表 ◼ 将超类的属性下移 ◼ 将子类的属性上移 类到表的映射(1)

结构映射:类到表的映射 所有的类均映射为数据库中的表(1) 为每个超类和子类都创建一张表,这些表共 享一个公共的主键。这种方法很好地体现了面向 对象的概念,能很好地支持多态性。对于对象可 能充当的每个角色,只需要在合适的表中保存相 应的记录。修改超类和添加新的子类也非常容易 6
6 为每个超类和子类都创建一张表,这些表共 享一个公共的主键。这种方法很好地体现了面向 对象的概念,能很好地支持多态性。对于对象可 能充当的每个角色,只需要在合适的表中保存相 应的记录。修改超类和添加新的子类也非常容易 结构映射:类到表的映射 所有的类均映射为数据库中的表(1)

:所有的类均映射为数据库中的表(2) Employee name taxpay erNumber A Pilot FlightAttendant flight Rating Employee table employeelD name taxpayer Number employeeType Pilot table FlightAttendant table pilotID flightAttendantID (references flight Rating (references Employee) Employee) 7
7 Employee name taxpayerNumber Pilot flightRating FlightAttendant employeeID name taxpayer Number employeeType Employee table pilotID (references Employee) flightRating flightAttendantID (references Employee) Pilot table FlightAttendant table 所有的类均映射为数据库中的表(2)

类到表的映射 所有的类均映射为数据库中的表(③) 由于每个类都被映射为一张表,从而导致数据 库中包含有大量的表 ■由于经常需要访问多张表,因此数据的读取和 写入时间比较长。如果通过将类层次结构中的 每个表存放在不同物理磁盘中来智能地组织数 据库,那么可缓解这个问题 除非添加一些视图来模拟所需的表,否则数据 库的报表生成会很困难 8
8 ◼ 由于每个类都被映射为一张表,从而导致数据 库中包含有大量的表 ◼ 由于经常需要访问多张表,因此数据的读取和 写入时间比较长。如果通过将类层次结构中的 每个表存放在不同物理磁盘中来智能地组织数 据库,那么可缓解这个问题 ◼ 除非添加一些视图来模拟所需的表,否则数据 库的报表生成会很困难 类到表的映射 所有的类均映射为数据库中的表(3)

类到表的映射 除无属性的类外的所有类均映射为数据库表(1) 在这种方法中,具有属性的类才映射为数据 库表,无属性的类不进行映射。这种方法减少 了数据库表的数量,其它方面与上一种方法大 致相同。因此,也具有上一种方法所存在的问 题
9 除无属性的类外的所有类均映射为数据库表 (1) 在这种方法中,具有属性的类才映射为数据 库表,无属性的类不进行映射。这种方法减少 了数据库表的数量,其它方面与上一种方法大 致相同。因此,也具有上一种方法所存在的问 题 类到表的映射

:除无属性的类外的所有类均映射为数据库表(2) Employee name taxpayerNumber A Pilot FlightAttendant flightRating Employee table employeelD name taxpayer Number employeeType Pilot table pilotID (referencesEmployee) flightRating 10
10 Employee name taxpayerNumber Pilot flightRating FlightAttendant employeeID name taxpayer Number employeeType Employee table pilotID (referencesEmployee) flightRating Pilot table 除无属性的类外的所有类均映射为数据库表 (2)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《统一建模语言UML》课程教学课件(PPT讲稿)01.引言.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)02.UML概述.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)03.UML概念模型.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)04.用例图.ppt
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)27C040-EPROM-存储器芯片.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)74HC245-三态双向数据缓冲器.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)74HC244 三态单向数据缓冲器.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)74LS373-锁存器.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)AT24Cxx_系列_EEPROM-串口存储器芯片.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)DS1302-SPI接口时钟.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)74LS164-移位寄存器-串转并.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)并口扩展芯片Intel8255A.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)MAX813L-看门狗芯片.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)ADXL330-加速度传感器.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)Intel 8253 三通道计数器芯片.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)Intel-8259A-可编程中断控制器芯片.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)基本型51,单片机89C51.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)增强型51,单片机12C5410.pdf
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)8259A-中断控制器.pdf
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第1章 AutoCAD设计基础.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)18.部署图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)17.构件图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)16.包图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)15.交互概述图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)14.活动图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)13.状态机图的应用.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)12.状态机图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)11.交互图的应用.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)10.通信图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)09.顺序图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)08.对象图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)07.类图的分析与阅读.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)06.类图.ppt
- 《统一建模语言UML》课程教学课件(PPT讲稿)05.构建用例模型.ppt
- 内蒙古科技大学:《JSP编程》课程教学大纲 JSP programming.doc
- 内蒙古科技大学:《Java编程》课程教学大纲 Java Programming.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第七章 MVC模式.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第六章 Servlet技术.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第四章 JavaBean.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第二章 JSP语法.doc
