public class DataBase { public static void main() { } } /* 7.6 转换为关系模式 7.6.1 具有简单属性的强实体集的表示 */ /* 7.6.2 具有复杂属性的强实体集的表示 复合属性: 复合属性会被拆解 多值属性: 为了多值属性,我们需要创建新的关系模式。对于一个多值属性M,构建关系模式R, 该模式包含一个对应与M的属性A,以及对应于M所在的实体集或联系集的主码的属性。 另外,在多值属性构建的关系模式上建立外码约束,由实体集的主码所生成的属性 去参照实体集所生成的关系。 派生的属性: 派生的属性并不在关系数据模型中显式的表示出来 */ /* 7.6.3 弱实体集的表示: 设A是具有属性a1 a2 a3的弱实体集,设B是A所依赖的强实体集,设B的主码包括属性b1 b2 b3。我们用名为A的关系模式表示实体集A,该模式的每一个属性对应以下集合的一个 成员: {a1 a2 a3}U{b1 b2 b3} 对于从弱实体集转换而来的模式,该模式的主码由其所依赖的强实体集的主码和若实体集 的分辨符组合而成。出来创建主码之外,还要在关系模式A上创建外码约束,该约束指明属 性b1 b2 b3参照关系B的主码。外码约束保证表示弱实体的每个元祖都有一个表示相应强 实体的元祖与之对应。 */ /* 7.6.4 联系集的表示 选择方案: 1.多对多:参与实体集的主码属性的并集称为主码 2.一对一:参与实体集的任意主码都可作为主码 3.多对一:选择多的那一方参与实体的主码构成主码 4.对于没有箭头的n元联系集:所有参与实体集的主码属性的并集构成主码 5.对于边上有箭头的n元实体集:选择没有箭头的那一侧实体集的主码 我们还在关系模式R上建立外码约束: 对于每个与联系集R相关的实体集E,我们建立一个关系模式R上的外码约束 7.6.4.1 模式的冗余 7.6.4.2 模式的消除 */