单选题 设关系模式R(U,F),其中R上的属性集U={A,B,C,D,E},R上的函数依赖集F={A→B,DE→B,CB→E,E→A,B→D)。______为关系R的候选关键字。分解______是无损连接,并保持函数依赖的。
单选题
  • A.AB
  • B.DE
  • C.CE
  • D.CB
【正确答案】 C
【答案解析】
单选题
  • A.p={R1(AC),R2(ED),R3(B)}
  • B.p={R1(AC),R2(E),R3(DB)}
  • C.p={R1(AC),R2(ED),R3(AB)}
  • D.p={R1,(ABC),R2(ED),R3(ACE)}
【正确答案】 D
【答案解析】候选关键字使用规范化理论中的图示法进行求解,对R关系模式画图如图所示。
[*]
图中C结点为0度结点,所以它必然被包含在候选关键字中,但仅有C结点并不能遍历全图,所以需要加入其他中间结点。若加入B结点,则BC→E,E→A,B→D,能遍历全图。与此同时,加入A、E都能起到同样的效果。所以关系R有三个候选键:BC、EC,AC。
接下来是判断模式分解过程中的无损连接与保持函数依赖的问题。这个问题相对来说比较复杂。如果逐个判断每个选项的无损连接与保持函数依赖,无疑工作量是很大的。所以我们可以先观察这些选项有什么特点,通过观察发现A与B选项都存在单字段的分解。在进行模式分解时,如果出现单字段,同时该字段未在其他分解的子关系模式中出现,并且函数依赖中有此字段的依赖关系,则说明此分解没有保持函数依赖。原因很简单,关于该字段的那个函数依赖,必然在分解中丢失了。所以A与B选项可以先排除。
然后判断C与D是否为无损连接。
对选项C构造初始的判定表如表所示。
模式分解C选项初始判定表
分解的关系模式 A B C D E
R1(AC) a1 b12 a3 b14 b15
R2(ED) b21 b22 b23 a4 a5
R3(AB) a1 a2 b33 b34 b35
由于A→B,属性A的第1行和第3行相同,可以将第1行b12改为a2;又由于B→D,属性B的第1行和第3行相同,所以需要将属性D第1行b14和第3行b34,改为同一符号,即取行号值最小的b14。修改后的判定表如表所示。
模式分解C选项修改判定表
分解的关系模式 A B C D E
R1(AC) a1 a2 a3 b14 b15
R2(ED) b21 b22 b23 a4 a5
R3(AB) a1 a2 b33 b14 b35
反复检查函数依赖集F,无法修改上表,所以选项C是有损连接的。 对选项D构造初始的判定表如下表所示。
模式分解D选项初始判定表
分解的关系模式 A B C D E
R1(ABC) a1 a2 a3 b14 b15
R2(ED) b21 b22 b23 a4 a5
R3(ACE) a1 b32 a3 b34 a5
由于A→B,属性A的第1行和第3行相同,可以将第3行b32改为a2;E→A,属性E的第2行和第3行相同,可以将属性A第2行b21改为a1;AC→E,属性E的第2行和第3行相同,可以将属性E第1行b15改为a5;B→D,属性B的第1行和第3行相同,所以需要将属性D第1行b14和第3行b34,改为同一符号,即取行号值最小的b14。E→D,属性E的第1~3行相同,可以将属性D第1行b14和第3行b34改为a4。修改后的判定表如表所示。
模式分解D选项修改判定表
分解的关系模式 A B C D E
R1(ABC) a1 a2 a3 a4 a5
R2(ED) a1 b22 b23 a4 a5
R3(ACE) a1 a2 a3 a4 a5
由于表第一行全为a,故分解无损。
所以本空应选D。
单选题 以下关于RDBMS数据分布的叙述中,错误的是______。
  • A.数据垂直分割是将不同表的数据存储到不同的服务器上
  • B.数据水平分割是将不同行的数据存储到不同的服务器上
  • C.数据复制是将数据的多个副本存储到不同的服务器上
  • D.数据复制中由RDBMS维护数据的一致性
【正确答案】 A
【答案解析】数据分割和数据复制是数据分布的两种重要方式。数据分割是指将数据库中的表智能地分布在多个磁盘(或服务器)上,即可以将一个表的数据分布在不同的磁盘空间上,从而有效地提高并行处理的性能和高可用性。数据分割可以分为水平分割和垂直分割两种。 水平分割是将表中不同行的数据存储到不同的磁盘上。例如,当多个事务频烦访问数据表的不同行时,水平分割表,并消除新表中的冗余数据列。若个别事务要访问整个数据,则要用连接操作。水平分割会给应用增加复杂度,它通常在查询时需要多个表名,查询所有数据需要并操作。在许多数据库应用中,这种复杂性会超过它带来的优点,因为只要索引关键字不大,则在索引用于查询时,表中增加两到三倍数据量,查询时也就增加读一个索引层的磁盘次数。 垂直分割是将表中不同字段的数据存储到不同的磁盘上。例如,当多个事务频繁访问表的不同列时,可将该表垂直分成多个表。垂直分割可以使得数据行变小(因为列少了,一行数据就变小),一个数据页就能存放更多的数据,在查询时就会减少I/O次数。其缺点是需要管理冗余列,查询所有数据时需要连接操作。 数据分割增加了维护数据完整性的代价。 数据复制是为了提升数据访问效率而采用的一种增加数据冗余的方法,它将数据的多个副本存储到不同的服务器上,由RDBMS负责维护数据的一致性。
单选题 在数据库设计的______阶段进行关系规范化。
  • A.需求分析
  • B.概念设计
  • C.逻辑设计
  • D.物理设计
【正确答案】 C
【答案解析】由试题1的分析可知,在数据库设计的逻辑设计阶段将E-R模型转换成关系模式,并使用规范化理论对关系模式进行优化处理,一般需要达到第三范式或BC范式。