CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

数据库系统概论中的范式 问题判断下列关系模式各达到哪一级范式 如能回复不胜感激!!!散分200

楼主gaoxing111(高兴)2005-11-23 10:13:20 在 MS-SQL Server / 疑难问题 提问

判断下列关系模式各达到哪一级范式(要求写明判断理由,如确定候选码、主属性、非主属性及相应的函数依赖等),  
  若未达到BCNF,则将其转换为BCNF(写明转换过程):  
  1、R1(U1,F1)其中:  
        U1={   a1,   a2,   a3,   a4,   a5,   a6,   a7   }  
        F1={   a5→   (a1,a2),a3→   (a4,a6),a7→a3   }  
  2、R2(U2,F2)其中:  
        U2={   b1,b2,b3,b4,b5,b6   }  
        F2={   b4→(b1,b2,b3),b5→b4   }  
  3、R3(U3,F3)其中:  
        U3={   c1,c2,c3,c4,c5,c6,c7,c8   }  
        F3={c1→c2,c2→c1}  
  4、R4(U4,F4)其中:  
        U4={   d1,d2,d3   }  
        F4={d1→d3,(d2,d3)→d1}  
  问题点数:100、回复次数:4Top

1 楼aw511(点点星灯)回复于 2005-11-23 10:19:32 得分 0

我对关系型数据库设计范式的理解  
   
    所谓范式,是关系型数据库关系模式规范化的标准,从规范化的宽松到严格,分别  
   
  为不同的范式,通常使用的有第一范式、第二范式、第三范式及BC范式等。范式是建立  
   
  在函数依赖基础上的。  
   
  函数依赖  
   
  定义:设有关系模式R(U),X和Y是属性集U的子集,函数依赖是形为X→Y的一个命题,  
   
  对任意R中两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么FD   X→Y在关系模式R(U)中成  
   
  立。X→Y读作‘X函数决定Y’,或‘Y函数依赖于X’。  
   
    通俗的讲,如果一个表中某一个字段Y的值是由另外一个字段或一组字段X的值来确  
   
  定的,就称为Y函数依赖于X。  
   
    函数依赖应该是通过理解数据项和企业的规则来决定的,根据表的内容得出的函数  
   
  依赖可能是不正确的。  
   
  第一范式(1NF)  
   
  定义:果关系模式R的每个关系r的属性都是不可分的数据项,那么就称R是第一范式的模  
   
  式。  
    简单的说,每一个属性都是原子项,不可分割。  
    1NF是关系模式应具备的最起码的条件,如果数据库设计不能满足第一范式,就不称  
   
  为关系型数据库。关系数据库设计研究的关系规范化是在1NF之上进行的。  
   
  第二范式(2NF)  
   
  定义:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么就称R是第  
   
  二范式。  
  简单的说,第二范式要满足以下的条件:首先要满足第一范式,其次每个非主属性要完  
   
  全函数依赖与候选键,或者是主键。也就是说,每个非主属性是由整个主键函数决定的  
   
  ,而不能由主键的一部分来决定。  
  举个例子:  
    有股票日行情表的主键是股票代码和交易日期组成。非主属性中有收盘价和成交量  
   
  等,都是由主键,即股票代码和交易日期函数决定的,单独的股票代码或者交易日期都  
   
  不能函数决定这些非主属性。如果这个表中有非主属性股票简称,则股票简称是可以由  
   
  股票代码来函数决定的,这样股票简称这个非主属性就不是完全函数依赖于候选键,这  
   
  样的设计就不满足第二范式。  
   
  第三范式(3NF)  
   
  定义:如果关系模式R是2NF,且关系模式R(U,F)中的所有非主属性对任何候选关键  
   
  字都不存在传递依赖,则称关系R是属于第三范式。  
  简单的说,第三范式要满足以下的条件:首先要满足第二范式,其次非主属性之间不存  
   
  在函数依赖。由于满足了第二范式,表示每个非主属性都函数依赖于主键。如果非主属  
   
  性之间存在了函数依赖,就会存在传递依赖,这样就不满足第三范式。  
  举个例子:  
  在股票基本情况表中,主键是股票代码,有非主属性所属一级行业和所属二级行业。根  
   
  据业务规则,所属二级行业能够函数决定所属一级行业,这就表示存在这样一种关系:  
   
  股票代码函数决定所属二级行业,所属二级行业函数决定所属一级行业,这就形成了传  
   
  递依赖,这样的设计就不符合第三范式。  
  不过在实际运用中,为查询和使用的方便,有时也会违反第三范式。如上例,如果没有  
   
  所属一级行业的属性,需要查询所属一级行业的相关股票,需要查询时使用函数来从二  
   
  级行业中函数生成所属一级行业,使用性能上会受影响。所以通常会加上所属一级行业  
   
  的属性。  
   
  BC范式(BCNF)  
   
  BC范式是第三范式的增强版,不过也有人说是直接从1NF发展过来的,即每个属性,包  
   
  括主属性或非主属性,都完全依赖于候选键,并且不存在传递依赖情况。  
  Top

2 楼aw511(点点星灯)回复于 2005-11-23 10:19:57 得分 0

这些东西太理论了,不好理解。Top

3 楼aw511(点点星灯)回复于 2005-11-23 10:21:10 得分 0

http://dev.csdn.net/develop/article/78/78203.shtmTop

4 楼gaoxing111(高兴)回复于 2005-11-26 16:12:21 得分 0

请问高手   我这样做对吗?  
   
  判断下列关系模式各达到哪一级范式(要求写明判断理由,如确定候选码、主属性、非主属性及相应的函数依赖等),   若未达到BCNF,则将其转换为BCNF(写明转换过程):  
   
    1、R1(U1,F1)其中:        
    U1={   a1,   a2,   a3,   a4,   a5,   a6,   a7   }        
    F1={   a5→   (a1,a2),a3→   (a4,a6),a7→a3   }        
    候选码:a5,a7;  
        符合1nf:但是对于a3来说是不完全依赖不符和2nf定义  
        转换成BCNF:  
                  Result   =   {   a1,   a2,   a3,   a4,   a5,   a6,   a7   }  
                  Result=null   &&     {   a3,   a4,   a5,   a6,   a7   }   &&   {a1,a2,a5}  
                  Result   =   {a3,a5,a7}&&{a1,a2,a5}&&{a3,a4,a6}  
                  Result   =   {a5,a7}   &&{a1,a2,a5}&&{a3,a4,a6}&&{a3,a7}  
  2、R2(U2,F2)其中:          
  U2={   b1,b2,b3,b4,b5,b6   }        
    F2={   b4→(b1,b2,b3),b5→b4   }          
  候选码:b5,b6  
        符合1nf:但是对于b4来说,不是完全依赖所以不符合2nf;  
                Result   =   {   b1,b2,b3,b4,b5,b6   }  
                Result   =   {   b4,b5,b6   }   &&   {   b1,b2,b3,b4,}  
                Result   =   {b5,b6}   &&   {   b1,b2,b3,b4,}   &&   {b4,b5}  
  3、R3(U3,F3)其中:          
  U3={   c1,c2,c3,c4,c5,c6,c7,c8   }          
  F3={c1→c2,c2→c1}        
    候选码:c1,   c3,c4,c5,c6,c7,c8   或者   c2,c3,c4,c5,c6,c7,c8  
        符合1nf:对于c1决定c2来说不是一个完全依赖  
        Result   =   {   c1,c2,c3,c4,c5,c6,c7,c8   }         Result   =   {   c1,c3,c4,c5,c6,c7,c8   }   &&   {c1,c2}  
  4、R4(U4,F4)其中:        
    U4={   d1,d2,d3   }        
    F4={d1→d3,(d2,d3)→d1}        
    侯选码:d2,d3或者是d1,d2,d3  
        符合1nf:对于d1确定d3来说不是完全依赖所以不是2nf  
        Result   =   {   d1,d2,d3   }  
        Result   =   {d1,d2}   &&   {d1,d3}  
   
  Top

相关问题

  • 求数据库范式的规范
  • 关于数据库范式的问题
  • 请教数据库的范式问题
  • 关系数据库范式的例子
  • 什么是数据库第一范式?
  • 理解数据库范式的高手请进
  • 数据库设计一定要符合范式吗?
  • 关于数据库范式的求解过程~~
  • 王珊陈红数据库系统概论读书笔记1014
  • 《数据库系统概论》中的简单问题

关键词

  • 范式
  • 函数
  • 属性
  • 模式
  • 字段
  • 行业
  • 代码
  • 关系型数据库
  • 转换
  • 依赖

得分解答快速导航

  • 帖主:gaoxing111

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo