• / 58
  • 下载费用:10 金币  

第2章 关系数据模型.ppt

关 键 词:
第2章 关系数据模型.ppt
资源描述:
第二章 关系数据模型,2.1 关系数据结构 2.2 关系操作 2.3 关系完整性,— 数据库理论基础,,2.1 关系数据结构,2.1.1 二维表与关系数据结构 2.1.2 关系数据结构的形式化定义 2.1.3 关系的性质2.1.4 关系模式2.1.5 关系数据库2.1.6 码,,,2.1.1 二维表与关系数据结构,,表名,表头,,,数据,,商品信息表,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,二维表的特点,(1)每个表具有表名。 (2)表由表头和若干行数据两部分构成。 (3)表有若干列,每列都有列名。 (4)同一列的值必须取自同一个域。 (5)每一行的数据代表一个实体的信息。,一个关系就是一个规范化的二维表。“规范化”的含义是:表中每列都是原子项,即没有“表中表”。 一个关系由关系名、关系模式和关系实例组成。通常,它们分别对应于二维表的表名、表头和数据。例如,“商品信息表”表示成关系:,,术语,(1)关系。一个关系(Relation)指一张二维表。 (2)元组。一个元组(Tuple)指二维表中的一行。 (3)属性。一个属性(Attribute)指二维表中的一列,表中每列均有名称,即属性名。 (4)码。码(key)也称键、关键字、关键码,指表中可唯一确定元组的属性或属性组合。 (5)域。域(Domain)指属性的取值范围。 (6)分量。分量指元组中的一个属性值。 (7)关系模式。关系模式是对关系“型”的描述,通常表示为:关系名(属性1,属性2,…,属性n)。,,术语对照表,,,,,,,,,,,,,,,,,2.1.2 关系数据结构的形式化定义,,域(Domain)笛卡尔积(Cartesian Product)关系(Relation),,域(Domain),域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数指定长度的字符串集合{‘男’,‘女’}介于某个取值范围的日期,,笛卡尔积(Cartesian Product ),1) 笛卡尔积 给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}所有域的所有取值的一个组合 不能重复,,笛卡尔积(Cartesian Product ),,2) 元组(Tuple) 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组。3) 分量(Component) 笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量。,,,笛卡尔积(Cartesian Product ),,4) 基数(Cardinal number) 若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n), 则D1×D2×…×Dn的基数M为:在上例中,基数:2×2×3=12,即D1×D2×D3共有2×2×3=12个元组,,5) 笛卡尔积的表示方法 笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。例如:,笛卡尔积(Cartesian Product ),,,,,,,,,,,,,,,,,,,,,,,,,,,,,关系(Relation ),,1) 关系 D1×D2×…×Dn的子集称为在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)R:关系名n:关系的目或度(Degree),,关系(Relation ),注意: 关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。 由于笛卡尔积不满足交换律,即(d1,d2,…,dn )≠(d2,d1,…,dn )但关系满足交换律,即 (d1,d2 ,…,di ,dj ,…,dn)=(d1,d2 ,…,dj,di ,…,dn) (i,j = 1,2,…,n)解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性,2) 元组 关系中的每个元素是关系中的元组,通常用t表示。 3) 单元关系与二元关系 当n=1时,称该关系为单元关系(Unary relation)。 当n=2时,称该关系为二元关系(Binary relation)。,,关系(Relation ),(1)关系中元组个数是关系的基数。 (2)关系是一个二维表,表的任意一行对应一个元组,表的每一列来自同一域。由于域可以相同,为了加以区别,必须为每列起一个名字,称为属性(Attribute)。n元关系有n个属性,属性的名字唯一。 (3)在数学上,关系是笛卡儿积的任意子集;但在数据库系统中,关系是笛卡儿积中所取的有意义的有限子集。,,说明,2.1.3 关系的性质,,(1)列是同质的(Homogeneous),即每列中的分量必须是同一类型的数据。 (2)不同的列可以出自同一个域,但不同的属性必须赋予不同的属性名。 (3)列的顺序可以任意交换。交换时,应连同属性名一起交换。 (4)任意两个元组不能完全相同。 (5)关系中元组的顺序可任意,即可任意交换两行的次序。 (6)分量必须取原子值,即要求每个分量都是不可再分的数据项。,,2.1.4 关系模式,,关系模式(Relation Schema)是型 关系是值 关系模式是对关系的描述 元组集合的结构 元组语义以及完整性约束条件 属性间的数据依赖关系集合,,定义关系模式,关系模式可以形式化地表示为:R(U,D,dom,F)R 关系名U 组成该关系的属性名集合D 属性组U中属性所来自的域dom 属性向域的映象集合F 属性间的数据依赖关系集合,关系模式通常可以简记为R (U) 或 R (A1,A2,…,An)R 关系名 A1,A2,…,An 属性名 注:域名及属性向域的映象常常直接说明为属性的类型、长度,,定义关系模式,,2.1.5 关系数据库,关系数据库 关系数据库的型与值,,关系数据库,在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。 例如,在研究商品订购管理的问题域中,商品(SPB)、客户(KHB)、商品订购(SPDGB)这三个关系的集合就构成商品订购数据库。,,关系数据库的型与值,关系数据库也有型和值之分 关系数据库的型 称为关系数据库模式,是对关系数据库的描述.关系数据库的值 是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库.,空值,,在关系元组中允许出现空值。 空值表示信息的空缺。空值表示未知的值或不存在值。 例如,SPB关系中,某个商品没有备注信息,则该商品元组的“备注”分量值即为空值。空值一般用关键词NULL表示。,2.1.6 码,,候选码(Candidate key) 设关系R(A1,A2,…,An),其属性为A1,A2,…,An,属性集K为R的子集,K=(Ai,Aj,…,Ak),1≤i,j,…,k≤n。当且仅当满足下列两个条件时,K被称为候选码: (1)唯一性。对关系R的任两个元组,其在属性集K上的值是不同的。 (2)最小性。属性集K=(Ai,Aj,…,Ak)是最小集,即若删除K中的任一属性,K都不满足最小性。,主码,,主码 若一个关系有多个候选码,则选定其中一个为主码(Primary key)主码的诸属性称为主属性(Prime attribute)。 不包含在任何侯选码中的属性称为非主属性(Non-key attribute),外码(Foreign Key),,如果关系R1的属性或属性组K不是R1的主码,而是另一关系R2的主码,则称K为关系R1的外码(Foreign Key). 并称关系R1为参照关系(Referencing Relation) 关系R2为被参照关系(Referenced Relation),2.2 关系操作,2.2.1 基本关系操作 2.2.2 关系数据语言分类 2.1.3 关系代数,,2.2.1 基本关系操作,(1)查询:数据查询操作用于对关系数据进行各种检索。它是一个数据库最基本的功能,通过查询,用户可以访问关系数据库中的数据。查询可以在一个关系内或多个关系间进行。关系查询的基本单位是元组分量,查询即定位符合条件的元组。 (2)更新:数据更新操作包括插入、删除和修改三种。数据删除的基本单位为元组,其功能是将指定关系内的指定元组删除。数据插入的功能是在指定关系中插入一个或多个元组。数据修改是在一个关系中修改指定的元组属性值。,,关系运算,,,2.2.2 关系数据语言分类,,2.2.3 关系代数,概述传统的集合运算专门的关系运算,概述,关系代数一种抽象的查询语言。用对关系的运算来表达查询。 关系代数表达式的三个要素运算对象:关系运算结果:关系运算符: (集合、专门关系代数、比较、逻辑),,表 关系代数运算符,,传统的集合运算,,并 差 交 广义笛卡尔积,(1) 并(Union),对R和S的要求: 具有相同的目数n 相应的属性取自同一个域R∪S 仍为n目关系,由属于R或属于S的元组组成R∪S = { t|t  R∨t S },,(2) 差( Difference ),对R和S的要求: 具有相同的目数n 相应的属性取自同一个域R - S 仍为n目关系,由属于R但不属于S的元组组成R - S = { t|tR∧tS },,(3) 交( Intersection ),对R和S的要求: 具有相同的目数n 相应的属性取自同一个域R ∩ S 仍为n目关系,由既属于R又属于S的元组组成R ∩ S = { t | t  R∧t  S }R∩S = R –(R-S),,(4) 广义笛卡尔积( Extended Cartesian Product ),,R n目关系,k1个元组 S m目关系,k2个元组 R×S 列:(n+m)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1×k2个元组 R×S = {tr ts |tr R ∧ tsS },专门的关系运算,选择 投影 连接 除,,表示记号 (1) R,tR,t[Ai]设关系模式为R(A1,A2,…,An),它的一个关系设为R。tR表示t是R的一个元组;t[Ai]则表示元组t中相应于属性Ai的一个分量。(2) A,t[A], A 若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。(3) tr ts R为n目关系,S为m目关系。tr R,tsS, tr ts称为元组的连接。它的前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。,,,,(1) 选择(Selection),选择又称为限制(Restriction) 选择运算符的含义 在关系R中选择满足给定条件的诸元组σF(R) = {t|tR∧F(t)= '真'} F:选择条件,是一个逻辑表达式,基本形式为:[( ] X1θY1 [ )][φ [( ] X2θY2 [ )]]… θ:比较运算符(>,≥,<,≤,=或) X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替; φ:逻辑运算符(∧或∨) [ ]:表示任选项 …:表示上述格式可以重复下去,,,选择(Selection),选择运算是从行的角度进行的运算,,(2) 投影(Projection),投影运算符的含义 从R中选择出若干属性列组成新的关系πA(R) = { t[A] | t R };其中A为R中的属性列 投影操作主要是从列的角度进行运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),,(3) 连接( join ),连接也称为θ连接 连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组R S = { | tr  R∧ts S∧tr[A]θts[B] }A和B:分别为R和S上度数相等且可比的属性组 θ:比较运算符 连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。,两类常用连接运算 等值连接(equijoin) 什么是等值连接 θ为“=”的连接运算称为等值连接 等值连接的含义 从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:R S = { | tr R∧ts S∧tr[A] = ts[B] },A=B,,连接( join ),,连接( join ),自然连接(Natural join) 什么是自然连接 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组 在结果中把重复的属性列去掉 自然连接的含义R和S具有相同的属性组BR S = { | tr R∧ts S∧tr[B] = ts[B] },,一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,,连接( join ),象集Z的定义,给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(Images Set)为:Zx={t[Z]|t R,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合。,,,(4) 除法( Division ),给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。 R中的Y与S中的Y可以有不同的属性名,但必须出自相同 的域集。R与S的除运算得到一个新的关系P(X),P是R中 满足下列条件的元组在X属性列上的投影:元组在X上分 量值x的象集Yx包含S在Y上投影的集合。R÷S = {tr [X] | tr  R∧πY (S)  Yx }Yx:x在R中的象集,x = tr[X],除法是同时从行和列角度进行运算,,除法( Division ),关系代数小结,关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除基本运算并、差、笛卡尔积、投影、选择交、连接、除可以用5种基本运算来表达引进它们并不增加语言的能力,但可以简化表达,,2.3 关系完整性,2.3.1 实体完整性 2.3.2 参照完整性 2.3.3 用户定义完整性,,关系模型的完整性规则是对关系的某种约束条件。 关系模型中三类完整性约束: 实体完整性 参照完整性 用户定义的完整性 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。,关系完整性,,,2.3.1 实体完整性,实体完整性规则(Entity Integrity) 若属性A是基本关系R的主属性,则属性 A不能取空值。 根据实体完整性约束,一个关系中不允许存在两类元组:无主码值的元组主码值相同的元组,,2.3.2 参照完整性,关系间的引用:在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应。则对于R中每个元组在F上的值必须为: (1) 或者取空值(F的每个属性值均为空值) (2) 或者等于S中某个元组的主码值。,2.3.3 用户定义完整性,用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。,,
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:第2章 关系数据模型.ppt
链接地址:https://www.weizhuannet.com/p-10200587.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开