假设关系R<U,F>,U={A1,A2,A3,A4},F={A1A3→A2,A1A2→A3,A2→A4},那么在关系R中(),各候选关键字中必定含有属性()

问题1,选项C.有2个候选关键字A1A2和A1A3

问题2,选项A.A1,其中A1A2A3为主属性,A4为非主属性

请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:数据库技术-函数依赖

位于9.5.1章节。

先看懂题目,U相当于一张表,里面有几个字段A1到A4,F是字段之间可以确定关系的函数。函数就是由一个(或多个)值确定另一个值,所以由A1A3可以确定A2是多少,在F中后面依次类推,最后就要判断,至少需要哪些的值,就可以推断的确定整个A1到A4的值(书上称之为元组)。

---

第一空,求候选关键字是多少,(“候选码通常也称为候选关键字。”可以是一个属性,也可以是多个属性的组合。)可以直接画图,也可以使用那个啥LRN方法,书上都是没有介绍的,只有一堆概念。不管用什么方法,都要符合一个最基本的原则,就是需要哪些字段的值,就能推断整条数据。题中可以自己画一下有向图。然后可以看出,A1A3可以推出A2,A2可以推出A4,这样就可以得到A1到A4的完整数据,所以A1A3就是候选关键字。还有一个A1A2,可以推出A3,A3和已有的A1可以推出A2,A2可以推出A4,同样可以得到A1到A4的完整数据,所以A1A2也是候选关键字

第二空,求候选关键字中必定包含的属性,和主属性是什么。

箭头右边没有包含的属性,一定在候选关键字中,所以必定包含属性‘A1’。主属性,书上描述它的定义是所有的候选码中的属性称为主属性,(应该是属性的组合),所以是A1A2A3。候选码关键字上面已经说了是咋回事。

另外,还有一个没考的我们比较熟悉的英文名词:主码(Primary Key),主码就是上面多个候选码中的一个,比如本题中A1A2是主码,A1A3也可以主码。

请先 登录 后评论