时间:2021-07-01 10:21:17 帮助过:50人阅读
实体完整性约束:关系的主码中的属性不能为空 参照完整性约束:如果关系R2的外部码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk或者等于R1中某个元组的Pk,或者为空;意义:如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在;例如关系S
实体完整性约束:关系的主码中的属性值不能为空值
参照完整性约束:如果关系R2的外部码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk值或者等于R1中某个元组的Pk值,或者为空值;意义:如果关系R2的某个元组t2参照了关系R1的某个元组t1,则t1必须存在;例如关系S在D#上的取值有两种可能:空值,表示该学生尚未分到任何系中,若非空值,则必须是DEPT关系中某个元组的D#值,表示该学生不可能分到一个不存在的系中
左外连接,表示左边的每一个元组必须出现!!!
关系表达式的优化,将选择和投影操作尽量移动到叶节点。。。
一些SQL的写法:
左外连接:
成绩最高的学生:
除法操作:
select SNAME from S where not exists(select CN from C where not exists (select * from SC where SC.CN = C.CN and SC.SN = S.SN ));