在课本《数据库系统原理》中这两条元组表达式有点不明白,例6中 => 这个符号在当前语句中能不能用∧替代呢?为什么?例8看起来更加复杂,不知道分析这条语句该从哪下手……求学长不吝赐教!谢谢!
(6)=>不能用∧替换。
p=>q唯一不成立的情况是p是真但是q是假,用=>符号的意思是 学生关系里存在一条元祖u,使得对选课关系里的所有元祖v, 如果u[1] = v[1]成立,
那么v[2] != 'C2' 都成立;或者 u[1] = v[1]都不成立(即选课表里没有这个同学,等价于这个同学也没选C2课程),那么这个u就是结果中的元祖。
替换成∧后,得到的结果缺了选课关系里没有记录的同学信息。
(8)去掉前面的存在和任意修饰,关键就是分析 v[1] = 'S3' => (w[1] = u[1] ∧ w[2] = v[2]) 这个表达式,使得这个表达式为真的u都是结果中的元祖。
这个表达式为真的情况有两种:
1、v[1] = 'S3' 为假,因为v是任意修饰的,表示SC中所有的元祖v,都不等于S3,即S3同学没有选课,那么对每一个SC中的元祖u,表达式都成立,即所有的u都是结果中的元祖。
2、v[1] = 'S3'为真,且(w[1] = u[1] ∧ w[2] = v[2])为真。 说明如果S3同学选课了,那么对SC表中的一个元祖u,如果在SC表中存在一个元祖w,
使得w[1] = u[1]和 w[2] = v[2]都成立,即u这个同学在SC表中有一条选课记录w,w和S3这个同学的一条选课记录v的课程相同,则u在结果中。
望采纳,毕业好多年了,快速复习了一下,有些表述不清楚^^