第6章 关系数据库理论(数据库系统概论)

1 .理解并给出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All 一key )、1 NF 、ZNF 、3NF 、BcNF 、多值依赖、4NF 。

1.函数依赖:

  定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。(即只要X上的属性值相等,Y上的值一定相等。)
术语和记号:
X→Y,但Y不是X的子集,则称XY是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。
X→Y,但Y是X的子集,则称X→Y是平凡的函数依赖。
若XY,则X叫做决定因素(Determinant)。
若X→Y,Y→X,则记作X←→Y。
若Y不函数依赖于X,则记作X (not)→Y。

2.完全函数依赖:

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

3.部分函数依赖:

  若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖

4. 1NF

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

5. 2NF

  定义4:若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF 。(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。简言之,2NF每一个非主属性完全依赖于码了。

6. 3NF
  定义5:关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得X→Y,Y →Z,Y(not)→X成立,则称R<U,F>∈3NF。每一个非主属性既不部分依赖于码也不传递依赖于码。

7. BCNF

  定义6:关系模式R<U,F>∈1NF 。若X→Y,且Y不是X的子集时,X必含有码,则R<U,F>∈BCNF。满足BCNF的关系模式有:

  1 所有非主属性对每一个码都是完全函数依赖。

  2 所有的主属性对每一个不包含它的码,也是完全函数依赖。

  3 没有任何属性完全函数依赖于非码的任何一组属性。

8. 4NF

  定义7:关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R<U,F>∈4NF。 简言之,就是不允许有多值依赖了。

9.全码

  All-key,关系模型的所有属性组是这个关系模式的候选码,称为全码。

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
学生:学号、姓名、出生年月、系名、班号、宿舍区。
班级:班号、专业名、系名、人数、入校年份。
系:系名、系号、系办公地点、人数。
学会:学会名、成立年份、办公地点、人数。
    语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。
    请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?

解:(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)每个关系模式的最小函数依赖集如下:
  A、学生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之间存在着传递函数依赖。
  B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:
    Class→Pname,Class→Cnum,Class→Cyear,Pname→Dept.
    由于Class→Pname,Pname→Class,Pname→Dept
        所以C1ass与Dept之间存在着传递函数依赖。
 C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:
    Dept→Dno,Dno→Dept,Dno→Office,Dno→Dnum
    根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。
 D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:
    Mname→Myear,Mname→Maddr,Mname→Mnum
     该模式不存在传递依赖。
  (3)各关系模式的候选码、外部码,全码如下:
  A、学生S候选码:Sno;外部码:Dept、Class;无全码
  B、班级C候选码:Class;外部码:Dept;无全码
  C、系D候选码:Dept或Dno;无外部码;无全码
  D、学会M候选码:Mname;无外部码;无全码

5 .试举出3 个多值依赖的实例。
答:
(1)关系模式MSC ( M , S , C )中,M 表示专业,S 表示学生,C 表示该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生选修的必修课相同,实例关系如下。按照语义对于M 的每一个值M i , s 有一个完整的集合与之对应而不问C 取何值,所以M 一一S 。由于C 与S 的完全对称性,必然有M 一一C 成立。
(2)关系模式ISA ( I , S , A )中,I 表示学生兴趣小组,S 表示学生,A 表示某兴趣小组的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。
按照语义有I 一一S , I 一一A 成立。
(3)关系模式RDP ( R , D , P )中,R 表示医院的病房,D 表示责任医务人员,P 表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值