博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几个常用数据库范式的区别
阅读量:4153 次
发布时间:2019-05-25

本文共 543 字,大约阅读时间需要 1 分钟。

BC范式(BCNF)
1、所有非主属性对每一个码都是完全函数依赖;
2、所有的主属性对于每一个不包含它的码,也是完全函数依赖;
3、没有任何属性完全函数依赖于非码的任意一个组合。
R属于3NF,不一定属于BCNF,如果R属于BCNF,一定属于3NF。
第一范式(1NF):属性不可拆分或无重复的列
这个简单,就是一个属性不允许再分成多个属性来建立列。事实上,在目前的DBMS中是不可能拆分属性的,因为他们不允许这么做。
第二范式(2NF):完全函数依赖(实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性)
先讲讲什么是部分函数依赖。
部分函数依赖,就是多个属性决定另一个属性,但事实上,这多个属性是有冗余的。
满足第二范式的数据库设计必须先满足第一范式。
因此第二范式的目标就是消除函数依赖关系中左边存在的冗余属性。
第三范式(3NF):消除传递依赖
不依赖于其他非主属性(消除传递依赖)。
满足第三范式的数据库必须先满足第二范式。
也就是,数据库中的属性依赖仅能依赖于主属性,不存在于其他非主属性的关联。
第四范式(4NF)
对于每一个X->Y,X都能找到一个候选码,若关系中的某一属性组的值能唯一地表示一个元组,而其真子集不行,则称该属性组为候选码。

转载地址:http://dwmti.baihongyu.com/

你可能感兴趣的文章
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
JSP的内置对象及方法
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Spring MVC和Struts2的比较
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>
Android 的source (需安装 git repo)
查看>>
Commit our mod to our own repo server
查看>>
LOCAL_PRELINK_MODULE和prelink-linux-arm.map
查看>>
Simple Guide to use the gdb tool in Android environment
查看>>
Netconsole to capture the log
查看>>
Build GingerBread on 32 bit machine.
查看>>
How to make SD Card world wide writable
查看>>
Detecting Memory Leaks in Kernel
查看>>