首页 > 试题广场 >

设有关系模式R(A,B,C,D),其数据依赖集:F=((A,

[单选题]
设有关系模式R(A,B,C,D),其数据依赖集:F=((A,B)->C,C->D),则关系模式R的规范化程度最高达到()
  • BCNF
  • 2NF
  • 1NF
  • 3NF
推荐
答案是B
          数据依赖集:F=((A,B)->C,C->D)满足没有部分依赖关系,比如没有A->C,B->C,因为有了A,B->C,再有左边2种就属于部分依赖了
但是并没有破解传递依赖, (A,B)->C,C->D,可以推出A,B->D,所以最高到达 2NF
编辑于 2015-11-15 14:31:41 回复(3)
我感觉没有完全依赖嘛,为什么是2nf
如果是2nf 应该 A,B,C-->D 这样才合理啊
谁来帮助我解答困惑,谢谢!
发表于 2017-02-08 17:04:27 回复(1)
第1范式:

存在 非主属性对码的部分依赖关系 R(A,B,C) AB是码 C是非主属性 B-->C B决定C C部分依赖于B

第一范式

定义:如果关系R 中所有属性的值域都是单纯域,那么关系模式R是第一范式的

那么符合第一模式的特点就有

1)有主关键字

2)主键不能为空,

3)主键不能重复,

4)字段不可以再分


第2范式:
数据库表中不存在非关键字段对任一候选关键字段的 部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。

第3范式:
在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的 传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:
               关键字段 → 非关键字段x → 非关键字段y

BCNF( 鲍依斯-科得范式 ):
在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的 传递函数依赖则符合BCNF。

依赖关系:
1.数据依赖
数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,其中最重要的是函数依赖和多值依赖。

2.函数依赖
设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称X函数决定Y,或Y函数依赖于X。

3.平凡函数依赖
当关系中属性集合Y是属性集合X的子集时(Y?X),存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。

4.非平凡函数依赖
当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。

5.完全函数依赖
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。

6.部分函数依赖
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。

7.传递函数依赖
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
发表于 2016-08-23 16:10:26 回复(6)
存在函数传递的依赖,最高满足第二范式。
发表于 2016-06-02 16:44:10 回复(0)

第一范式(1NF):属性不可分

          (1NF是对属性的原子性约束,要求属性具有原子性,不可再分解)

第二范式(2NF):符合1NF,并且非主属性完全依赖于码。

          (2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性,更通俗说有主键ID

第三范式(3NF):符合2NF,并且,消除传递依赖。

      (3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余)

BCNF:符合3NF,并且,主属性不依赖于主属性
            可以这么说:若一个关系达到了第三范式,并且它只有一个候选码,或者它的每个候选码都是单属性,则该关系自然达到BC范式

范式越高,数据的冗余度越小。其实没有冗余的数据库设计是可以做到的。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。(最典型的就是在一些数据表中不仅存作为外键的user_id,同样存user_name,这样虽然违反数据库范式增加了user_name字段,但是却提高了效率,减少了获取user_id后再去user表中获取user name的操作)

所以实际中,我们通常只需要考虑数据库满足第三范式就可以了



     实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,不如说“老师与学校的关系”。

      属性:教科书上解释为:“实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如说,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”。

     元组:表中的一行就是一个元组。

     分量:元组的某个属性值。在一个关系数据库中,它是一个操作原子,即关系数据库在做任何操作的时候,属性是“不可分的”。否则就不是关系数据库了。

      码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫   候选码,我们从候选码中挑一个出来做老大,它就叫主码。

     全码:如果一个码包含了所有的属性,这个码就是全码。

     主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。

     非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。

     外码:一个属性(或属性组),它不是码,但是它别的表的码,它就是外码。

     候选码: 若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为(超级码)候选码。


发表于 2019-07-17 21:45:12 回复(1)
第一范式:属性不可分,即列不是二维的 第二范式:非主属性完全依赖于码,即有唯一标识可以区分一行 第三范式:非主属性无传递依赖 bc范式:主属性无传递依赖
发表于 2016-10-19 23:52:21 回复(0)
1NF->2NF->3NF->BC NF
发表于 2017-05-02 17:19:05 回复(0)
第一范式:存在部分依赖 第二范式:不存在部分依赖 第三范式,BC范式:不存在传递依赖 第三范式和BC范式不会区分…
发表于 2017-03-13 08:38:33 回复(0)
答案是B
          数据依赖集:F=((A,B)->C,C->D)满足没有部分依赖关系,比如没有A->C,B->C,因为有了A,B->C,再有左边2种就属于部分依赖了
但是并没有破解传递依赖, (A,B)->C,C->D,可以推出A,B->D,所以最高到达 2NF
发表于 2022-04-28 21:25:57 回复(0)
关系中存在传递依赖,最高满足2NF。
发表于 2022-04-20 11:34:38 回复(0)
假如(A,B)->C,并且A->C,B->C,则存在部分依赖
发表于 2018-08-26 09:56:24 回复(0)
很明显,有传递依赖。国内的王珊主编的数据库教材写的太抽象了,真不好理解
发表于 2018-01-13 15:55:29 回复(0)
符合第一范式1NF的规则:所有的属性不能再拆分 如果还可以拆分则不符合1NF 在关系型数据库中存在的数据表都是符合1NF的
符合第二范式2NF的规则: 非主属性对码没有部分函数依赖 在题目中(A,B)->C 代表C依赖于(A,B)属性组 如果还有A->C B->C等关系就代表C是部分依赖于(A,B) 则不符合2NF 这里没有所以符合

符合第三范式3NF的规则:是否存在非主属性对码的传递函数依赖 若有则不符合3NF 若无则符合 这里显然我们看到有

码的定义
设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K(这个“完全”不要漏了),那么我们称 K 为候选码,简称为

非主属性
除了在码中的属性之外的都是非主属性

部分函数依赖
假如 Y 函数依赖于 X,但同时 Y 并不完全函数依赖于 X,那么我们就称 Y 部分函数依赖于 X(比如Y可能依赖于X的真子集)

完全函数依赖
若 X → Y,且对于 X 的任何一个真子集(假如属性组 X 包含超过一个属性的话),X ' → Y 不成立,那么我们称 Y 对于 X 完全函数依赖
发表于 2017-09-19 10:40:42 回复(0)
为什么是2nf c->D  D是指的非主属性吧 它有完全依赖主属性吗 主属性不是A,B吗 C->D D不是只依赖C吗???  求解释
发表于 2017-08-26 10:28:20 回复(0)
BCNF例子解释:
http://zhidao.baidu.com/link?url=R_H2yHVZI5Ty97Jqbh7dNUUkSpOfwSp_Q_PsiIzDtj6OAB6HMfLIqL-hPajB_GVherBo3-yjN2PRDTD7tIkN-K
发表于 2016-09-13 14:57:46 回复(0)
存在传递函数依赖,最高满足2NF。
发表于 2016-01-20 16:13:01 回复(0)
炫头像
存在传递依赖
发表于 2016-01-02 13:38:14 回复(0)