- 1、本文档共97页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库第2章 关系数据库1.ppt
本章要点 本章介绍关系数据库的基本概念,基本概念围绕关系数据模型的三要素展开,利用集合代数、谓词演算等抽象的数学知识,深刻而透彻地介绍了关系数据结构,关系数据库操作及关系数据库完整性等的概念与知识。而抽象的关系代数与基于关系演算的ALPHA语言乃重中之重。 本章内容: ⒉ 笛卡尔积(Cartesian Product) 定义2.2 给定一组域D1、D2、…Dn(这些域中可以包含相同的元素,即可以完全不同,也可以部分或全部相同), D1、D2、…Dn 的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n} 由定义可以看出,笛卡尔积也是一个集合。其中: (1)其中每一个元素(d1,d2,…,dn )叫作一个n元组(n-tuple),或简称为元组(Tuple)。但元组不是di的集合,元组由di按序排列而成。 (2)元素中的每一个值di叫作一个分量(Component)。分量来自相应的域( di∈ Di)。 (3)若Di(i=1,2,…,n)为有限集,其基数(Cardinal number)为mi(i=1,2,…,n),则D1×D2×…×Dn 的基数为n个域的基数累乘之积,即M= (4)笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。 例如D1与D2的笛卡尔积: ⒊ 关系(Relation) 基本关系的性质: ① 列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域。 ② 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 ③ 列的顺序无所谓,即列的次序可以任意交换。 ④ 任意两个元组不能完全相同。 ⑤ 行的顺序无所谓,即行的次序可以任意交换。 ⑥ 分量必须取原子值,即每一个分量都必须是不可分的数据项。 表2.4 课程关系C 2.2.2 关系模式 2.2.2 关系模式 2.2.3 关系数据库 二、参照完整性(Referential integrity) [例2] 学生,课程,学生与课程之间的多对多联系可以如下三个关系表示: 学生(学号,姓名,性别,年龄,系别号) 课程(课程号,课程名,课时) 选修(学号,课程号,成绩) 规则2.2 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S可能是相同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。 三、用户定义完整性(User-defined integrity) 关系完整性约束示意图 2.4.1 传统的集合运算 2.4.1 传统的集合运算 ⒉ 差(Difference) ⒋ 广义笛卡尔积(Extended Cartesian Product) R 2.4.2 专门的关系运算 2.4.2 专门的关系运算 2.4.2 专门的关系运算 例如,参见图2.8 学生-课程关系数据库中的选课关系SC中,设X={SNO},Z={CNO,SCORE},令X的一个取值200401为小x,则Zx= {CNO,SCORE}sno= {CNO,SCORE}’200401’={t[CNO,SCORE]|t∈SC,t[SNO]=200401}={(C1,85), (C2,92), (C3,84)} 实际上对关系SC来说,某学号(代表某小x)学生的象集即是该学生所有选课课程号与成绩组合的集合。 2.4.2 专门的关系运算 例如:有一个学生-课程关系数据库如图2.9包括学生关系S(说明:CS表示计算机系、IS表示信息系、MA表示数学系)、课程关系Course和选修关系SC。 C ⒉ 投影(Projection) ⒊ 连接(Join) 4. 除(Division) 5.关系代数操作表达举例 5.关系代数操作表达举例 5.关系代数操作表达举例 5.关系代数操作表达举例 习 题 习 题 习 题 习 题 习 题 习 题 (5) 用元组变量的检索 因为元组变量是在某一关系范围内变化的,所以元组变量又称为范围变量(Range Variable)。元组变量主要有两方面的用途: ①简化关系名。在处理实际问题时,如果关系的名字很长,使用起来就会感到不方便,这时我们可以设一个较短名字的元组变量来简化关系名。 ②操作条件中使用量词时必须用元组变量。 元组变量是动态或逻辑的概念,一个关系可以设多个元组变量,每个元组变量独立地代表该关系中的任一元组。 [例17] 查询信息系学生的名字。 RANGE Student X GET W(X.SN): X.DEPT=IS 这里元组变量X的作用是简化关系名Student。
文档评论(0)