问题 问答题

选出正确的关系代数表达式。

查询内科病区患胃病的病人的姓名。

A.σName="内科"∨SC="胃病"2(R)) B.σName="内科"∧SC="胃病"2(R)) C.π2Name="内科"∨SC="胃病"(R)) D.π2Name="内科"∧SC="胃病"(R))

答案

参考答案:

解析:D
基本的关系代数包括并、差、广义笛卡儿积、投影、选择,其他运算可以通过基本的关系运算导出。
关系R与s具有相同的关系模式,即R与S的结构相同,关系R与S的并由属于R或属于S的元组构成的集合组成,记做R∪S,其形式定义如下:R∪S={t|t∈R∨t∈S},式中t为元组变量。
· 并(Union)。关系R与S具有相同的关系模式,即R与S的结构相同,关系R与s的并由属于R或属于S的元组构成的集合组成,记做R∪S,其形式定义如下:R∪S={t|t∈R∨t∈S},式中t为元组变量。
· 差(Difference)。关系R与s具有相同的关系模式,关系R与S的差由属于R但不属于S的元组构成的集合组成,记做R-S,其形式定义如下:。
· 广义笛卡儿积(Extended CartesianProduct)。两个元组分别为n目和m目的关系R和S的笛卡儿积是一个n+m列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组,记做R×S,其形式定义如下:R×S={t|t=<tn,tm>∧tn∈R∧tm∈S}。如果R和S中有相同的属性名,那么可在属性名前加关系名作为限定,以示区别。若R有k1个元组,S有k2个元组,则R和S的广义笛卡儿积有k1×k2个元组。
· 投影(Projection)。投影运算是从关系垂直方向进行运算的,在关系R中选择出若干属性列A组成新的关系,记做πA(R),其形式定义如下:πA(R)={t[A]|t∈R}。
· 选择(Selection)。选择运算是从关系的水平方向进行运算的,从关系R中选择满足给定条件的诸元组,记做σF(R),其形式定义如下:σF(R)={t|t∈R∧F(t)=True)。其中,F中的运算对象是属性名(或列的序号)或常数。运算符是算术比较符(<,≤,>,≥,=,≠)和逻辑运算符(∧,∨,)。
在此主要涉及投影和选择,根据语义,(1)中“外科”与“内科”应为或关系,且应先选择再投影,因为作投影运算之后,选择操作涉及的列已经不在了,故为C; (2)中“内科”和“胃病”应为与关系,同样应该先选择再投影,故为D。

选择题
选择题