全部科目 > 软件设计师 >
2021年下半年 上午试卷 综合知识
第 50 题
知识点 函数依赖   结论  
关键词 函数依赖   函数  
章/节 计算机软件知识  
 
 
设关系模式R(U,F), U={A1,A2, A3, A4},函数依赖集F={A1-→A2, A1→A3,A2→A4},关系R的候选码是(50)。下列结论错误的是(51)。
 
  A.  A1
 
  B.  A2
 
  C.  A1A2
 
  D.  A1A3




 
 
相关试题     计算机软件知识 

  第28题    2018年下半年  
某操作系统文件管理采用索引节点法。每个文件的索引节点有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地..

  第57题    2019年下半年  
对于一个n阶的对称矩阵A,将其下三角区域(含主对角线)的元素按行存储在一维数组S中,设元素A[i][j]存放在S[K]中,且S[1]=A[0][0],则k与i、j (i≤j)的对应关系是(..

  第28题    2013年上半年  
假设内存管理采用可变式分区分配方案,系统中有五个进程P1~P5,且某一时刻内存使用情况如下图所示(图中空白处表示未使用分区)。此时,若P5进程运行完并释放其占..

 
知识点讲解
· 函数依赖
· 结论
 
        函数依赖
        数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互联系和约束的抽象,是数据内在的性质,是语义的体现。函数依赖则是一种最重要、最基本的数据依赖。
        (1)函数依赖。设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作X→Y。
        (2)非平凡的函数依赖。如果X→Y,但YX,则称X→Y是非平凡的函数依赖。
        (3)平凡的函数依赖。如果X→Y,但YX,则称X→Y是平凡的函数依赖。
        (4)完全函数依赖。在R(U)中,如果X→Y,并且对于X的任何一个真子集X',都有X'不能决定Y,则称Y对X完全函数依赖,记作。
        (5)部分函数依赖。如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作。部分函数依赖也称局部函数依赖。
        (6)传递依赖。在R(U,F)中,如果X→Y,Y?X,Y不能函数决定X,Y→Z,则称Z对X传递依赖。
        (7)码。设K为R(U,F)中的属性的组合,若K→U,且对于K的任何一个真子集K',都有K'不能决定U,则K为R的候选码,若有多个候选码,则选一个作为主码。候选码通常也称为候选关键字。
        (8)主属性和非主属性。包含在任何一个候选码中的属性叫做主属性,否则叫做非主属性。
        (9)外码。若R(U)中的属性或属性组X非R的码,但X是另一个关系的码,则称X为外码。
        (10)函数依赖的公理系统(Armstrong公理系统)。设关系模式R(U,F)中,U为属性集,F是U上的一组函数依赖,那么有以下的推理规则。
        .A1自反律(Reflexivity):若Y?X?U,则X→Y为F所蕴含。
        .A2增广律(Augmentation):若X→Y为F所蕴含,且Z?U,则XZ→YZ为F所蕴含。
        .A3传递律(Transitivity):若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。
        根据以上3条推理规则,可以推出下面3条推理规则。
        .合并规则:若X→Y,X→Z,则X→YZ为F所蕴含。
        .伪传递率:若X→Y,WY→Z,则XW→Z为F所蕴含。
        .分解规则:若X→Y及Z?Y,则X→Z为F所蕴含。
        引理X→A1A2…Ak成立的充分必要条件是X→Ai(i=1,2,…,k)成立。
 
        结论
        从上面的概念和例子可以看出,要进行上面的白盒测试是需要投入巨大的测试资源,包括人力、物力和时间等。但是为什么还要进行白盒测试呢?原因如下。
        . 逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。当我们设计和实现主流之外的功能、条件或控制时,错误往往开始出现在我们的工作中。日常处理往往被很好地了解(和很好地细查),而“特殊情况”的处理则难以发现。
        . 我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行。程序的逻辑流有时是违反直觉的,这意味着我们关于控制流和数据流的一些无意识的假设,可能导致设计错误。只有路径测试才能发现这些错误。
        . 印刷上的错误是随机的。当一个程序被翻译为程序设计语言源代码时,有可能产生某些打印错误,很多将被语法检查机制发现,但是,其他的错误只有在测试开始时才会被发现。打印错误出现在主流上和出现在不明显的逻辑路径上的可能性是一样的。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2026 All Rights Reserved
软考在线版权所有