范式
例:某企业的培训关系模式 R(培训科目,培训师,学生,成绩,时间,教室), R的函数依赖集 F={培训科目→→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→教室,(时间,学生)→教室}。关系模式R的主键为(52),其规范化程度最高达到(53)。
(52) A.(学生,培训科目) B.(时间,教室)
C.(时间,培训师) D.(时间,学生)
(53)A.1NF B.2MF C.3NF D.BCNF
52:小技巧:所有出现在→左边,且不出现在→右边的属性,都是主键。所以,学生,时间是主键。
53:2NF:若某一个非主属性数据项,依赖全部的主键, 则为2NF。
举例:表中的成绩,是非主属性, 只能通过(时间,学生)联合推导, 任意的关键字推导不出成绩, 因此成绩依赖全部关键字。
3NF: 所有的从属性,只能依赖于主属性。
在本题中,培训师可以通过培训科目推导,但培训科目并不是主属性, 因此该规范化不满足3NF。
例:假设关系 R<U,F>,U= {A1,A2, A3},F = {A1A3 →A2,A1A2 →A3},则关系 R 的各候选关键字中必定含有属性(53)
(53)A.A1 B. A2 C. A3 D. A2 A3
因为A1的入度为0,所以关键字为A1。
例:给定关系模式R(U,F),其中:U为关系模式R中的属性集,F是U上的一组函数依赖。假设U={A1,A2,A3,A4},F={A1→A2,A1A2→A3,A1→A4,A2→A4},那么关系R的主键应为(52)。函数依赖集F中的(53)是冗余的。
(52)A.A1 B.A1A2 C.A1A3 A1A2A3
(53)A.A1→A2 B.A1A2→A3 C.A1→A4 D.A2→A4
一空中,因为A1的入度为0,所以A1位关键字。
二空中,需要去掉函数依赖中的冗余。A1→A2,A2→A4利用传递率:A1→A4,因此A1→A4是冗余。