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

原创 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.       规范化目的:

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

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

【数据结构】二叉树的原理及实现学习总结

二叉树概述数组、向量、链表都是一种顺序容器,它们提供了按位置访问数据的手段。而很多情况下,我们需要按数据的值来访问元素,而不是它们的位置来访问元素,二叉树在很大程度上解决了这个问题,二叉树是按值来保存...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年04月25日 09:46
  • 5050

mysql数据库设计学习---数据库设计规范化的五个要求

mysql数据库设计学习---数据库设计规范化的五个要求 一:表中应该避免可为空的列; 二:表不应该有重复的值或者列; 三: 表中记录应该有一个唯一的标识符    在数据库...
  • haiross
  • haiross
  • 2015年12月29日 16:06
  • 2260

【自考学习】数据库系统原理总结

《数据库系统原理》这本书分九章,我们一共学习了17天。 精读章节内容的同时,我们也画思维导图,培养自己更加有层次的思维模式。 小组学习是自考学习中浓墨重彩的一笔,一起交流学习的优势告诉我:你的能量,超...
  • W15732624773
  • W15732624773
  • 2015年08月15日 14:29
  • 1584

PhotoShop学习心得分享------(一)基本的常识原理----光和色

在开始写这些东西之前,想和大家分享一下写这些心得的初衷,严格意义上我是一个开发人员,根本不需要去学什么PS,那些都是美工的工作,公司都有专门的美工做这些根本就不需要我来做。学这些一来是因为近来老是要帮...
  • xuemoyao
  • xuemoyao
  • 2013年03月09日 18:03
  • 1470

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

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

华为WCDMA资料学习心得之ATM原理概述

  • 2008年11月02日 21:25
  • 31KB
  • 下载

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

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

struts 基本原理和添加数据库

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

关系数据库基本原理

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

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

一、逻辑代数基础:  1,数字用二进制表示,所有可能出现的数只有0和1两个。   2,基本运算只有“与”、“或”、“非”三种。   与运算定义为:(用 & 表示与运算)  0 & 0 = 0  0...
  • PainsOnline
  • PainsOnline
  • 2012年01月18日 16:53
  • 1286
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库规范化的基本原理和学习心得
举报原因:
原因补充:

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