数据库:第11周作业

这篇博客详细解答了数据库课程第11周的作业,涉及关系模式设计、函数依赖、3NF分解和BCNF等内容。通过分析学生、班级、系、学会等实体的关系,确定了关系模式的候选码、外码及传递依赖,并给出了函数依赖的最小集合。此外,还解释了如何将关系模式分解为3NF和BCNF,确保无损连接性和函数依赖保持性。
摘要由CSDN通过智能技术生成

数据库:第11周作业

目录

作业内容:P75-2,3,5,8

第2题

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

答:

  1. 关系模式有:

    学生(学号,姓名,出生日期,系名,班号,宿舍区)
    班级(班号,专业名,系名,人数、入校年份)
    系(系名,系号,系办公室地点,人数)
    学会(学会名,成立年份,地点,人数)
    学生-学会(学号,学会名,入会年份)

  2. 各关系模式的最小函数依赖集如下:

    1. 学生(学号,姓名,出生日期,系名,班号,宿舍区):

      1. 最小函数依赖集:
        学号→姓名,学号→出生年月,学号→班号,班号→系名,系名→宿舍区。
      2. 存在传递依赖:
        学号→系名,学号→宿舍区,班号→宿舍区。
    2. 班级(班号,专业名,系名,人数、入校年份):

      1. 最小函数依赖集:
        班号→专业名,(专业名,入学年份)→班号,专业名→系名,班号→人数,班号→入学年份。
      2. 存在传递依赖:
        班号→系名。
      3. 班号对(专业名,入学年份)是完全函数依赖。
    3. 系(系名,系号,系办公室地点,人数):

      1. 最小函数依赖集:
        系名→系号,系号→系名,系号→系办公室地点,系号→人数。
      2. 不存在传递函数依赖。
    4. 学会(学会名,成立年份,地点,人数):

      1. 最小函数依赖集:
        学会名→成立年份,学会名→地点,学会名→人数。
      2. 不存在传递函数依赖。
    5. 学生-学会(学号,学会名,入会年份)

      1. 最小函数依赖集:
        (学号,学会名)→入会年份。
      2. 不存在传递函数依赖。
      3. 入会年份对(学号,学会名)是完全函数依赖。
  3. 各关系模式的候选码、外码、全码如下:

    1. 学生(学号,姓名,出生日期,系名,班号,宿舍区):

      候选码:学号
      外码:班号、系名
      无全码

    2. 班级(班号,专业名,系名,人数、入校年份):

      候选码:班号
      外码:系名
      无全码

    3. 系(系名,系号,系办公室地点,人数):

      候选码:系号
      无外码
      无全码

    4. 学会(学会名,成立年份,地点,人数):

      候选码:学会名
      无外码
      无全码

    5. 学生-学会(学号,学会名,入会年份)

      候选码:(学号,学会名)
      外码:学号,学会名
      无全码

第3题

  • 设关系模式 R<A,B,C,D> ,函数依赖集 F={ AC,CA,BAC,DAC,BDA}
    1. 求出R的候选码。
    2. 求出F的最小函数依赖集。
    3. 将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。

答:

  1. R的候选码为:

    BD

  2. F的最小函数依赖集:

    F={ AC,CA,BC,DC}

    求解过程:
    首先将F中的函数依赖都分解为右部为单属性的函数依赖

    F={ AC,CA,BA,BC,DA,DC,BDA}

    判断A→C是否冗余:
    设: G1{ CA,BA,BC,DA,DC,BDA}
    (A)+G1A
    由于C不属于 (A)+G1
    故 A→C不冗余

    同理得到C→A, B→C, D→C不冗余,而B→A, D→A, BD→A冗余。

  3. 将R分解为3NF:

    τ={ AC,BC,DC,BD}

第5题


  • 设关系模式 R(A,B,C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值