免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2016年上半年 数据库系统工程师 上午试卷 综合知识
  第43题      
  知识点:   函数依赖   基础知识   数据库   异常
  关键词:   供应商   函数依赖   数据库   主键   函数   数据        章/节:   关系数据库       

 
某公司数据库中的元件关系模式为P(元件号,元件名称,供应商,供应商所在地,库存量),函数依赖集F如下所示:
F={元件号→元件名称,(元件号,供应商)→(库存量,供应商,供应商所在地)
元件关系的主键为(43) ,该关系存在冗余以及插入异常和删除异常等问题。为了解决这一问题需要将元件关系分解为(44),分解后的关系模式最高可以达到(45)。
 
 
  A.  (元件号,元件名称)
 
  B.  (元件号,供应商)
 
  C.  (元件号:供应商所在地)
 
  D.  (供应商,供应商所在地)
 
 
 

 
  第47题    2019年上半年  
   49%
对于关系模式R (X,Y, Z,W),下面有关函数依赖的结论中错误的是( )。
  第34题    2014年上半年  
   55%
给定关系模式R(U,F),U={A,B,C,D},函数依赖集F={AB→C,CD→B}。关系模式R(33),且分别有(34)。若将R分解成p={R1(AB..
  第50题    2020年下半年  
   69%
关系模式R中,X、Y、Z是U的子集。下列关于多值依赖描述中正确的是( ) 。
   知识点讲解    
   · 函数依赖    · 基础知识    · 数据库    · 异常
 
       函数依赖
        【定义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传递依赖。
 
       基础知识
        数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间联系和约束的抽象,是数据内在的性质,是语义的体现。函数依赖则是一种最重要、最基本的数据依赖。
               函数依赖
               【定义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传递依赖。
               码
               【定义7.7】设K为R(U,F)中的属性的组合,若K→U,且对于K的任何一个真子集K',都有K'不能决定U,则K为R的候选码(Candidata key),若有多个候选码,则选一个作为主码(Primary key)。
               注意:候选码通常也可以称为候选关键字,主码通常也可以称为主关键字或主键。包含在任何一个候选码中的属性叫作主属性(Prime attribute),否则叫作非主属性(Nonprime attribute)或非码属性(Non-key attribute)。最简单的情况,关系的单个属性是码;最极端的情况,若关系的所有属性为码,则称该码为全码(All-key)。
               例如,关系模式CSZ(CITY,ST,ZIP),其属性组上的函数依赖集为:
               F={(CITY,ST)→ZIP,ZIP→CITY}
               即城市、街道决定邮政编码,邮政编码决定城市。不难看出,(CITY,ST)和(ST,ZIP)都为候选码,因为它们可以决定关系模式CSZ的全属性,且属性CITY、ST、ZIP都是主属性。
               【定义7.8】若R(U)中的属性或属性组X非R的码,但X是另一个关系的码,则称X是R的外码(Foreign key)或称外键。
               注意:主码与外码提供了关系间联系的方法。例如,在员工(员工号,姓名,部门号,职位,联系方式)中,部门号不是码,但部门号是关系部门(部门号,部门名,负责人)的码,则部门号是关系员工的外码。若查询某员工属于哪个部门的部门名,则可通过关系员工的外码“部门号”建立与关系部门的联系,找到该员工所属的部门名。
               多值依赖
               【定义7.9】若关系模式R(U)中,X、Y、Z是U的子集,并且Z=U-X-Y。当且仅当对R(U)的任何一个关系r,给定一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关,则称“Y多值依赖于X”“X多值决定Y”成立。记为:X→→Y。
               多值依赖具有如下6条性质:
               .多值依赖具有对称性。即若X→→Y,则X→→Z,其中Z=U-X-Y。
               .多值依赖的传递性。即若X→→Y,Y→→Z,则X→→Z-Y。
               .函数依赖可以看成是多值依赖的特殊情况。
               .若X→→Y,X→→Z,则X→→YZ。
               .若X→→Y,X→→Z,则X→→Y∩Z。
               .若X→→Y,X→→Z,则X→→Z-Y。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       异常
        异常是一种形式的异常控制流,它一部分是由硬件实现的,一部分是由操作系统实现的。因为它们有一部分是由硬件实现的,所以具体细节将随系统的不同而有所不同。然而,对于每个系统而言,基本的思想都是相同的。
        异常(exception)就是控制流中的突变,用来响应处理器状态中的某些变化。异常可以分为四类:中断(interrupt)、陷阱(trap)、故障(fault)和中止(abort)。下表对这些类别的属性做了小结。
        
        异常的类别
        (1)陷阱。陷阱是有意的异常,是执行一条指令的结果。就像中断处理程序一样,陷阱处理程序将控制返回到下一条指令。陷阱最重要的用途是在用户程序和内核之间提供一个像过程一样的接口,叫做系统调用。
        用户程序经常需要向内核请求服务,例如读一个文件、创建一个新的进程、加载一个新的程序或者中止当前进程。为了允许对这些内核服务的受控的访问,处理器提供了一条特殊的syscall指令,当用户程序想要请求服务n时,可以执行这条指令。执行syscall指令会导致一个到异常处理程序的陷阱,这个处理程序对参数解码,并调用适当的内核程序。
        (2)故障。故障由错误情况引起,它可能被故障处理程序修正。当一个故障发生时,处理器将控制转移给故障处理程序。如果处理程序能够修正这个错误情况,它就将控制返回到故障指令,从而重新执行它。否则,处理程序返回到内核中的abort例程,abort例程会中止引起故障的应用程序。
        (3)中止。中止是不可恢复的致命错误造成的结果,典型的是一些硬件错误,例如DRAM或者SRAM位被损坏时发生的奇偶错误。中止处理程序从不将控制返回给应用程序。处理程序将控制返回给一个abort例程,该例程会中止这个应用程序。
   题号导航      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 /
 
第43题    在手机中做本题