暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
第 23 章:数据库设计.pdf
47
59页
1次
2024-06-03
25墨值下载
第 23 章:数据库设计 作者:希赛教育软考学院 来源:希赛网 2014年01月27日
数据的规范化
上一节 本书简介 下一节
第 23 章:数据库设计 作者:希赛教育软考学院 来源:希赛网 2014年01月27日
函数依赖
  第23章 数据库设计
  从历年试题来看,在下午考试的软件设计试题中,也会出现数据库设计试题,主要考点包括数
据的规范化、E-R模型、数据库的逻辑设计与物理设计等内容。
  23.1 数据的规范化
  关系模式满足的确定约束条件称为范式,根据满足约束条件的级别不同,范式由低到高分为
1NF、2NF、3NF、BCNF、4NF、5NF等。不同的级别范式性质不同。
  关系模式的规范化就是把一个低一级的关系模式分解为高一级关系模式的过程。
  关系模式分解必须遵守两个准则:
  无损联接性:信息不失真(不增减信息)。
  函数依赖保持性:不破坏属性间存在的依赖关系。
  规范化的基本思想是逐步消除不合适的函数依赖,使数据库中的各个关系模式达到某种程度的
分离。规范化解决的主要是单个实体的质量问题,是对于问题域中原始数据展现的正规化处理。
  规范化理论给了我们判断关系模式优劣的理论标准,帮助我们预测模式可能出现的问题,是数
据库逻辑设计的指南和工具,具体有以下两点:
  用数据依赖的概念分析和表示各数据项之间的关系。
  消除E-R图中的冗余联系。
版权方授权希赛网发布,侵权必究
  函数依赖的概念通俗地说,就像自变量x确定之后,相应的函数值f(x)也就唯一地确定了一
样。函数依赖是衡量和调整数据规范化的最基础的理论依据。
  比如记录职工信息的结构如下:
  职工工号(EMP_NO)
  职工姓名(EMP_NAME
  所在部门(DEPT)
  我们说EMP_NO函数决定EMP_NAME和DEPT,或者说EMP_NAME、DEPT函数依赖于
EMP_NO,记为:EMP_NO→EMP_NAME,EMP_NO→DEPT.
版权方授权希赛网发布,侵权必究
上一节 本书简介 下一节
第 23 章:数据库设计 作者:希赛教育软考学院 来源:希赛网 2014年01月27日
上一节 本书简介 下一节
第 23 章:数据库设计 作者:希赛教育软考学院 来源:希赛网 2014年01月27日
1NF
上一节 本书简介 下一节
第 23 章:数据库设计 作者:希赛教育软考学院 来源:希赛网 2014年01月27日
2NF
  关系R<U,F>中的一个属性或一组属性K,如果给定一个K则唯一决定U中的一个元组,也就是U完
全函数依赖于K,我们就称K为 R的码。一个关系可能有多个码,选其一个作为主码。
  包含在任一码中的属性称为主属性,不包含在任何码中的属性称为非主属性。
  关系R中的属性或属性组X不是R的码,但X是另一个关系模式的码,我们称X是R的外码。
  主码和外码是一种重要的表示关系间关联的手段。数据库设计中一个重要的任务就是要找到问
题域中正确的关联关系,孤立的关系模式很难描述清楚业务逻辑。
版权方授权希赛网发布,侵权必究
  第一范式(1NF)是最低的规范化要求。
  如果关系R中所有属性的值域都是简单域,其元素(即属性)不可再分,是属性项而不是属性
组,那么关系模式R是第一范式的,记做R∈1NF.这一限制是关系的基本性质,所以任何关系都必须
满足第一范式。第一范式是在实际数据库设计中必须首先达到的,通常称为数据元素的结构化。
  比如:
  上表为非第一范式。分解如下:
  这就满足了第一范式。经过处理后,我们就可以以省、市为条件进行查询和统计。
  满足1NF的关系模式会有许多重复值,并且增加了修改其数据时引起疏漏的可能性。为了消除
这种数据冗余和避免更新数据的遗漏,我们需要更加规范的第二范式(2NF)。
版权方授权希赛网发布,侵权必究
  如果一个关系R属于1NF,且所有的非主属性都完全地依赖于主属性,则称为第二范式,记做
上一节 本书简介 下一节
第 23 章:数据库设计 作者:希赛教育软考学院 来源:希赛网 2014年01月27日
3NF
上一节 本书简介 下一节
第 23 章:数据库设计 作者:希赛教育软考学院 来源:希赛网 2014年01月27日
BCNF
R∈2NF.
  为了说明问题,现举一个例子来说明。
  有一个获得专业技术证书的人员情况登记表结构为:省份、姓名、证书名称、证书编号、核准
项目、发证部门、发证日期、有效期。
  这个结构符合1NF,其中 "证书名称"和"证书编号"是主码,但是因为"发证部门"只完全依赖于"证
书名称",即只依赖于主关键字的一部分(即部分依赖),所以它不符合2NF,这样首先存在数据冗余,
因为证书种类可能不多。其次,在更改发证部门时,如果漏改了某一记录,存在数据不一致性。再
次,如果获得某种证书的职工全部跳槽了,那么这个发证部门的信息就可能丢失了,即这种关系不
允许存在某种证书没有获得者的情况。我们可以用分解的方法消除部分依赖的情况,而使关系达到
2NF的标准。方法是从现有关系中分解出新的关系表,使每个表中所有的非关键字都完全依赖于各
自的主关键字。我们可以将其分解成两个表,分别是:省份、姓名、证书名称、证书编号、核准项
目、发证日期、有效期,证书名称、发证部门。这样就完全符合2NF了。
版权方授权希赛网发布,侵权必究
  如果一个关系R属于2NF,且每个非主属性不传递依赖于主属性,这种关系是3NF, 记做R∈3NF.
  从2NF中消除传递依赖,就是3NF.比如有一个表(职工姓名,工资级别,工资额),其中职工
姓名是关键字,此关系符合2NF,但是因为工资级别决定工资额,也就是说非主属性"工资额" 传递依
赖于主属性"职工姓名",它不符合3NF,我们同样可以使用投影分解的办法将其分解成两个表:职工姓
名、工资级别,工资级别、工资额。
版权方授权希赛网发布,侵权必究
  一般满足3NF的关系模式已能消除冗余和各种异常现象,能够获得比较满意的效果,但无论2NF
还是3NF都没有涉及主属性间的函数依赖,所以有时仍会引起一些问题。由此我们引入BC范式
(BCNF,Boyeet和Codd提出)。通常认为BCNF是第三范式的改进。
  BC范式的定义:如果关系模式R∈1NF,且R中每一个函数依赖关系中的决定因素都包含码,则R
是满足BC范式的关系,记做R∈BCNF.
  当一个关系模式R∈BCNF,则在函数依赖范畴里,就认为已彻底实现了分离,消除了插入、删除
的异常。
of 59
25墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。