2017-02-09 84 views
-1

考虑以下关系模式。元组关系计算

Students(rollno: integer, sname: string) 
Courses(courseno: integer, cname: string) 
Registration(rollno: integer, courseno: integer, percent: real) 

对于下面的查询:

{T ∣ ∃S∈Students,∃R∈Registration(
    S.rollno=R.rollno ∧ R.courseno=107 ∧ R.percent>90 ∧ T.sname=S.sname)} 

会满足元组的全部检索或只有他们T.sname? (如果是这样,它会不同吗?)

+0

请给出您正在使用的元组演算的版本的参考。 PS“整个满意的元组”是什么意思?首先,它不明确。其次,“整个满足元组”具有哪些属性?任何时候只有'sname'属性的'T'的元组值满足右边,*其他任何具有任何额外属性的元组都可以满足右边。 – philipxy

回答

0

关系微积分或代数表达式返回关系值。关系持有一组元组。集不包含重复。

结果中的属性取决于如何定义特定版本的元组关系演算。两个合理的可能性是:

  • 右手边说,名为T元组值是在给定的关系来定义具有一定的属性有一定的关系的一个要素。

  • 我们拿T来命名一个元组值,该元组的值恰好在右边的T.之后使用。

(否则,任何时间,名称T有一个元组值只是属性sname满足右手边,每隔元组有任何任何值,不得以任何附加属性也满足右手边。)

(某些版本的元组关系演算只给出左侧的属性名称,有些版本给出左侧的属性名称和值(在右侧使用元组名称),有些版本给出了表单的表达式R.a在左边,因此给出属性名称和值版本就像其中之一,但也给出了左侧的元组名T。)