tj第二章关系数据模型

上传人:平*** 文档编号:46211608 上传时间:2018-06-24 格式:PPT 页数:64 大小:2.15MB
返回 下载 相关 举报
tj第二章关系数据模型_第1页
第1页 / 共64页
tj第二章关系数据模型_第2页
第2页 / 共64页
tj第二章关系数据模型_第3页
第3页 / 共64页
tj第二章关系数据模型_第4页
第4页 / 共64页
tj第二章关系数据模型_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《tj第二章关系数据模型》由会员分享,可在线阅读,更多相关《tj第二章关系数据模型(64页珍藏版)》请在金锄头文库上搜索。

1、第二章 关系数据模型12.1 关系(Ralation)n 关系是行与列交叉的二维表。关系中的一个 元组对应表中的一行,关系中的属性对应表 中的一列,每一个属性有一个取值范围。称 为属性域。2关系模式n关系的描述称作关系模式。包括关系名、属性名、属性域、属性向域 的映象、属性间的数据依赖关系等。记作R(A1 , A2 , An ) n属性向域的映象一般直接说明为属性的类型 、长度等n某一时刻对应某个关系模式的内容(元组的集 合)称作关系n关系模式是型,是稳定的n关系是某一时刻的值,是随时间不断变化的 3关系的性质n列是同质的n即每一列中的分量来自同一域,是同一类型 的数据n每列必须有不同的属性名

2、n行、列的顺序无关紧要n任意两个元组不能完全相同n每一分量必须是不可再分的数据。满足这一 条件的关系称作满足第一范式(1NF)的4属性的数据类型n数据库系统一般支持的数据类型:n数值:可以进行算术运算的数据n字符:是由任何字符或符号组成的字符串例如:姓名、地址、编号等n日期:是按照特定格式存储的日期数据。n逻辑:逻辑型数据只能有真、假两个值。52.2 码n超码n候选码n主码6超码: 是唯一标识一个元组的属性 或属性组。7候选码: 是最小的超码,它的任意 真子集都不能成为超码。8主码:在一个关系中可以有多个候选 码,选取一个作为主码9102.3关系数据库的联系n外码:设是关系的一个或一组属性,且

3、的值 与关系的主码的值相对应,则称是的外码。11122.4 关系完整性规则n实体完整性n关系的主码不能取空值(NULL)n参照完整性n外码必须是被参照关系主码的有效值,或者是“ 空值”13n用户定义的完整性n用户针对具体应用环境定义的完整性约 束条件如“学号”要求是8位整数, “性别” 要求取值为“男”或“女”系统支持n实体完整性和参照完整性由系统自动支 持n系统提供定义和检验用户定义的完整性 的机制142.5 数据字典和系统目录n数据字典中包括数据库中表的结构信息、索 引、用户、安全性和完整性约束等151617关系数据语言概述n关系数据语言的特点n一体化n一般关系系统的数据语言都同时具有数据

4、定义 、数据操纵和数据控制语言,而不是分为几个语言。对 象单一,都是关系,因此操作符也单一。而非关系型系 统,如DBTG,有对记录的操作,有对系的操作n非过程化n用户只需提出“做什么”,无须说明“怎么做”, 存取路径的选择和操作过程由系统自动完成n面向集合的存取方式n操作对象是一个或多个关系,结果是一个新的 关系(一次一关系)。非关系系统是一次一记录的方式18关系数据语言概述n抽象的查询语言n关系代数n用对关系的运算来表达查询,需要指明所用操作n关系演算n用谓词来表达查询,只需描述所需信息的特性n元组关系演算n谓词变元的基本对象是元组变量n域关系演算n谓词变元的基本对象是域变量19关系数据语言

5、概述n具体系统中的实际语言nSQLn介于关系代数和关系演算之间,由IBM公司在 研制System R时提出nQUELn基于Codd提出的元组关系演算语言ALPHA, 在INGRES上实现nQBEn基于域关系演算,由IBM公司研制202.6关系代数n一种抽象的查询语言n用对关系的运算来表达查询21关系代数运算的三个要素 运算对象:关系 运算结果:关系 运算符:四类22n集合运算符n将关系看成元组的集合n运算是从关系的“水平”方向即行的角度来进 行n专门的关系运算符n不仅涉及行而且涉及列n算术比较符n辅助专门的关系运算符进行操作n逻辑运算符n辅助专门的关系运算符进行操作23集合 运算 符 - 并

6、差 交 广义笛卡 尔积比 较 运 算 符 大于 大于等于 小于 小于等于 等于 不等于运算符含义运算符含义关系代数运算符 专门 的关 系 运算 符 选择 投影 连接 除逻 辑 运 算 符 非 与 或242.6.1 选择n在关系中选择满足给定条件的元组,构成一 个新的关系.记作: 条件表达式条件表达式(R)(R)n选择运算是从行的角度进行的运算 25设有一个学生-课程数据库,包括学生关系 Student、课程关系Course和选修关系SC。学 号 Sno姓 名 Sname性 别 Ssex年 龄 Sage所 在 系 Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA

7、95004张立男19ISStudent课程 号课程名先行课学分CnoCnameCpnoCcredi t 1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64Course学 号课 程 号成 绩SnoCnoGrade9500119295001285950013889500229095002380SC26选择(续)例 查询年龄小于20岁的学生Sage 20(Student) 或 4 20(Student)结果: SnoSnameSsexSageSdept95002刘晨女19IS95003王敏女18MA95004张立男19IS 27选择(续)例 查询信息系(

8、IS)并且年龄为19岁全体学生Sdept = IS age19 (Student) 或 5 =IS 419 (Student) 结果: SnoSnameSsexSageSdept95002刘晨女19IS95004张立男19IS282.6.2 投影n从关系中选择出若干属性列组成一个新的关 系投影的结果将消除重复的元组A ,B (R) n投影操作主要是从列的角度进行运算29投影(续)例3 查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两 个属性上的投影Sname,Sdept(Student) 或 2,5(Student)结果:SnameSdept李勇CS刘晨IS王敏MA张立IS3

9、0例4 查询学生关系Student中都有哪些 系 Sdept(Student)结果:SdeptCSISMA投影(续)投影(续)312.6.3 并n关系R 和关系Sn具有相同的目n(即两个关系都有n个属性)n相应的属性取自同一个域RS n运算结果仍为n目关系,由属于R或属于S的 元组组成n消除重复元组32并(续)ABC a1b1c1 a1b2c2 a2b2c1ABC a1b1c1 a1b2c2 a1b3c2 a2b2c1ABC a1b2c2 a1b3c2 a2b2c1RSRS 33并并( (续续) )342.6.4 差n关系R 和关系Sn具有相同的目nn相应的属性取自同一个域R - S n运算结

10、果仍为n目关系,由属于R而不属于S 的所有元组组成35差(续)ABC a1b1c1 a1b2c2 a2b2c1ABC a1b1c1ABC a1b2c2 a1b3c2 a2b2c1RSR-S 36差(续)374. 广义笛卡尔积n关系Rnn目关系,k1个元组n关系Snm目关系,k2个元组RS n运算结果n列:n+m)列的元组的集合n元组的前n列是关系R的一个元组n后m列是关系S的一个元组n行:k1k2个元组38广义笛卡尔积 (续)ABC a1 b1 c1 a1 b2 c2 a2 b2 c1ABC a1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b

11、2c1ABC a1b2c2 a1b3c2 a2b2c1RSR R S SABC a1b2 c2a1b3 c2a2b2 c1a1b2 c2a1b3 c2a2b2 c1a1b2 c2a1b3 c2a2b2 c1c1b1a1c1b1a1c1b2a2c1b2a2c2b2a1c1b2a2c1b1a1R. CR. BR. Ac2b2a1c2b2a1c2b2a1c2b3a1c1b2a2c2b2a1c2b3a1c1b2a2c2b2a1S.CS.BS.Ac1b2a2c2b3a139广义笛卡尔积广义笛卡尔积 ( (续续) )403. 交(Intersection)n关系R 和关系Sn具有相同的目nn相应的属性取自

12、同一个域RSn运算结果仍为n目关系,由既属于R又属 于S的元组组成.RS = R (R-S)41交 (续)ABC a1b1c1 a1b2c2 a2b2c1ABC a1b2c2 a2b2c1ABC a1b2c2 a1b3c2 a2b2c1RSR S 42交 (续)432.6.7 连接n1. 连接含义n从两个关系的笛卡尔积中选取属性间满 足一定条件的元组nA和B:分别为R和S上度数相等且可比 的属性组n:比较运算符 ABA A B BR SR S= RA SB( RS)A A B BR SR S为“”的连接运算称为等值连接 44连接(续) 2.自然连接 n 自然连接是一种特殊的等值连接n两个关系中

13、进行比较的分量必须是相同 的属性组n在结果中把重复的属性列去掉n自然连接的含义 R 和 S 具有相同的属性组Bn自然连接与等值连接的不同R S = R S = rsBrsB | r | r R R s s S S rB=SB rB=SB 45连接(续)n举例例5 ABC a1b15a1b26a2b38a2b412BEb13b27b310b32b52RSR S CER S R.B=S.BR S 46连接(续)R S AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310CE47连接(续)R S R.B=S.BAR.BCS.BEa1b15b13a1

14、b26b27a2b38b310a2b38b3248连接(续)R S ABCEa1b153a1b267a2b3810a2b38249502.6.9 除n除操作是同时从行和列角度进行运算n例:在选课关系中同时选修C101和C104 两门课的学号51除(续)ABC a1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCD b1c2d1b2c1d1b2c3d2RSAa1RS52应用:设有一个学生-课程数据库,包括学生 关系Student、课程关系Course和选修关系SC 。学 号 Sno姓 名 Sname性 别 Ssex年 龄 Sage所 在 系 Sdept9500

15、1李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19ISStudent课程 号课程名先行课学分CnoCnameCpnoCcredi t 1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64Course学 号课 程 号成 绩SnoCnoGrade9500119295001285950013889500229095002380SC53例 1 查询选修了2号课程的学生的学号。Sno(Cno=2(SC) 95001,95002 2.7 关系代数应用举例54关系代数应用举例(续)例2 查询至少选修了一门其直接先行课为5号课程的 课程的学生姓名。Sname(Cpno=5(Course SC Student) 或 Sname(Cpno=5(Course) SC Sno,Sname(Student) 或 Sname (Sno (Cpno=5 (Course) SC) Sno,Sname (Student) 55关系代数应用举例(续)例3 查询选修了全部课程的学生号码和姓名。S

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号