要性。 当采取了优化步骤后,我们需要修改模型以保持一致性。 7.7类与关系数据库表的映射 由于目前关系型数据库是存取数据的主要方式,因此将类映射成相应的表结 构就非常有必要。其规则如下: 1.带有简单数据结构的类,将这些类直接变成表: ●将对象标识符变成主键:为每一个对象生成唯一的标识符,可以作为保存对 象的关系型表中的主键可以使用各种方案使得每一个对象有唯一的D) ●为每一个属性定义相应的字段 2.如果类(集合类)的定义中将其他类(嵌套类)的实例作为属性: ●为嵌套类创建单独的表,嵌套类的对象被分配唯一的对象D ·集合类对应一张表,每个对象具有唯一ID ●创建含有两列的表,第一列保存包含集合的对象的对象标识符:第二列保存 保存在集合中的对象的对象标识符。 3.关联关系的映射: (1)一对多关联:与情形2一样处理 (2)多对多关联:创建一个含有两列的表,每一行包含一对对象标识符,对于 参与关联的对象各有一个; (3)一对一关联:将另一关联的类的标识符作为外键。 4.继承结构 将继承结构映射为关系型数据库表有三种方法: ●只是将超类实现为表,所有子类的额外的属性也将变成超类表的属性,保存 它们没有使用的空值。该方法最适用于子类与超类相比,在行为方面比属性 方面差别更大的情况。需要有ype属性以表明每一行表示哪个子类。 ●只将子类实现为表。超类的属性保存在所有子类的表中。这只是在超类是抽 象的、并且没有实例的情况下可行。 ● 将所有的类(子类和超类)实现为表。要为子类检索数据,子类自己的表和超 类的表都需要访问。同样,在超类表中需要type属性。要性。 当采取了优化步骤后,我们需要修改模型以保持一致性。 7.7 类与关系数据库表的映射 由于目前关系型数据库是存取数据的主要方式,因此将类映射成相应的表结 构就非常有必要。其规则如下: 1. 带有简单数据结构的类,将这些类直接变成表: 将对象标识符变成主键:为每一个对象生成唯一的标识符,可以作为保存对 象的关系型表中的主键(可以使用各种方案使得每一个对象有唯一的 ID) 为每一个属性定义相应的字段 2. 如果类(集合类)的定义中将其他类(嵌套类)的实例作为属性: 为嵌套类创建单独的表,嵌套类的对象被分配唯一的对象 ID 集合类对应一张表,每个对象具有唯一 ID 创建含有两列的表,第一列保存包含集合的对象的对象标识符;第二列保存 保存在集合中的对象的对象标识符。 3. 关联关系的映射: (1) 一对多关联:与情形 2 一样处理 (2)多对多关联:创建一个含有两列的表,每一行包含一对对象标识符,对于 参与关联的对象各有一个; (3)一对一关联:将另一关联的类的标识符作为外键。 4. 继承结构 将继承结构映射为关系型数据库表有三种方法: 只是将超类实现为表,所有子类的额外的属性也将变成超类表的属性,保存 它们没有使用的空值。该方法最适用于子类与超类相比,在行为方面比属性 方面差别更大的情况。需要有 type 属性以表明每一行表示哪个子类。 只将子类实现为表。超类的属性保存在所有子类的表中。这只是在超类是抽 象的、并且没有实例的情况下可行。 将所有的类(子类和超类)实现为表。要为子类检索数据,子类自己的表和超 类的表都需要访问。同样,在超类表中需要 type 属性