*本文中码指代候选码,主属性为构成码的属性。

先简要引入几个概念

图1

图2

单拿出来我认为不是很好理解的3NF和BCNF详细的说说。

书上写了,BCNF是完善后的3NF。从图2中显然得出,1-3NF都是规范非主属性与码之间的关系。而主属性之间的关系没有规范。有人说了 ,要是构成码的主属性之间存在部分函数依赖或传递函数依赖,那么这就不是码,是超码了。too young!谁告诉你码必须是一个了?比方说AB->C,BC->A,此时AB、BC都是码即ABC都是主属性。所以ABC之间有什么函数依赖不在1-3NF的约束之内。所以需要有BCNF来约束主属性之间的函数依赖了。

举个例子,R={AB->C,BC->A,C->A},R的码为AB、BC,故主属性为ABC,R为3NF。但是函数依赖C->A,决定因素C不包含码BC故R不是BCNF。

【范式与函数依赖】3NF与BCNF的区别的更多相关文章

  1. 关系模式范式分解教程 3NF与BCNF口诀

    https://blog.csdn.net/sumaliqinghua/article/details/86246762 [通俗易懂]关系模式范式分解教程 3NF与BCNF口诀!小白也能看懂原创置顶 ...

  2. [MySQL] 关系型数据库的设计范式 1NF 2NF 3NF BCNF

    一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理解数据库的设计范式,这里借用一下知乎刘慰老师的解释,很通俗易懂.非常感谢!   二.具体说明: 首先要明白”范 ...

  3. 数据库范式:1NF,2NF,3NF,BCNF浅析

    在设计与操作维护数据库时,最关键的问题就是要确保数据能够正确地分布到数据库的表中.使用正确的数据结构,不仅有助于对数据库进行相应的存取操作,还可以极大地简化应用程序中的其他内容(查询.窗体.报表.代码 ...

  4. 数据库范式1NF 2NF 3NF BCNF(实例)通俗易懂的讲解

    [转] 数据库范式1NF 2NF 3NF BCNF(实例)通俗易懂的讲解     本文对大多数初学数据库原理的同学绝对是个大福利,哈哈,完完整整的看完此篇博文一定能够清晰地理解数据库的四大范式.    ...

  5. 数据库的范式(1NF、2NF、3NF、BCNF)转载

    文章属于转载:https://www.cnblogs.com/hi-bazinga/archive/2012/06/05/2536806.html 第一范式:关系模式中,每个属性不可再分.属性原子性第 ...

  6. 转!!数据库 第一范式(1NF) 第二范式(2NF) 第三范式(3NF)的 联系和区别

    范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中 ...

  7. sql 范式:1NF、2NF、3NF、BCNF(函数依赖)

    第一范式(1NF) 每个属性都是不可分的基本数据项.(必须有主键,列不可分) eg:非第一范式的表:(列可再分) 学院名称 高级职称人数 教授 副教授 信电学院 3 34 管理学院 5 23 外语学院 ...

  8. 数据库求闭包,求最小函数依赖集,求候选码,判断模式分解是否为无损连接,3NF,BCNF

    1.说白话一点:闭包就是由一个属性直接或间接推导出的所有属性的集合. 例(1):   设有关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C} ...

  9. 数据库范式1NF 2NF 3NF详细阐述

    范式:关系数据库中的关系是要满足一定要求的,满足不同程度要求的不同范式.满足最低要求的叫第一范式,简称1NF ,在第一范式中满足进一步要求的为第二范式,其余以此类推.通俗来说是满足数据库关系表中的一套 ...

随机推荐

  1. 吴裕雄--天生自然C++语言学习笔记:C++ 数据封装

    所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数. 程序数据:数据是程序的信息,会受到程序函数的影响. 封装是面向对象编程中的把数据和操作数据的函 ...

  2. Spring开发环境搭建(Eclipse)

    开发环境搭建,主要包含2部分: Java安装 Eclipse安装 为易于学习,我们只安装这2个部分,对于一般开发学习也足够了.如果你有其他要安装的,酌情添加. Java安装 我们使用Java8: 下载 ...

  3. ACM-Divide Tree

    题目描述:Divide Tree   As we all know that we can consider a tree as a graph. Now give you a tree with n ...

  4. Adobe Photoshop CC2014 for MAC 详细破解步骤

    1,安装Adobe Photoshop CC2014 for MAC,可以断网安装,如果不断网的话,需要申请一个Adobe ID,是免费申请. 2,下载破解工具,https://sdifen.ctfi ...

  5. POJ1338 & POJ2545 & POJ2591 & POJ2247

    POJ1338 2545 2591 2247都是一个类型的题目,所以放到一起来总结 POJ1338:Ugly Numbers Time Limit: 1000MS   Memory Limit: 10 ...

  6. 线程与进程 queue模块

    queue模块的基本用法 https://www.cnblogs.com/chengd/articles/7778506.html 模块实现了3种类型的队列,区别在于队列中条目检索的顺序不同.在FIF ...

  7. tableau-参数

    tableau参数可用在计算字段.筛选器和参考线中替换常量值得动态值. 三种方式:1.在计算字段中使用筛选器 案例动态替换计算字段中设定的目标值. 创建参数 以参数值创建计算字段 2.筛选器中使用参数 ...

  8. 【LeetCode】最小路径和

    [问题]给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: [ [,,], [,,], [, ...

  9. df 、dh

    查看磁盘 不挂载获取文件系统 [root@localhost ~]# file -s /dev/sda1/dev/sda1: SGI XFS filesystem data (blksz 4096, ...

  10. bzoj 4300绝世好题

    呵呵呵呵 #include<bits/stdc++.h> #define INF 0x7fffffff #define LL long long #define N 100005 usin ...