免费智能真题库 > 历年试卷 > 系统架构设计师 > 2013年下半年 系统架构设计师 上午试卷 综合知识
  第5题      
  知识点:   规范化理论   函数依赖
  关键词:   函数依赖   函数        章/节:   数据库系统       

 
假设关系模式R(U,F),属性集U={A,B,C},函数依赖集F={A→B,B→C}。若将其分解为p={Rl(U1,F1),R2(U2,F2)},其中U1={A,B},U2={A,C}。那么,关系模式R、R1、R2分别达到了(5);分解p(6)。
 
 
  A.  1NF、2NF、3NF
 
  B.  1NF、3NF、3NF
 
  C.  2NF、2NF、3NF
 
  D.  2NF、3NF、3NF
 
 
 

 
  第7题    2012年下半年  
   50%
某商场商品数据库的商品关系模式P (商品代码,商品名称,供应商,联系方式,库存量),函数依赖集F={商品代码一商品名称,(商品代..
  第7题    2020年下半年  
   24%
给出关系R(U,F), U= {A,B,C,D,E), F={A→B,D→C,BC→E,AC→B),求属性闭包的等式成立的是(6)。R的候选关键字为(7)。
  第40题    2009年下半年  
   57%
以下关于RDBMS数据分布的叙述中,错误的是(40)。
   知识点讲解    
   · 规范化理论    · 函数依赖
 
       规范化理论
        设有一个关系模式R(SNAME,CNAME,TNAME TADDRESS),其属性分别表示学生姓名、选修的课程名、任课教师姓名和任课教师地址。仔细分析一下,我们就会发现这个模式存在下列存储异常的问题:
        (1)数据冗余:如果某门课程有100个学生选修,那么在R的关系中就要出现100个元组,这门课程的任课教师姓名和地址也随之重复出现100次。
        (2)修改异常:由于上述冗余问题,当需要修改这个教师的地址时,就要修改100个元组中的地址值,否则就会出现地址值不一致的现象。
        (3)插入异常:如果不知道听课学生名单,这个教师的任课情况和家庭地址就无法进入数据库;否则就要在学生姓名处插入空值。
        (4)删除异常:如果某门课程的任课教师要更改,那么原来任课教师的地址将随之丢失。
        因此,关系模式R虽然只有4个属性,但却是性能很差的模式。如果把R分解成两个关系模式:R1(SNAME,CNAME)和R2(CNAME,TNAME,TADDRESS),则能消除上述的存储异常现象。
        为什么会产生这些异常呢?与关系模式属性值之间的联系直接有关。在模式R中,学生与课程有直接联系,教师与课程有直接联系,而教师与学生无直接联系,这就产生了模式R的存储异常。因此,模式设计强调“每个联系单独表达”是一条重要的设计原则,把R分解成R1和R2是符合这条原则的。
               函数依赖
               设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u、v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。
               从函数依赖的定义可以看出,如果有X→U在关系模式R(U)上成立,并且不存在X的任一真子集X'使X'→U成立,那么称X是R的一个候选键。也就是X值唯一决定关系中的元组。由此可见,函数依赖是键概念的推广,键是一种特殊的函数依赖。
               在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'→Y不成立,则称Y对X完全函数依赖。若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖。
               在R(U)中,如果X→Y(Y不是X的真子集),且Y→X不成立,Y→Z,则称Z对X传递函数依赖。
               设U是关系模式R的属性集,F是R上成立的只涉及U中属性的FD集,则有以下3条推理规则:
               (1)自反性:若YXU,则X→Y在R上成立。
               (2)增广性:若X→Y在R上成立,且ZU,则XZ→YZ在R上成立。
               (3)传递性:若X→Y和Y→Z在R上成立,则X→Z在R上成立。
               这里XZ,YZ等写法表示X∪Z,Y∪Z。上述三条推理规则是函数依赖的一个正确的和完备的推理系统。根据上述三条规则还可以推出其他三条常用的推理规则:
               (1)并规则:若X→Y和X→Z在R上成立,则X→YZ在R上成立。
               (2)分解规则:若X→Y在R上成立,且ZY,则X→Z在R上成立。
               (3)伪传递规则:若X→Y和WY→Z在R上成立,则WX→Z在R上成立。
               在关系模式R(U,F)中为F所逻辑蕴含的函数依赖全体叫做F的闭包,记作F+
               设F为属性集U上的一组函数依赖,X是U的子集,那么相对于F属性集X的闭包用X+表示,它是一个从F集使用推理规则推出的所有满足X→A的属性A的集合:
               X+={属性A|X→A在F+中}
               如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。
               如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,也称为最小依赖集或最小覆盖。
               (1)F中任一函数依赖的右部仅含有一个属性。
               (2)F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。
               (3)F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。
               范式
               (1)第一范式(1NF):如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式,r是规范化的关系。关系数据库研究的关系都是规范化的关系。
               (2)第二范式(2NF):若关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是2NF模式。
               (3)第三范式(3NF):如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选码,则称R是3NF。
               (4)BC范式(BCNF):若关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。
               上述4种范式之间有如下联系:1NF2NF3NFBCNF。
               关系模式分解
               如果某关系模式存在存储异常问题,则可通过分解该关系模式来解决问题。把一个关系模式分解成几个子关系模式,需要考虑的是该分解是否保持函数依赖,是否是无损联接。
               无损联接分解的形式定义如下:设R是一个关系模式,F是R上的一个函数依赖(FD)集。R分解成数据库模式δ={R1,…,RK}。如果对R中每一个满足F的关系r都有下式成立:
               
               那么称分解δ相对于F是无损联接分解,否则称为损失联接分解。
               下面是一个很有用的无损联接分解判定定理。
               设p={R1,R2}是R的一个分解,F是R上的FD集,那么分解p相对于F是无损分解的充分必要条件是:(R1∩R2)→(R1-R2)或(R1∩R2)→(R2-R1)。:这两个条件只要有任意一个条件成立就可以了。
               设数据库模式δ={R1,…,RK}是关系模式R的一个分解,F是R上的FD集,δ中每个模式Ri上的FD集是Fi。如果{F1,F2,…,FK}与F是等价的(即相互逻辑蕴涵),那么我们称分解δ保持FD。如果分解不能保持FD,那么δ的实例上的值就可能有违反FD的现象。
 
       函数依赖
        设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u、v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。
        从函数依赖的定义可以看出,如果有X→U在关系模式R(U)上成立,并且不存在X的任一真子集X'使X'→U成立,那么称X是R的一个候选键。也就是X值唯一决定关系中的元组。由此可见,函数依赖是键概念的推广,键是一种特殊的函数依赖。
        在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'→Y不成立,则称Y对X完全函数依赖。若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖。
        在R(U)中,如果X→Y(Y不是X的真子集),且Y→X不成立,Y→Z,则称Z对X传递函数依赖。
        设U是关系模式R的属性集,F是R上成立的只涉及U中属性的FD集,则有以下3条推理规则:
        (1)自反性:若YXU,则X→Y在R上成立。
        (2)增广性:若X→Y在R上成立,且ZU,则XZ→YZ在R上成立。
        (3)传递性:若X→Y和Y→Z在R上成立,则X→Z在R上成立。
        这里XZ,YZ等写法表示X∪Z,Y∪Z。上述三条推理规则是函数依赖的一个正确的和完备的推理系统。根据上述三条规则还可以推出其他三条常用的推理规则:
        (1)并规则:若X→Y和X→Z在R上成立,则X→YZ在R上成立。
        (2)分解规则:若X→Y在R上成立,且ZY,则X→Z在R上成立。
        (3)伪传递规则:若X→Y和WY→Z在R上成立,则WX→Z在R上成立。
        在关系模式R(U,F)中为F所逻辑蕴含的函数依赖全体叫做F的闭包,记作F+
        设F为属性集U上的一组函数依赖,X是U的子集,那么相对于F属性集X的闭包用X+表示,它是一个从F集使用推理规则推出的所有满足X→A的属性A的集合:
        X+={属性A|X→A在F+中}
        如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。
        如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,也称为最小依赖集或最小覆盖。
        (1)F中任一函数依赖的右部仅含有一个属性。
        (2)F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。
        (3)F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。
   题号导航      2013年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第5题    在手机中做本题