免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2016年上半年 数据库系统工程师 上午试卷 综合知识
  第30题      
  知识点:   Armstrong公理系统   函数依赖   结论
  章/节:   关系数据库       

 
对于关系模式R(X,Y, Z),下列结论错误的是(30)。
 
 
  A.  若X→Y,Y→Z,则X→Z
 
  B.  若X→Z,则XY→Z
 
  C.  若XY→Z,则X→Z,Y→Z
 
  D.  若X→Y,X→Z,则X→YZ
 
 
 

 
  第34题    2012年上半年  
   34%
某销售公司数据库的零件关系P(零件号,零件名称,供应商,供应商所在地,库存量),函数依赖集F={零件号一>零件名称,(零件号..
  第50题    2020年下半年  
   67%
关系模式R中,X、Y、Z是U的子集。下列关于多值依赖描述中正确的是( ) 。
  第48题    2019年上半年  
   55%
关系模式R<{A, B, C}, {AC-B, B-C}>的候选码之一是(48);由于该模式存在主属性对码的部分函数依赖,其规范化程度最高属于..
 
  第47题    2019年上半年  
   48%
对于关系模式R (X,Y, Z,W),下面有关函数依赖的结论中错误的是( )。
  第55题    2017年上半年  
   60%
给定关系模式R<U ,F> ,其中属性集U={A,B,C,D,E,G ,H} 函数依赖集F= {A→B,AE→H,BG→DC,E→C,..
  第50题    2018年上半年  
   36%
下列关于函数依赖的叙述中,错误的是( )
   知识点讲解    
   · Armstrong公理系统    · 函数依赖    · 结论
 
       Armstrong公理系统
        Armstrong公理系统(或称函数依赖的公理系统):设关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么有如下推理规则:
        (1)A1自反律:若,则X→Y为F所蕴涵。
        (2)A2增广律:若X→Y为F所蕴涵,且,则XZ→YZ为F所蕴涵。
        (3)A3传递律:若X→Y,Y→Z为F所蕴涵,则X→Z为F所蕴涵。
        根据上述三条推理规则又可推出下述三条推理规则:
        (1)合并规则:若X→Y,X→Z,则X→YZ为F所蕴涵。
        (2)伪传递率:若X→Y,WY→Z,则XW→Z为F所蕴涵。
        (3)分解规则:若X→Y,,则Ⅹ→Z为F所蕴涵。
        引理:X→A1A2…Ak成立的充分必要的条件是X→Ai成立(i=1,2,3,…,k)。证明略。
 
       函数依赖
        【定义7.4】设R(U)是属性集U上的关系模式,X、Y是U的子集。若对R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作:X→Y。
        .如果X→Y,但,则称X→Y是非平凡的函数依赖。一般情况下总是讨论非平凡的函数依赖。
        .如果X→Y,但,则称X→Y是平凡的函数依赖。
        注意:函数依赖X→Y的定义要求关系模式R的任何可能的r都满足上述条件。因此不能仅考察关系模式R在某一时刻的关系r,就断定某函数依赖成立。
        例如,关系模式Student(Sno,Sname,SD,Sage,Sex)可能在某一时刻,Student的关系r中每个学生的年龄都不同,也就是说没有两个元组在Sage属性上取值相同,而在Sno属性上取值不同,但我们决不可据此就断定Sage→Sno。很有可能在某一时刻,Student的关系r中有两个元组在Sage属性上取值相同,而在Sno属性上取值不同。
        函数依赖是语义范畴的概念,我们只能根据语义来确定函数依赖。例如,在没有同名的情况下,Sname→Sage,而在允许同名的情况下,这个函数依赖就不成立了。
        【定义7.5】在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'不能决定Y,则称Y对X完全函数依赖,记作:。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:。部分函数依赖也称局部函数依赖。
        例如,给定一个学生选课关系SC(Sno,Cno,G),我们可以得到F={(Sno,Cno)→G},对(Sno,Cno)中的任何一个真子集Sno或Cno都不能决定G,所以,G完全依赖于Sno,Cno。
        【定义7.6】在R(U,F)中,如果X→Y,,Y→Z,则称Z对X传递依赖。
 
       结论
        从上面的概念和例子可以看出,要进行上面的白盒测试是需要投入巨大的测试资源,包括人力、物力和时间等。但是为什么还要进行白盒测试呢?原因如下。
        . 逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。当我们设计和实现主流之外的功能、条件或控制时,错误往往开始出现在我们的工作中。日常处理往往被很好地了解(和很好地细查),而“特殊情况”的处理则难以发现。
        . 我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行。程序的逻辑流有时是违反直觉的,这意味着我们关于控制流和数据流的一些无意识的假设,可能导致设计错误。只有路径测试才能发现这些错误。
        . 印刷上的错误是随机的。当一个程序被翻译为程序设计语言源代码时,有可能产生某些打印错误,很多将被语法检查机制发现,但是,其他的错误只有在测试开始时才会被发现。打印错误出现在主流上和出现在不明显的逻辑路径上的可能性是一样的。
   题号导航      2016年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第30题    在手机中做本题