数据库设计

E-R图

E-R图绘制步骤

  1. 收集信息
  2. 标识对象:标识数据库要管理的实体。
  3. 标识每个实体的属性。
  4. 标识对象之间的关系。
  5. 标识实体集之间的映射基数(一对一、一对多、多对多)。

E-R图符号

  1. 实体(n.):长方形
  2. 属性(n.):椭圆形
  3. 关系(v.):菱形

关系模式

E-R图向关系模式转化的规则

  1. 每个实体类型即为一个关系模式,实体的属性即为关系的属性,实体的码即为关系的码。

  2. 映射基数:

    • 1 : 1 :将两个实体转换成的两个关系模式中的任意一个关系的属性中,加入另一个关系的码作为外码,以及联系关系的属性。
    • 1 : n :在n端实体转换成的关系模式中,加入1端实体的码作为外码,以及联系关系的属性。
    • m : n :将该联系关系转换成一个独立的关系模式:两端实体的码和联系关系的属性即为关系的属性,两端实体码的组合即为关系的码。
  3. 主码写在最前面,外码写在最后(但在联系关系的属性之前),主码用下划线标识。

关系模式的规范化理论

  • 第一范式(1NF):
    在同一关系表中,每个属性都不可再分。
  • 第二范式(2NF):
    表中的每个非主属性都完全依赖于主属性。
    (第二范式要求每个表只描述一件事情)
  • 第三范式(3NF):
    表中的非主属性之间不存在依赖关系。

关系模式的表示

  1. 关系模式的完整表示:R< U , D , Dom , F >
    R:关系名
    U:关系的属性集合
    D:属性集U中属性的数据域
    Dom:属性到域的映射
    F:属性集U的数据依赖集
  2. 关系模式的三元组表示:R< U , F >

函数依赖

  • 函数依赖:属性集 X 决定另一个属性集 Y 时,称属性集 Y 依赖于该属性集 X 。记作 X → \rightarrow →Y。
  • 完全函数依赖:若对于属性集 X 的每一个真子集 X’ ,都有X → \rightarrow →’Y,则成 Y 对 X 完全函数依赖。
  • 部分函数依赖:若对于属性集 X 的真子集 X’ ,存在X’ → \rightarrow →Y,则成 Y 对 X 部分函数依赖。
  • 传递函数依赖:若属性集X → \rightarrow →Y,Y ↛ \nrightarrow ↛X,Y → \rightarrow →Z,则 Z 对 X 传递函数依赖。
  • 逻辑蕴含:设 F 是模式R< U >的函数依赖集,X 和 Y 是属性集 U 的子集,若能从 F 中推出X → \rightarrow →Y,则称 F 逻辑蕴含X → \rightarrow →Y。

闭包

  • 在关系模式 R< U , F >中,为 F 所逻辑蕴含的函数依赖的全体叫做 F 的闭包,记作 F+
  • 设有关系模式 R< U , F >,X 是 U 的子集,称所有从 F 推出的函数依赖集 X → \rightarrow →Ai 中 Ai 的属性集为 X 的属性闭包,记作 XF+
    即: XF+={ Ai | Ai∈U , X → \rightarrow →Ai ∈F+}

闭包的求法

  1. 选 X 作为闭包 XF+ 的初值 XF(0)
  2. XF(i+1) = XF(i) + 集合 A 。(集合 A 为 F 中发函数依赖Y → \rightarrow →Z,A ⊆ Z,Y ⊆ XF(i) )
  3. 重复步骤2,直到 XF(i) = XF(i+1),则 XF(i) 即为所求 XF+
上一篇:Spring学习(5)---Bean的定义及作用域的注解实现


下一篇:LCA On N-ary Tree题解