免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2013年上半年 数据库系统工程师 上午试卷 综合知识
  第33题      
  知识点:   关系代数运算   五种基本的关系代数运算   元组演算
  关键词:   关系代数   元组演算表达式   表达式   元组        章/节:   关系数据库       

 
关系R、S如下图所示,关系代数表达式πR.A,S.B,S.CR.A>S.B(RxS)(33),它与 元组演算表达式{t I (彐u)(彐v)(R(u)∧S(v)∧(34) ∧ (35) )}等价。

 
 
  A. 
 
  B. 
 
  C. 

 
  D. 
 
 
 

 
  第36题    2020年下半年  
   32%
对于两个关系E和F,( )的运算结果的任一 元组, 同时属于E和F。
  第40题    2019年上半年  
   58%
给定关系R(A,B,C,D)与S(C,D, E,F),则RxS与RS))等价的SQL语句如下:
SELECT R. B, R. C, R. D FROM R, S WHERE (4..
  第36题    2023年上半年  
   0%
设有关系R(E, F, G)和S(F, G, H, K),关系代数表达(  )可正确计算:如果进行运算R-S,其结果集包含属性(  )。
   知识点讲解    
   · 关系代数运算    · 五种基本的关系代数运算    · 元组演算
 
       关系代数运算
        关系代数运算符有4类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。根据运算符的不同,关系代数运算可分为传统的集合运算和专门的关系运算。传统的集合运算是从关系的水平方向进行的,包括并、交、差及广义笛卡儿积。专门的关系运算既可以从关系的水平方向进行运算,又可以向关系的垂直方向运算,包括选择、投影、连接以及除法,如下表所示。
        
        关系代数运算符
 
       五种基本的关系代数运算
        五种基本的关系代数运算包括并、差、笛卡儿积、投影和选择,其他运算可以通过基本的关系运算导出。
               并(Union)
               关系RS具有相同的关系模式,即RS的元数相同(结构相同)。关系RS的并由属于R或属于S的元组构成的集合组成,记作RS,其形式定义如下,式中t为元组变量。
               RS={ttRtS
               差(Difference)
               关系RS具有相同的关系模式,关系RS的差是由属于R但不属于S的元组构成的集合,记作R-S,其形式定义如下:
               
               广义笛卡儿积(Extended Cartesian Product)
               两个元数分别为n目和m目的关系RS的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组,记作R×S,其形式定义如下:
               R×S={tt=<tntm>∧tnRtmS
               如果RS中有相同的属性名,可在属性名前加关系名作为限定,以示区别。若RK1个元组,SK2个元组,则RS的广义笛卡儿积有K1×K2个元组。
               注意:本教材中的<tntm>意为元组tntm拼接成的一个元组。
               投影(Projection)
               投影运算是从关系的垂直方向进行运算,在关系R中选择出若干属性列A组成新的关系,记作πAR),其形式定义如下:
               πA(R)={tA]|tR
               选择(Selection)
               选择运算是从关系的水平方向进行运算,是从关系R中选择满足给定条件的诸元组,记作σFR),其形式定义如下:
               σFR)={ttRFt)=True}
               其中,F中的运算对象是属性名(或列的序号)或常数,运算符是算术比较符(<、≤、>、≥、≠)和逻辑运算符(∧、∨、¬)。例如,σ1≥6R)表示选取R关系中第1个属性值大于等于第6个属性值的元组;σ1≥'6'(R)表示选取R关系中第1个属性值大于6的元组。
 
       元组演算
        在元组演算中,元组演算表达式简称为元组表达式,其一般形式为{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]}。
   题号导航      2013年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第33题    在手机中做本题