资源描述:
《2-第二章:关系数据模型(5)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、本讲简要说明授课目的与要求:完成元组关系演算的讨论,学习域关系演算没关系运算的安全性,三种关系运算表达能力的等价性,关系完备性。三种典型的关系语言。授课重点:元组关系演算表达式域关系演算定义作业安排:P.6815,16元组关系演算定义复习一、元组关系演算的定义△=<U、D、d、H、h、θ、L1>,F={x[R]⏐ϕ(x)}二、元组演算表达式的值(演算结果)F(h)={t⏐t∈d(R)且I(ϕ(x/t))为真}1、元组演算公式的定义(原子、复合公式)2、合法公式(型与述)3、元组代入规则4、合法公式的解释规则元组关系演算定义{x[R]
2、ϕ
3、(x)}满足条件:①ϕ(x)是△上的合法公式;②x是ϕ中唯一自由出现的元组变量;③R是U的子集;④若T(x,ϕ)已定义,则必有R=T(x,ϕ);否则必有R⊇M(x,ϕ)。1)所有男生的信息{x[S]
4、s(x)∧x[SEX]=‘男’}2010-2-2842)刘老师开的所有课程的名称{x[CNAME]
5、∃y[C](c(y)∧y[TEACHER]=“Liu”∧x[CNAME]=y[CNAME])}2010-2-2853)学习了所有课程的学生{x[S]
6、s(x)∧∀z[C](∼c(z)∨∃v[SC](sc(v)∧v[C-NO]=z[C-NO]∧
7、v[S-NO]=x[S-NO]))}2010-2-2864)所有男生都学了的课程的课程号{x[C-NO]
8、∃y[C](c(y)∧x[C-NO]=y[C-NO]∧∀z[S](∼s(z)∨∼z[SEX]=“M”∨∃t[SC](sc(t)∧t[C-NO]=y[C-NO]∧t[S-NO]=z[S-NO]))}2010-2-2875)至少学了LIU老师所讲一门课程的所有学生的学号。{t[S-NO]︱∃y[C](c(y)∧y[TEACHER]=“Liu”∧∃z[SC](sc(z)∧z[C-NO]=y[C-NO]∧t[S-NO]=z[S-NO])}2
9、010-2-2886)未学LIU老师所讲任何一门课程的学生的学号。{t[S-NO]︱∀y[C](∼c(y)∨∼y[TEACHER]=“Liu”∨∼∃z[SC](sc(z)∧z[C-NO]=y[C-NO]∧z[S-NO]=t[S-NO])))}2010-2-2897)学了LIU老师所讲全部课程的学生的学号(姓名)。{t[NAME]︱∃x[S](s(x)∧t.NAME=x.NAME∧∀y[C](∼c(y)∨∼y[TEACHER]=“LIU”∨∃z[SC](sc(z)∧z[C-NO]=y[C-NO]∧z[S-NO]=x[S-NO])))}20
10、10-2-28108)学了“陈志坚所学全部课程”的所有学生。{x[S]︱s(x)∧∃x1[S](s(x1)∧x1[NAME]=“陈”∧∀y[SC](∼sc(y)∨∼y[S-NO]=x1[S-NO]∨∃y1[SC](sc(y1)∧y[C-NO]=y1[C-NO]∧y1[S-NO]=x[S-NO])))}2010-2-2811比较:{x[S]︱s(x)∧∀y1[SC](¬sc(y1)∨¬∃x1[S](s(x1)∧x1[NAME]=“陈”∧y1[S-NO]=x1[S-NO])∨∃y[SC](sc(y)∧y[C-NO]=y1[C-NO]∧y[S
11、-NO]=x[S-NO])))}学了“所有陈志坚所学全部课程”的学生。2010-2-2812四、关系完备性关系演算用来衡量关系语言的选择能力。如果一种语言可以生成所有由关系演算推导出来的关系,就称它具有关系完备性。大多数关系查询语言都具有关系完备性,但它们比关系代数或关系演算更具表达能力,因为它们扩展了计数、求和以及排序函数这样的附加操作。2010-2-2813五、将关系代数归结为元组演算定理:设∑=是一个关系代数,△=<U,D,d,H,h,θ,L1>是一个元组演算。那么对∑上的任一关系代数表达式E,必
12、存在△上的一个元组演算表达式F,使得对任一数据库状态h={r1,---,rp}都有E(h)=F(h),这样的E和F称为等价的,记为E≡F。证明思路:在囿代数情况下,对关系代数五种基本运算进行归纳。2010-2-28142.4.3域关系演算类似于元组演算用Ω=表示域演算。Ω上的域演算表达式:G={x1[A1]---xk[Ak]︱φ(x1,---,xk)}表示演算结果,它是以{A1,---,Ak}为框架的所有满足条件φ的元组的集合。其中φ为合法公式。2010-2-28151.公式定义1)原子公式:a.r(x,
13、---,x),1k其中关系r[R]的框架为{A,---,A},1kx是域变量或d(A)中的常量。ii它表示是关系r的元组。1kb.xθc,cθx,xθy,iiij其中x、y为域变量,c为常