文档详情

第3篇 关系数据库系统模型.ppt

发布:2017-05-21约1.74万字共110页下载文档
文本预览下载声明
1. 原子公式(Atoms) 自由变量 在一个公式中,如果没有对元组变量使用存在量词或全称量词,那么这些元组变量称为自由元组变量。上述原子公式中所出现的元组变量,在自身关系的范围内均为自由变量。 约束变量 若在一个公式中对元组变量使用了存在量词或全称量词,则称这些元组变量为约束变量。 2.公式(Formulas) (1)每个原子公式是一个公式。其中的元组变量是自由变量。 (2)设P1和P2是公式,那么下列4项也是公式。 P1 表示命题:“若P1为真,则﹁P1为假;若P1为假,则﹁P1为真”。 P1∧P2 表示命题:“若P1,P2同时为真,则P1∧P2亦为真;否则,P1∧P2为假”。 P1∨ P2 表示命题:“若P1,P2之中有一个为真或两个均为真,则P1∨ P2为真;否则,P1∨P2为假”。 P1= P2 表示命题:“若P1为真同时P2为假,则P1= P2为假;否则P1= P2为真”。公式中的元组变量性质(指自由性或约束性)将与P1和P2保持一致。 2.公式(Formulas) (3)设P1是公式,t是P1中的元组变量,那么下列两项也是公式。 (?t)(P1) 表示命题:“若有一个t使P1为真,则(?t)(P1)为真;否则,(? t)(P1)为假”。 (?t)是一个量词,其含义为“存在这样的t”或“至少有这样一个t”。元组变量t在P1中是自由的,在(?t)(P1)中是约束的。P1中其他元组变量的自由或约束性质在(?t)(P1)中没有改变。 (? t)(P1) 表示命题:“对所有的t,使P1都为真,则(? t)(P1)为真;否则,(? t)(P1)为假”。 (? t)也是一个量词,其含义为“对所有的t”或“对任意一个t”。元组变量t在P1中是自由的,在(? t)(P1)中是约束的。P1中其他元组变量的自由或约束性质在(? t)(P1)中没有改变。 2.公式(Formulas) (4)在公式中,各种运算符的优先级从高到低依次为:θ,和,,∧和∨,=。加括号时,括号中的运算优先。 (5)所有公式均按上述的规则经有限次复合求得,除此之外的都不是公式。 3.公式等价变换 根据数理逻辑的谓词演算规则,公式可做等价变换,下面是三个常用的等价变换。 (1) P1∧P2等价于 ?(? P1∨ ? P2) P1∨P2等价于? (? P1∧ ? P2) (2) P1=P2等价于? P1∨P2 (3) (? t)(P1(t))等价于(? t)(? P1(t)) (? t)(P1(t))等价于?(? t)(? P1(t)) 4. 元组关系演算与关系代数的等价性 (1)并操作(∪): R∪S ={t|R(t)∨S(t)} (2)差操作(-): R-S={t|R(t)∧ ? S(t)} (3)笛卡尔乘积(×): R×S={t(m+n) |(? u(m)) (? v(n))(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧…t[m]=u[m]∧t[m+1] =v[1]∧t[m+2]=v[2]∧…∧t[m+n]=v[n]) } 式中,R是m目关系,S是n目关系,t(m+n)表示t的目数为m+n。 4. 元组关系演算与关系代数的等价性 (4)投影(Π): Πi1,i2,…,ik(R)= {t(k)| (u)R(u)∧t[1]=u[i1]∧t[2]=u[i2]∧…t[k] =u[ik])} (5)选择(σ): σF(R)={t|R(t)∧F′} 其中,F′是F在元组演算中等价的表示形式。 5. 元组关系演算举例 【例3-19】设有一个学生-课程关系数据库,包括学生关系(S)、课程关系(C)和选修关系(SC),用元组关系演算完成下列问题的查询: (1)学号为1105054209的学生因故退学,删除其相关记录。 (2)在关系C中增加一门新课程(C9,网球,5,36,2)。 (3)检索计算机系的全体学生。 (4)检索年龄大于19岁的男生。 (5)给出所有课程的名称和学时。 (6)检索选修课程号为C5的学生学号和成绩及其姓名。 (7)检索未选修“羽毛球”课程的学生的学号和姓名。 (8)检索选修课程号为C1或C3的学生的学号和姓名。 (9)检索同时选修课程号为C1和C3的学生的姓名。 (10)检索选修全部课程的学生的姓名。 (11)检索选修课程包含学生1105054105选修的课程的学生的学号,或选修课程不包含学生1105054105选修的课程的学生的姓名。 3.4.2 域关系演算 域关系演算类似于元组关系演算。域演算表达式的 一般形式为: {t1t2…tk|p(t1t2…tk)} 其中, t1t2…tk为元组变量t的各个分量,统称为域变量
显示全部
相似文档