07计科数据库原理2-1.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * 自然连接 R S 等值连接与自然连接的区别 1. 等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同。即两关系只有在同名属性才能进行自然连接。如上例R中的C列和S中的D列可进行等值连接,但因为属性名不同,不能进行自然连接。 2. 等值连接不将重复属性去掉,而自然连接去掉重复属性。也可以说,自然连接是去掉重复列的等值连接。如上例R中的B列和S中的B列进行等值连接时,结果有两个重复的属性列B,而进行自然连接时,结果只有一个属性列B。 外连接 如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。 左外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN) 右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。 等值连接与自然连接的区别 1. 等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同。即两关系只有在同名属性才能进行自然连接。 2. 等值连接不将重复属性去掉,而自然连接去掉重复属性。也可以说,自然连接是去掉重复列的等值连接。 R S 自然连接 外连接 如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。 左外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN) 右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。 A B C ? B D a1 b1 2 ? b1 5 a1 b2 4 ? b2 6 a2 b3 6 ? b4 7 a2 b4 8 ? b5 8 R S A B C D a1 b1 2 5 a1 b2 4 6 a2 b3 6 null a2 b4 8 7 null b5 null 8 外连接 A B C D a1 b1 2 5 a1 b2 4 6 a2 b3 6 null a2 b4 8 7 左外连接 A B C D a1 b1 2 5 a1 b2 4 6 a2 b4 8 7 null b5 null 8 右外连接 3、关系代数的应用实例 例:数据库中有三个关系 S(S#,SNAME,AGE,SEX) C(C#,CNAME,TEACHER) SC(S#,C#,GRADE) 查询讲授数据库课程的教师 检索学习课程号为C2的学生的学号与成绩 检索学习课程号为C2的学生的学号与姓名 检索选修课程名为Maths的学生学号与姓名 检索选修课程号为C2或C4的学生学号 检索不学C2课的学生姓名与年龄 * * * * * * * * * * * * * * * * * * * * * * * 规则2.2 参照完整性规则 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F 的每个属性值均为空值) 或者等于S 中某个元组的主码值 例1: 学生关系中每个元组的“专业号”属性只取两类值: (1)空值,表示尚未给该学生分配专业 (2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,该学生不可能分配一个不存在的专业。 例2: 选修(学号,课程号,成绩) “学号”和“课程号”可能的取值 : (1)选修关系中的主属性,不能取空值 (2)只能取相应被参照关系中已经存在的主码值 例3: 学生(学号,姓名,性别,专业号,年龄,班长) “班长”属性值可以取两类值: (1)空值,表示该学生所在班级尚未选出班长 (2)非空值,该值必须是本关系中某个元组的学号值 3、用户定义的完整性 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。 例: 1)选修关系中成绩的取值范围为0~100之间 2)某个属性(如:课程名)必须取唯一值 最后,关系模型的优点: 结构简单,具有高度的简明性和高度性 可直接处理多对多关系 一次处理一个元组集合 数据独立性很高 坚实的数学理论基础 四、关系代数 关系数据库的数据操纵语言(DML)的语句分成查询语句和更新语句两大类。查询语句用于描述用户的各种检索要求;更新语句用于描述用户

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档