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 模式的消除
 */