数据库规范化的基本原理和学习心得

原创 2006年06月06日 19:04:00

构成键码(或候选码)的属性称为主属性,而其它属性称为非主属性

 

 

1.       函数依赖定义

    设:R(U)是属性集U 上的关系模式,XYU。如果对于R(U)的任意一个关系r,以及r 的任意两个元组t1t2,不存在:t1[x]=t2[x],而t1[Y]≠t2[Y],则称X函数决定Y,或者说Y函数依赖于X。记为:X→Y

1“X→Y”必须对RU)的任何一个关系实例都成立。

2)若X→Y Y→X,则记作X←→Y。若Y不函数依赖X,则记作X Y

3)函数依赖是现实世界数据关联的表现形式。

 

2.       完全函数依赖与部分函数依赖

1) 定义完全函数依赖:在R(U)中,如果X→Y,且对X的任何一个真子集X’,都有X’ Y,则称YX完全函数依赖,记作: )

2)定义部份函数依赖:在R(U)中,如果X→Y, Y不完全函数依赖X,则称YX部份函数依赖,记作

3.       传递函数依赖定义:

    R(U)中,如果X→YY X Y X),Y→Z,则称Z传递函数依赖于X,记为X t Z

 

4.       数据库中的范式:

    关系数据库的任意一个关系,需要满足一定的数据依赖约束。满足不同程度数据依赖约束的关系,称为不同范式的关系。

 

第一范式:

    关系模式的各属性域是原子

第二范式:

    R 是一个关系模式。若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF

第三范式:

    如果关系模式RUF)是2NF的,且不存在键码X、属性组Y以及非主属性Z ,使得X→Y Y→Z 成立,则R∈3NF,换句话说就是若R∈3NF,则R中不存在非主属性对码的传递函数依赖。

 

BCNF

    关系模式R1NF。如果对于R的每一个函数依赖XYY X),X都含有键码(即X是超码),那么RBCNF

   

第四范式:

    设关系模式R 1NF。若对于R的每个非平凡多值依赖X→→YY X),X都含有键码,则R 4NF

 

5.       几个问题的总结:

a)   第二范式与BCNF的区别:

       第二范式只要求非主属性对码的完全依赖,而BCNF还要求主属性对不包   含它的键码的完全依赖。

b)   第三范式与BCNF的区别:

       第三范式没有像BCNF那么严格,它只要求主属性对不包含它的键码的部    分依赖。

c)   第三范式的定义(来自《数据库系统基础教程》)是若在关系R中存在非平凡的FD  且要么是{}是超键,要么B属于某个键,怎么能推出R中不存在非主属性对码的传递函数依赖?

    首先键码不能决定键码,由定义可以看出,当B是非主属性,一定由其中一个键码决定,所以不会有对码的传递依赖。

      

6.       规范化目的:

    减小关系模式因规范化程度过低带来的数据冗余,克服修改、删除的异常,

“模式分解”是规范化的实现途径,但数据库设计实践中不能过分追求规范化程度

相关文章推荐

数据库学习(一)----基本原理

SQL(StructuredQueryLanguage)相当于画一个表格—-先画列,再画行 处于可读性的考虑,一般可以关键字全部大写,非关键字全部小写 (注:后面的例子使用的软件是MySQL/Na...

编译原理概述和学习心得和建议

  • 2008年12月19日 21:29
  • 1.8MB
  • 下载

Java应用程序访问数据库的基本原理

Java应用程序访问数据库的基本原理   在Java语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁,   即Java语言通过JDBC技术访问数据库...
  • vsyour
  • vsyour
  • 2011年10月05日 15:24
  • 421

struts 基本原理和添加数据库

  • 2015年09月14日 19:54
  • 998KB
  • 下载

关系数据库基本原理

  • 2011年12月12日 07:21
  • 556KB
  • 下载

数据库基本原理及概念

一、数据、数据库、数据库管理系统、数据库系统 1、数据:描述事物的符号记录。数据的种类有很多,文本、图形、图像、音频、视频等 2、数据库:长期存储在计算机内、有组织的、可共享的大量数据的集合 3...

数据库字段复用的基本原理与示例

一、逻辑代数基础:  1,数字用二进制表示,所有可能出现的数只有0和1两个。   2,基本运算只有“与”、“或”、“非”三种。   与运算定义为:(用 & 表示与运算)  0 & 0 = 0  0...

数据库连接池基本原理

数据库连接池的基本原理   传统的数据库连接方式(指通过DriverManager和基本实现DataSource进行连接)中,一个数据库连接对象均对应一个物理数据库连接,数据库连接的建立以及关闭对系...

数据库连接池的基本原理

传统的数据库连接方式(指通过DriverManager和基本实现DataSource进行连接)中,一个数据库连接对象均对应一个物理数据库连接,数据库连接的建立以及关闭对系统而言是耗费系统资源的操作,在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库规范化的基本原理和学习心得
举报原因:
原因补充:

(最多只允许输入30个字)