本文所属《数据库系统原理》分类专栏,相关文章导航请点击《数据库系统原理》目录汇总贴


(小结与习题)

一、理解并给出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(all-key)、1NF、2NF、3NF、BCNF。

  • 函数依赖
    设R(U)是属性集上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y,或Y函数依赖于X,记作X→Y。

  • 部分函数依赖
    在R(U)中,如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖。

  • 完全函数依赖
    在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有Y不函数依赖于X’,则称Y对X完全函数依赖。

  • 传递依赖
    在R(U)中,如果X→Y(Y不属于X),X不函数依赖于Y,Y→Z(Z不属于Y)则称Z对X传递函数依赖。
    U是完全函数依赖于K,而不是部分依赖于K。若U部分依赖于K,则K称为超码。候选码是最小的超码。

  • 候选码
    设K为R<U,F>中的属性或者属性组合,若U完全函数依赖于K,则K为R的候选码。

  • 主码
    若候选码多余一个,则选定其中的一个为主码。

  • 外码
    关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码。

  • 全码
    关系模式R中整个属性组是码,称为全码。

  • 1NF
    若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。

  • 2NF
    若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∈2NF。

  • 3NF
    设关系模式R<U,F>∈1NF,若R中不存在这样的码X,属性组Y及非属性组Z(Z不是Y的子集),使得X→Y,Y→Z成立(X不函数依赖于Y),则称R∈3NF。

  • BCNF
    关系模式R<U,F>∈1NF,若X→Y且Y不属于X时,X必含有码,则R∈BCNF。

  • 多值依赖
    在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖。

  • 4NF
    就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

二、按题目要求建立一个关于系、学生、班级、学会等诸信息的关系数据库。

  • (1)关系模式如下:
    学生: S(Sno,Sname,Sbirth ,Dept,Class,Rno)
    班级: C(Class,Pname,Dept,Cnum,Cyear)
    系: D(Dept,Dno,Office ,Dnum)
    学会: M(Mname ,Myear,Maddr,Mnum)

  • (2) 每个关系模式的最小函数依赖集如下:

    • 学生 S (Sno,Sname,Sbirth ,Dept,Class,Rno) 的最小函数依赖集如下 :Sno Sname,
      Sno Sbirth,Sno Class,Class Dept,DEPT Rno
      传递依赖如下:
      由于 Sno Dept,而 Dept Sno ,Dept Rno(宿舍区)
      所以 Sno 与 Rno 之间存在着传递函数依赖。
      由于 Class Dept,Dept Class,Dept Rno
      所以 Class 与 Rno 之间存在着传递函数依赖。
      由于 Sno Class,Class Sno,Class Dept
      所以 Sno 与 Dept 之间存在着传递函数依赖。

    • 班级 C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下 :
      Class Pname,Class Cnum,Class Cyear, Pname Dept.
      由于 Class Pname,Pname Class,Pname Dept
      所以 C1ass 与 Dept 之间存在着传递函数依赖。

    • 系 D(Dept ,Dno,Office ,Dnum)的最小函数依赖集如下:
      Dept Dno,Dno Dept, Dno Office ,Dno Dnum
      根据上述函数依赖可知, Dept 与 Office ,Dept 与 Dnum 之间不存在传递依赖。

    • 学会 M(Mname ,Myear, Maddr,Mnum) 的最小函数依赖集如下:
      Mname Myear,Mname Maddr,Mname Mnum
      该模式不存在传递依赖。

  • (3) 各关系模式的候选码、外部码,全码如下:

    • 学生 S
      候选码: Sno;外部码: Dept、Class;无全码
    • 班级 C
      候选码: Class;外部码: Dept;无全码
    • 系 D
      候选码: Dept 或 Dno;无外部码;无全码
    • 学会 M
      候选码: Mname;无外部码;无全码