结构映射:类到表的映射 所有的类均映射为数据库中的表(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)