大学计算机系数据库课件第3讲关系模型汇编

上传人:今*** 文档编号:110993730 上传时间:2019-11-01 格式:PPT 页数:69 大小:1.15MB
返回 下载 相关 举报
大学计算机系数据库课件第3讲关系模型汇编_第1页
第1页 / 共69页
大学计算机系数据库课件第3讲关系模型汇编_第2页
第2页 / 共69页
大学计算机系数据库课件第3讲关系模型汇编_第3页
第3页 / 共69页
大学计算机系数据库课件第3讲关系模型汇编_第4页
第4页 / 共69页
大学计算机系数据库课件第3讲关系模型汇编_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《大学计算机系数据库课件第3讲关系模型汇编》由会员分享,可在线阅读,更多相关《大学计算机系数据库课件第3讲关系模型汇编(69页珍藏版)》请在金锄头文库上搜索。

1、第三讲 关系模型,关系数据库之父,美国 IBM 公司的 E.F.Codd 埃德加弗兰克科德(Edgar Frank Codd,1923-2003) 1970年提出关系数据模型 “A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM,1970 之后,提出了关系代数和关系演算的概念 1972年提出了关系的第一、第二、第三范式 1974年提出了关系的BC范式,关系模型,一、关系数据结构及形式化定义 二、关系操作 三、关系的完整性 四、关系代数 五、关系演算,关 系 模 型,一、关系数据结构及

2、形式化定义,关系 关系模式 关系数据库,一、关系数据结构及形式化定义,1、关系 单一的数据结构-关系 现实世界的实体以及实体间的各种联系均用关系来表示 逻辑结构-二维表 从用户角度,关系模型中数据的逻辑结构是一张二维表 建立在集合代数的基础上,关系 (续),相关定义 (1)域(Domain) 一组具有相同数据类型的值的集合。 例如:整数、实数、介于某个取值范围的整数、指定长度的字符串集合、男,女等。,关系 (续),(2)笛卡尔积(Cartesian Product) 给定一组域D1,D2,Dn,这些域中可以有相同的。 D1,D2,Dn的笛卡尔积为: D1D2Dn (d1,d2,dn)diDi,

3、i1,2,n 所有域的所有取值的一个组合 不能重复,关系 (续),其中 : 元组(Tuple) 笛卡尔积中每一个元素(d1,d2,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。 分量(Component) 笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量。,关系 (续),基数(Cardinal number) 若Di(i1,2,n)为有限集,其基数为mi(i1,2,n),则D1D2Dn的基数M为: 笛卡尔积的表示方法 笛卡尔积可表示为一个二维表 表中的每行对应一个元组,表中的每列对应一个域,关系 (续),例: 设有3个域: 导师 = 张清玫,刘逸 专业 = 计算机

4、专业,信息专业 研究生 = 李勇,刘晨,王敏 笛卡尔积 = 导师 专业 研究生,关系 (续),有意义吗?,关系 (续),(3)关系(Relation) D1D2Dn的子集叫作在域D1,D2,Dn上的关系, 表示为: R(D1,D2,Dn) R:关系名 n:关系的目或度(Degree),关系 (续),其中: 元组 关系中的每个元素是关系中的元组,通常用 t 表示。 单元关系与二元关系 当n=1时,称该关系为单元关系或一元关系 当n=2时,称该关系为二元关系,关系 (续),关系的表示 关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。,有意义的数据!,关系 (续),属性 关系中不同列可

5、以对应相同的域 为了加以区分,必须对每列起一个名字,称为属性(Attribute)(属性满足交换律!) n目关系必有n个属性,关系 (续),码 候选码(Candidate key) 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。(解释:超码!) 主码(Primary key) 若一个关系有多个候选码,则选定其中一个为主码。 全码(All-key) 所有属性组共同组成的候选码,称为全码(All-key)。,关系 (续),主属性 候选码的诸属性称为主属性(Prime attribute)。 非主属性 不包含在任何侯选码中的属性称为非主属性( Non-Prime attribu

6、te) 或非码属性(Non-key attribute),关系 (续),三类关系 基本关系(基本表或基表) 实际存在的表,是实际存储数据的逻辑表示。 查询表 查询结果对应的表。 视图表 由基本表或其他视图表导出的表,是虚表,不对 应实际存储的数据。,关系 (续),基本关系的性质 列是同质的; 不同的列可出自同一个域; 列的顺序无所谓,列的次序可以任意交换; 任意两个元组的候选码不能相同; 行的顺序无所谓,行的次序可以任意交换; 分量必须取原子值,即每一个分量都必须是不可分的 数据项。,关系 (续),2、关系模式 关系模式是对关系的描述。包括: 元组集合的结构: 属性构成 属性来自的域 属性与域

7、之间的映象关系 元组语义以及完整性约束条件 属性间的数据依赖关系集合,关系模式(续),关系模式的形式化表示 关系模式可以形式化地表示为: R(U,D,DOM,F) R 关系名 U 组成该关系的属性名集合 D 属性组U中属性所来自的域 DOM 属性向域的映象集合 F 属性间的数据依赖关系集合,关系模式 (续),关系模式的简化形式: R (U) 或 R (A1,A2,An) R (U,F) R: 关系名 A1,A2,An : 属性名 注:域名及属性向域的映象常常直接说明为属性的类型、长度,关系模式 (续),关系模式与关系 关系模式 对关系的描述,静态的、稳定的。 关系 关系模式在某一时刻的状态或内

8、容; 动态的、随时间不断变化的。 关系模式和关系往往统称为关系,通过上下文加以区别,一、关系数据结构及形式化定义,3、关系数据库 在一个给定的应用领域中,所有关系的集合构成一个关系数据库。 理解:关系数据库的型与值。,关系操作,常用的关系操作 查询:选择、投影、连接、除、并、交、差、笛卡尔积 数据更新:插入、删除、修改 选择、投影、并、差、笛卡尔积是5种基本操作 关系操作的特点 集合操作方式:操作的对象和结果都是集合,一次一集合的方式。,二、关系操作,关系操作(续),关系操作语言的分类 关系代数语言 用对关系的运算来表达查询要求。如:ISBL 关系演算语言:用谓词来表达查询要求 元组关系演算语

9、言:谓词变元的基本对象是元组变量。如:APLHA, QUEL 域关系演算语言:谓词变元的基本对象是域变量。如:QBE 具有关系代数和关系演算双重特点的语言 如:SQL(Structured Query Language),关系的完整性,关系的三类完整性约束 实体完整性 参照完整性 用户定义的完整性,三、关系的完整性,关系的完整性(续),实体完整性 若属性A是基本关系R的主属性,则属性A取值必须唯一且不能取空值。 参照完整性 若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均

10、为空值) 或者等于S中某个元组的主码值,关系的完整性(续),用户定义的完整性 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求; 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。,关系代数,传统的集合运算 并()、交()、差(-)、笛卡尔积() 专门的关系运算 选择()、投影()、连接( )、除() 运算符:算术运算符、逻辑运算符,四、关系代数,关系代数(续),传统的集合运算 并运算(): RS = t|t Rt S 问题:并操作对关系R和S的要求?,关系代数(续),交运算( ): RS = t|t Rt

11、S ,关系代数(续),差运算(-): R -S = t|tRtS ,关系代数(续),广义笛卡尔积(): 设:R: n目关系,k1个元组 S: m目关系,k2个元组 RS = tr ts |tr R tsS 运行结果分析:行、列?,关系代数(续),专门的关系运算 符号说明: R,tR, A= A1,A2,, An ,tAi, tA,tr ts 象集Zx 给定一个关系R(X,Z),X和Z为属性组。 当tX = x时,x在R中的象集(Images Set)为: Zx = tZ | t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合 。,关系代数(续),x1在R中的象集 Zx1 =Z

12、1,Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,关系代数(续),选择() 在关系R中选择满足给定条件的元组。 F(R) = t|tRF(t)= 真 F:选择条件,基本形式为: X1Y1,关系代数(续),例1 查询计算机专业(01)全体学生。 mno = 01 (Students) 或 5 =01 (Students) 例2 查询软件工程专业全体男生信息。 mno=03 ssex=男(Students),关系代数(续),投影() 从R中选择出若干属性列组成新的关系 A(R) = tA | t R A:R中的属性列,注意:投影之后不仅取消了原关系中

13、的某些列,而且还可能取消某些元组(避免重复行),关系代数(续),例3 查询学生的姓名和所学专业编号。 sname,mno(Students) 或 2, 5(Students) 例4 查询学生关系Students中都有哪些专业。 mno(Students) (自动取消重复行!),关系代数(续),连接 连接也称为连接(条件连接) 连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组。 R S = | tr Rts S trA tsB A和B:分别为R和S上度数相等且可比的属性组 :比较运算符,关系代数(续),等值连接 自然连接:一种特殊的等值连接!,关系代数(续),例5 设关系R和关

14、系S 如下:,若改为等值(自然)连接,结果如何?,关系代数(续),外连接 如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。 左外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接。 右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接。,关系代数(续),自然连接,关系代数(续),除() 给定关系 R( X, Y ) 和 S(Y, Z ),其中X,Y,Z为属性组。R 与 S 中Y可以有不同的属性名,但必须出自相同的域集。 R 与 S 的除运算得到一个新的关系 P(X),P 是R中满足下列条件的元组在 X 属性列上的投影: 元组在X上分量值

15、x (x的象集Yx包含S 在Y上投影 )的集合,记作: Yx:x在R中的象集,x = trX,关系代数(续),设关系R、S分别为下图的(a)和(b),RS的结果为图(c),关系代数(续),在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (b1,c2),(b2,c3),(b2,c1) a2的象集为 (b3,c7),(b2,c3) a3的象集为 (b4,c6) a4的象集为 (b6,c6) S在(B,C)上的投影为: (b1,c2),(b2,c1),(b2,c3) 只有a1的象集包含了S在(B,C)属性组上的投影, 所以: R S = a1 ,关系代数(续),聚集函数 count,sum,avg,min,max sum(Grade),max(Grade)(SC) 分组聚集 cno sum(Grade),max(Grade)(SC),关系代数(续),数据修改操作 插入:r r E sc sc ( “20090109”,”2006”,null ) 删除: r r E students students sno=“20090109”( student

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

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

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