免费智能真题库 > 历年试卷 > 系统架构设计师 > 2017年下半年 系统架构设计师 上午试卷 综合知识
  第11题      
  知识点:   关系模型   元组演算
  关键词:   元组演算表达式   表达式   元组        章/节:   数据库系统       

 
给定元组演算表达式R*={t│(Эu)(R(t)∧S(u)∧t[3]<u[2])} ,若关系R、S如下图所示,则( )。
 
 
  A.  R*={(3,7,11),(5,9,13),(6,10,14)}
 
  B.  R*={(3,7,11),(4,5,6),(5,9,13),(6,10,14)}
 
  C.  R*={(1,2,3),(4,5,6),(7,8,9)}
 
  D.  R*={(1,2,3),(4,5,6),(7,8,9),(10,11,12)}
 
 
 

 
  第5题    2013年下半年  
   48%
假设关系模式R(U,F),属性集U={A,B,C},函数依赖集F={A→B,B→C}。若将其分解为p={Rl(U1,F1),R2(U2,F2)},其中U1={A,..
  第10题    2017年下半年  
   44%
给定关系模式R(U,F),其中:属性集U={A1 ,A2,A3,A4,A5,A6},函数依赖集F={A1→A2, A1→A3, A3→A4, A1A5→A6}。..
  第8题    2009年下半年  
   65%
设关系模式R(U,F),其中R上的属性集U={A, B, C, D, E},R上的函数依赖集 F={A→B,DE→B,CB→E,E→A, B→..
   知识点讲解    
   · 关系模型    · 元组演算
 
       关系模型
        我们先学习几个相关的基本概念。
        (1)域:一组具有相同数据类型的值的集合。
        (2)笛卡儿积:给定一组域D1,D2,…,Dn,这些域中可以是相同的。它们的笛卡儿积为:D1×D2×…×Dn={(d1,d2,…,dn)|dj∈Dj,j=1,2,…,n}。其中每一个元素(d1,d2,…,dn)叫作一个n元组(简称为元组)。元组中的每一个值dj称为一个分量。
        (3)关系:D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,用R(D1,D2,…,Dn)表示。这里R表示关系的名字,n是关系的目或度。
        关系中的每个元素是关系中的元组,通常用t表示。关系是笛卡儿积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性。
        若关系中的某一属性组(一个或多个属性)的值能唯一地标识一个元组,则称该属性组为候选码(候选键)。若一个关系有多个候选码,则选定其中一个作为主码(主键)。主码的所有属性称为主属性。不包含在任何候选码中的属性称为非码属性(非主属性)。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式所有属性的组合构成关系模式的候选码,称为全码。
        关系可以有三种类型:基本关系(基本表、基表)、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
        基本关系具有以下6条性质:
        (1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
        (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
        (3)列的顺序无所谓,即列的次序可以任意交换。
        (4)任意两个元组不能完全相同。但在大多数实际关系数据库产品中,例如Oracle等,如果用户没有定义有关的约束条件,它们都允许关系表中存在两个完全相同的元组。
        (5)行的顺序无所谓,即行的次序可以任意交换。
        (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。
        关系的描述称为关系模式,一个关系模式应当是一个五元组,它可以形式化地表示为:R(U,D,DOM,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。关系模式通常可以简记为R(A1,A2,…,An)。其中R为关系名,A1,A2,…,An为属性名。
        关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。
        在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系的集合构成一个关系数据库。
        关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。
 
       元组演算
        在元组演算中,元组演算表达式简称为元组表达式,其一般形式为{t|Pt)},其中,t是元组变量,表示一个元数固定的元组;P是公式,在数理逻辑中也称为谓词,也就是计算机语言中的条件表达式。{t|Pt)}表示满足公式P的所有元组t的集合。
        在元组表达式中,公式由原子公式组成。原子公式有下列3种形式。
        (1)Rs),其中R是关系名,s是元组变量。其含义是“s是关系R的一个元组”。
        (2)s[i]θu[j],其中su是元组变量,θ是算术比较运算符,s[i]和u[j]分别是s的第i个分量和u的第j个分量。原子公式s[i]θu[j]表示“元组s的第i个分量与元组u的第j个分量之间满足θ运算”。
        (3)s[i]θaaθu[j],其中的a为常量。其含义类似于(2)。
        在一个公式中,如果元组变量未用存在量词?或全称量词?等符号定义,那么称为自由元组变量,否则称为约束元组变量。公式的递归定义如下:
        (1)每个原子是一个公式。其中的元组变量是自由变量。
        (2)如果P1P2是公式,那么┓P1P1P2P1P2P1P2也是公式。
        (3)如果P1是公式,那么(?s)(P1)和(?s)(P1)也都是公式。
        (4)公式中各种运算符的优先级从高到低依次为:θ、?和?、┓、∨和∧、→。在公式外还可以加括号,以改变上述优先顺序。
        (5)公式只能由上述4种形式构成,除此之外构成的都不是公式。
        在元组演算的公式中,有下列4个等价的转换规则。
        (1)P1P2等价于┓(┓P1∨┓P2)。
        (2)P1P2等价于┓(┓P1∧┓P2)。
        (3)(?s)(P1)(s))等价于┓(?s)(┓P1s))。
        (?s)(P1s))等价于┓(?s)(┓P1s))。
        (4)P1P2等价于┓P1P2
        关系代数表达式可以转换为元组表达式,例如:
        (1)RS可用{t|Rt)∨St)}表示。
        (2)R-S可用{t|Rt)∧┓St)}表示。
        (3)R×S可用{t|(?u)(?v)(Ru)∧Sv)∧t[1]=u[1]∧…∧t[r]=u[r]∧t[r+1]=v[1]∧…∧t[r+s]=v[s])}表示,此处设Rr元,Ss元。
        (4)设投影操作是π2,3R),那么元组表达式可写成{t|(?u)(Ru)∧t[1]=u[2]∧t[2]=u[3])}。
        (5)σFR)可用{t|Rt)∧F′}表示,F′是F的等价表示形式。例如,σ2=′dR)可写成{t|(Rt)∧t[2]=′d′)。
        例如,设学生S、课程C、学生选课SC的关系模式分别为:S(Sno, Sname, Sage, Saddr)、C(Cno, Cname, Pcno),以及SC(Sno, Cno, Grade)。我们求与关系代数表达式等价的元组演算表达式。
        因为涉及3个关系模式SSCC,为了转换成等价的元组演算表达式,需要设置3个元组变量uvw,而且这3个元组变量只要用存在量词?限定就可以了。(?uSu)表示在S关系中存在一个元组,(?vSCv)表示在SC关系中存中一个元组,(?wCw)表示在C关系中存在一个元组。因为u[1]对应的是S.Sno,v[1]对应的是SC.Sno,v[2]对应的是SC.Cno,w[1]对应的是C.Cno,w[2]对应的是C.Cname,所以S.Sno=SC.Sno且SC.Cno=C.Cno且Cname=′data′等价于u[1]=v[1]∧v[2]=w[1]∧w[2]=′data′。因为本题的结果集为Sno、Sname和Grade,而u[1]对应的是S.Sno,u[2]对应的是S.Sname,v[3]对应的是SC.Grade,所以对属性列Sno、Sname和Grade的投影等价于t[1]=u[1]∧t[2]=u[2]∧t[3]=v[3]。因此,与等价的元组演算表达式为{(?u)(?v)(?wSu)∧SCv)∧Cw)∧u[1]=v[1]∧v[2]=w[1]∧w[2]=′data′∧t[1]=u[1]∧t[2]=u[2]∧t[3]=v[3]}。
   题号导航      2017年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第11题    在手机中做本题