当前位置:Gxlcms > 数据库问题 > 数据库转化为3NF以及BCNF

数据库转化为3NF以及BCNF

时间:2021-07-01 10:21:17 帮助过:25人阅读

  • 合并\(R_1={ABC},R_2={ADE},R_3={ED}\)
  • 转换为3NF保持函数依赖和无损性

    技术图片

    例题:关系模型R<U,F>,U={A,B,C,D,E},F={A→BC,ABD→CE,E→D}

    1. 首先根据上面得到的\(R_1,R_2,R_3\)

    2. 计算出R的候选码为AD,AE,生成两个新的关系\(R_4{AD},R_5{AE}\)
    3. 下一步就是看包括关系,明显\(R_3,R_4,R_5\)包括在\(R_2\)里面所以得到\(R_1,R_2\)

    转换为BCNF

    技术图片

    例题:关系模式R<U,F>,其中:U={A,B,C,D,E},F={A→C,C→D,B→C,DE→C,CE→A},将其分解成BCNF并保持无损连接。

    A:LR

    B:L

    C:LR

    D:LR

    E:L

    计算BE的闭包得到ABCDE所以候选码为BE

    1. 对于A→C不符合BCNF所以分离出来,\(R_1\) ={AC},\(R_2\)={ABDE}(去除C),这时\(F_2\) = {B→D,DE→D,BE→A},删除DE→D,得到\(F_2\) = {B→D,BE→A}
    2. 对于\(R_2\)其中B→D中的B是决定因素但是不是码(码是BE),所以分离
    3. 得到\(R_3= {ABE},R_2 = {BD},R_1 = {AC}\)

    数据库转化为3NF以及BCNF

    标签:code   模型   com   abd   line   根据   bcd   关系模型   删除   

    人气教程排行