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)