版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1关系数据结构及其形式化定义 关系数据库系统: 支持关系模型的数据库系统 关系模型三要素:关系数据结构关系数据操作集合关系完整性约束第1页/共57页2关系数据结构及其形式化定义 关系 数据结构:关系二维表 基本概念:域笛卡尔积关系第2页/共57页3关系数据结构及其形式化定义 域: 一组具有相同数据类型的值的集合第3页/共57页4关系数据结构及其形式化定义 笛卡尔积 给定一组域D1,D2,Dn, D1,D2,Dn的笛卡尔积为: D1D2Dn(d1,d2,dn)diDj,j1,2,n 其中每一个元素(d1,d2,dn)叫作一个元组。元素中的每一个值di叫作一个分量第4页/共57页5关系数据结构及其
2、形式化定义 笛卡尔积 若Di(i1,2,n)为有限集,其基数为mi(i1,2,n),则D1D2Dn的基数为: m= mi 笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。ni 1第5页/共57页6关系数据结构及其形式化定义 例: 以下为三个域 D1=教室集合张华, 刘丽 D2=专业集合计算机, 经济 D3=课程集合数据库, 国际贸易, 电子商务 第6页/共57页7关系数据结构及其形式化定义 笛卡尔积 D1 D2 D3= (张华,计算机,数据库), (张华,计算机,国际贸易), , (刘丽,经济,电子商务)12个元组基数:2*2*3=12分量第7页/共57页8关系数据结
3、构及其形式化定义 笛卡尔积表示为二维表教师专业课程张华计算机数据库张华计算机国际贸易第8页/共57页9关系数据结构及其形式化定义 关系(Relation) D1D2Dn中有意义的子集叫作在域D1、D2、Dn上的关系,用R(D1, D2, , Dn)表示。 R: 表示关系的名字 n:是关系的目或度(Degree)第9页/共57页10关系数据结构及其形式化定义 如上例用关系可以表示为: 教学(教师,专业,课程) 教师专业课程张华计算机数据库张华经济数据库刘丽经济国际贸易关系是笛卡尔积的有限子集第10页/共57页11关系数据结构及其形式化定义 关系模型的术语候选码Candidatekey主码Prim
4、arykey主属性Primeattribute全码Allkey非主属性Non-Primeattribute第11页/共57页12关系数据结构及其形式化定义 关系模型的候选码、主码、主属性关系RA1A2A3A4A5A6ACKCKPK第12页/共57页13关系数据结构及其形式化定义 关系模型的全码RA1A2A.A.A.A.CKPK AK第13页/共57页14关系数据结构及其形式化定义 关系的类型 基本表:实际存在的表 查询表:查询结果对应的表 视图表:由基本表或其它视图表导出的 表,是虚表第14页/共57页15关系数据结构及其形式化定义 基本关系的性质 列是同质的,即每一列中的分量是同一类型的数据
5、,来自同一个域。 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 列的顺序无所谓,即列的次序可以任意交换。 任意两个元组不能完全相同。 行的顺序无所谓,即行的次序可以任意交换。 分量必须取原子值,即每一个分量都必须是不可分的数据项。 第15页/共57页16关系数据结构及其形式化定义 关系模式 对关系的描述 R(U,D,Dom,) R关系名 属性名集合 属性组中属性取值范围(域) Dom属性向域的映像集合 F属性间数据依赖关系的集合第16页/共57页17关系数据结构及其形式化定义 关系与关系模式 关系是关系模式在某一时刻的状态或内容;它是动态的,随时间不断变化的
6、 关系模式是静态的,稳定的第17页/共57页18关系数据结构及其形式化定义 关系数据库 关系模型是有联系的关系模式的集合; 关系模型的值是关系数据库第18页/共57页19关系操作查询插入修改删除选择投影连接除并差交笛卡尔积第19页/共57页20关系操作关系数据语言关系代数语言关系演算语言具有关系代数与关系演算双重特点的语言(SQL)第20页/共57页21关系的完整性实体完整性参照完整性用户定义完整性第21页/共57页22关系的完整性 实体完整性规则: 若属性A是基本关系R的主属性,则属性A不能取空值。(主码不能为空) 说明: 实体完整性规则是针对基本关系而言的 ; 现实世界中的实体具有某种唯一
7、性标识。第22页/共57页23关系的完整性 参照完整性 现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用。 不仅是两个或两个以上关系间可存在引用关系,同一关系内部属性间也可能存在引用关系。第23页/共57页24关系的完整性 外码: 设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。 第24页/共57页25关系的完整性RSA1A2FA.AnFB2B3B.BnKRKSR的外码第25页/共57页26关系的
8、完整性 参照完整性规则: 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值); 或者等于S中某个元组的主码值。 第26页/共57页27关系的完整性 用户定义完整性 用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。 第27页/共57页28关系代数 关系代数运算的种类:传统的集合运算专门的关系运算参与运算的关系R和关系S具有相同的目n第28页/共57页29关系代数传统的集合运算:交并差笛卡尔积第29页/共57页3
9、0关系代数 传统的集合运算RSABCABCa1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b2 c2 a1 b3 c2 a2 b2 c1 P84第30页/共57页31关系代数 专门的关系运算选择投影连接除第31页/共57页32关系代数 专门的关系运算 选择: 设关系R F(R)=t|tRF(t)为真 其中F表示选择的条件,它为一逻辑表达式A1 A2 A3 An第32页/共57页33关系代数S第33页/共57页34关系代数 投影 A(R)=tA|tRA是R的属性 例2 查询所有学生的姓名和所在系 Sname,Sdept(S)A1 A2 A3 An第34页/共57页35关系代数 投影
10、投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列之后,就可能出现重复行,应取消这些完全相同的行。第35页/共57页36关系代数例1:查询年龄小于20岁的所有学生的学号、姓名。 Sno,Sname(SageE R S R.B=S.E R S普通连接等值连接自然连接第40页/共57页41关系代数 连接 连接运算通常与选择、投影运算结合使用 连接运算可以是多表之间,也可以是同表自身连接。 R R R.BR .B第41页/共57页42关系代数 除: 设关系R(X,Y),S(Y,Z) ,其中X,Y,Z均为属性(集),R中的Y与S中的Y可以有不同的属性名,但必须有相同的域,
11、则R除以S记为: RS=trX|trR y(s) Yx 其中x= trX. 算法 : (1)对R中X的值分组(相同的值分为一组) (2)检查X的每组中的Y值是否包含y(s) ,若包含,则取出该组的X值作为RS的元组,否则不取。第42页/共57页43关系代数RSXYY第43页/共57页44关系代数RSXYY第44页/共57页45关系代数RSXYY第45页/共57页46关系代数RSXYY第46页/共57页47关系代数 RS第47页/共57页48关系代数 对R中的A的值进行分组 a1的象集 (b1, c2),(b2, c3), (b2, c1) a2的象集 (b3, c1),(b2, c3) a3的
12、象集 (b4, c6) a4的象集 (b6, c6) B,C(s)= (b1, c2), (b2, c1 ), (b2, c3) 所以RS=a1第48页/共57页49关系代数 查询至少选修了所有课程的学生学号。 (Sno,Cno(SC)C第49页/共57页50关系代数 关系代数语言 例: 学生(学号,姓名,性别,年龄,所在系) S(sno,sname,ssex,sage,sdept) 课程(课程号,课程名,先行课,学分) C(cno,cname,cpno,ccredit) 成绩(学号,课程号,成绩) Sc(sno,cno,grade)第50页/共57页51S第51页/共57页52C第52页/共57页53SC第53页/共57页54第54页/共57页55关系代数语言例1 查询学分为4的课程号、课程名 Cno,Cname(credit=4(C)例2 查询年龄大于19岁的学生的学号和姓名 Sno,Sname (Sage19(S)例3 查询95001号学生选修的课程号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论