免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2018年上半年 数据库系统工程师 上午试卷 综合知识
  第48题      
  知识点:   函数依赖   基础知识   范式   关系模型
  关键词:   第二范式   关系模型   函数依赖   范式   函数        章/节:   关系数据库       

 
关系模型SC(学号,姓名,学院,学院领导,课程号,课程名,成绩),函数依赖集F={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系SC中(48),要满足第二范式,应将SC分解为(49)。
 
 
  A.  只存在部分依赖
 
  B.  只存在传递依赖
 
  C.  只存在多值依赖
 
  D.  存在部分依赖和传递依赖
 
 
 

 
  第48题    2021年上半年  
   86%
设有关系模式:选课(学号,课程号,课程名,成绩),其函数依赖集为{课程号+课程名,课程名->课程号,(学号,课程号)->..
  第35题    2015年上半年  
   47%
给定关系模式R(A1,A2,A3,A4),R上的函数依赖集F= {A1A3
  第43题    2010年上半年  
   37%
给定关系模式R(U,F),U={A,B,C,D},F={A→C,A→D,C→B,B→D}, F中的冗余函数依赖为(43);若将R分解为&rh..
   知识点讲解    
   · 函数依赖    · 基础知识    · 范式    · 关系模型
 
       函数依赖
        【定义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。
 
       范式
        (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模式。
        上述四种范式之间有如下联系:1NF?2NF?3NF?BCNF。
 
       关系模型
        我们先学习几个相关的基本概念。
        (1)域:一组具有相同数据类型的值的集合。
        (2)笛卡儿积:给定一组域D1D2,…,Dn,这些域中可以有相同的。它们的笛卡儿积为:D1×D2×…×Dn={(d1d2,…,dn)|djDjj=1,2,…,n}。其中每一个元素(d1d2,…,dn)叫作一个n元组(简称为元组)。元组中的每一个值dj叫作一个分量。
        (3)关系:D1×D2×…×Dn的子集叫作在域D1D2,…,Dn上的关系,用RD1D2,…,Dn)表示。这里R表示关系的名字,n是关系的目或度。
        关系中的每个元素是关系中的元组,通常用t表示。关系是笛卡儿积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
        若关系中的某一属性组(一个或多个属性)的值能唯一地标识一个元组,则称该属性组为候选码(候选键)。若一个关系有多个候选码,则选定其中一个作为主码(主键)。主码的所有属性称为主属性。不包含在任何候选码中的属性称为非码属性(非主属性)。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式所有属性的组合构成关系模式的候选码,称为全码。
        关系可以有三种类型:基本关系(基本表、基表)、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
        基本关系具有以下6条性质:
        (1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
        (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
        (3)列的顺序无所谓,即列的次序可以任意交换。
        (4)任意两个元组不能完全相同。但在大多数实际关系数据库产品中,例如Oracle等,如果用户没有定义有关的约束条件,它们都允许关系表中存在两个完全相同的元组。
        (5)行的顺序无所谓,即行的次序可以任意交换。
        (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。
        关系的描述称为关系模式,一个关系模式应当是一个五元组,它可以形式化地表示为:RUD,DOM,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。关系模式通常可以简记为RA1A2,…,An)。其中R为关系名,A1A2,…,An为属性名。
        关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。
        在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系的集合构成一个关系数据库。
        关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。
   题号导航      2018年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第48题    在手机中做本题