zoukankan      html  css  js  c++  java
  • BCNF/3NF的判断方法

    判断是否是 3NF 的条件: 对于 R 上的每个函数依赖 X->A (X 是关系 R 属性的一个子集,
    A 是 R 的一个属性) ,以下条件中的一个成立:
    1 X ∈ A
    2 X 是超码
    3 A 是 R 的码的一部分

    判断是否是 BCNF 的条件:对于 R 上的每个函数依赖 X->A(X 是关系 R 属性的一个子
    集,A 是 R 的一个属性) ,以下条件中的一个成立:
    1 X ∈ A
    2 X 是超码

    例子如下:

    (a).
    {ACD}+
    = {A、C、D、B、E}
    {BCD}+
    ={B、C、D、E、A}
    {EDC}+
    ={E、D、C、A、B}
    ACD、BCD、CDE are keys for R.

    (b)判断是否是 3NF 的条件: 对于 R 上的每个函数依赖 X->A (X 是关系 R 属性的一个子集,
    A 是 R 的一个属性) ,以下条件中的一个成立:
    1 X∈ A
    2 X 是超码
    3 A 是 R 的码的一部分
    A->B 满足条件 3
    BC->E 满足条件 3
    ED->A 满足条件 3
    所以 R 是 3NF
    (c)判断是否是 BCNF 的条件:对于 R 上的每个函数依赖 X->A(X 是关系 R 属性的一个子
    集,A 是 R 的一个属性) ,以下条件中的一个成立:
    1 X ∈ A
    2 X 是超码
    A->B 不满足 1&2
    BC->E 不满足 1&2
    ED->A 不满足 1&2
    所以 R 不是 BCNF

  • 相关阅读:
    阿里云的服务器内网互通的前提条件
    Java Map 接口
    ModelAndView学习笔记
    tomcat错误信息解决方案【严重:StandardServer.await: create[8005]】
    jquery获得select option的值 和对select option的操作
    【Git使用详解】Egit的常用操作详解
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/instant7/p/4201160.html
Copyright © 2011-2022 走看看