第4章 分布式数据库设计
F( A1,A2,...,Ak )
(r)=
{ t | t r F(t[ A1],t[A2],...,t[Ak] ) }
举例 :
关系代数运算(七)
7、 相交 设有同类关系r1[R]、r2[R],二者的相 交运算定义为:
r1r2 ={ t | t r1 t r2 }
易知 r1r2 =r1-( r1- r2 )
r1× s1
A3 d d b b d d b b A2 2 3 2 3 2 3 2 3 A3 d b d b d b d b
r1∪r2
A1 b b c d a e g A2 2 3 2 3 3 5 6 A3 d b d b c f f A1
r1– r2
A2 A3
∏3,2 ( r1)
A3 d b A2 2 3
F
{ t | t = <u,v> u r v s
F(u[A1],…,u[Ak1],v[B1],…,v[Bk2] )} 显然:r
F
s = F (r × s)
关系代数运算(十)
10、 自然连接 设r[R]、s[S]分别为k1、k2元关 系,R中属性Ai1,Ai2,...,Ain分别与S 中的属性Bj1,Bj2,...,Bjn相同。令S‘= S-{Bj1,Bj2,..,Bjn},r的元组为u,s的元组 为v,令 v 为 v 去掉分量v[Bj1],…,v[Bjn]后剩下 的分量构成元组,那么关系 r与s 的自然连接运 算定义为:
LAS3 LRS3 SS3 LDB3
LAS4
4.3 DDBS中的透明性
集中式数据库中的独立性
三级模式两级映射 逻辑独立性 物理独立性 分布独立性
DDBS中的独立性
分布透明性(Distributed Transparence)
DDBS中的透明性
分布透明性
分片透明(Fragmentation Transparence) 位置透明(Location Transparence) 数据模型透明(Data Model Transparence)
4.2分布式数据库的模式结构
五层模式结构
需要考虑全局和局部在面向用户、数据以及 机器等方面的模式层次
分布式数据库的模式结构
全局应用模式(GAS)
全局外模式
它是面向特定应用用户的GDB数据视图
分布式数据库的模式结构
全局表示模式(GRS)
全局模式
它是GDB逻辑描述
需要刻画GDB涉及的所有实体 也要描述GDB中数据在节点的分布
只有一个独立的逻辑数据库,分布在相联的 数据节点上 是一个全局总控系统 结点可以是同构的(Homogeneous) 也可以是异构的(Hetergeneous) POREL和VND
分布式数据库的构成方式
多层次(ML DDB)
每个节点有自己的数据库(LDB) 又构成一个逻辑上统一的全局数据库(GDB) 每个节点的配备局部DBMS DDBMS进行全局处理总控 节点可同构,也可异构 R*和DATANET
{u | u=<t[Aj1], t[Aj2],... , t[Ajn] > t r }
结果特征: ∏Aj1,Aj2,...,Ajn( r ) 为n元关系,其框 架是{Aj1,Aj2,...,Ajn },每个元组 由关系 r 的每个元组的第 j1,j2,...,jn 个分量按此顺序排 列而成 (不计重复元组) 举例
关系代数(二)
关系代数的运算按运算符的不同主要分为两类: 传统的集合运算:把关系看成元组的集合,以 元组作为集合中元素来进行运算,其运算是从 关系的“水平”方向即行的角度进行的。包括 并、差、交和笛卡尔积等运算。 专门的关系运算:不仅涉及行运算,也涉及列 运算,这种运算是为数据库的应用而引进的特 殊运算。包括选取、投影、连接和除法等运算。
* r×s的每个元组的前k1个分量为 r 的一个元组, 后k2个分量为 s 的一个元组; * 若r、s分别有n1、n2个元组,则r×s有n1×n2个 元组。 举例
关系代数运算(四)
4、投影 设有k元关系r[R],它的关系框架 R = { A1, A2,...,Ak },Aj1,Aj2 ,...,Ajn 为 R中互不相同的属性,那么关系 r 在属性(分量)A j1,Aj2,...,Ajn 上的投影运算定义为: ∏Aj1,Aj2,...,Ajn( r ) =
r
~ ~ s ={ t | t = <u,v>urvsu[Ai1]=v[Bj1] … u[Ain]=v[Bjn] v=v[S‘] )}
分布式数据库的模式结构
节点应用模式(NAS)
节点外模式
是面向本节点特定应用用户的LDB数据视图
分布式数据库的模式结构
节点表示模式(NRS)
节点模式
主要是本地LDB的逻辑描述
分布式数据库的模式结构
存储模式(SS)
节点内模式
主要是本地LDB的存储描述
模式间的映射
GAS/GRS映射
r1– r2={ t | t r1 t r2 }
结果: 为r1中存在的但r2中没有的元组的集合,它与 r1、r2为同类关系; 举例
关系代数运算(二)
r×s={ t | t =< u , v > u r v s } 3、 乘积 设r[R]为k1元关系,s[S]为k2元关系,则 二者乘积运算定义为: 结果特征: * r×s为k1+k2元关系,其框架是R与S的框架的并 集(注:可能有同名属性);
DDBS中的透明性
分布透明性
分片透明(Fragmentation Transparence) 位置透明(Location Transparence) 数据模型透明ቤተ መጻሕፍቲ ባይዱData Model Transparence)
三个透明性的关系
由高到低,包含
4.4 分布式数据库的数据分割方法
举例
关系代数运算(八)
8 、θ—连接 设r[R]、s[S]的关系框架分别为 R= {A1, A2,...,Ak 1}和S={B1,B2,...,Bk2}, 那么关系 r、s 的 θ—连接运算定义为:
rAi θ Bj s ={ t | t = <u,v> u r v s u[Ai] θ v[Bj] }
例如:关系EMP(ENUM,ENAME,EAGE,ESEX),被分成两个数据片 EMP1和EMP2,分别存储在站点SITE1和SITE2 查询特定雇员号(ENUM)的姓名 select ENAME form EMP1 at SITE1 where ENUM=$ENUM if not FOUND() then select ENAME from EMP2 at SITE2 where ENUM=$ENUM
第4章 分布式数据库设计
分布式数据库的构成方式 分布式数据库的模式结构 分布式数据库系统中的透明性 分布式数据库的数据分割方法 分布式数据库的设计方法 实例分析
4.1分布式数据库的构成方式
单层次结构 多层次结构
分布式数据库的构成方式
单层次(SL DDB)
显然:rAi θ Bj s =
Ai θ Bj(r
× s) , θ为“=”时称为等连。
举例: r B = B s
举例 : r B > B s
关系代数运算(九)
9、 F—连接 设r[R]、s[S]的关系框架分别为 R= {A1,A2,...,Ak 1}和S={B1, B2,...,Bk2},F(A1,…,Ak1,B1,…,Bk2)为 一公式,那么关系 r、s 的 F—连接运算定义为: r s=
关系代数运算(五)
5、θ—选择 设θ是比较运算符“=、<、≤、≠、、 ≥ ”中的某一个,那么关系r[R]的 θ 一选择运算 定义为:
或
Aj θ c
( r ) ={ t | t r t[Aj] θ c } Aj θ Ai ( r ) ={ t | t r t[Aj] θ t[Ai] }
结果特征: 为r 中满足 θ 条件的元组集(与 r 是 同类关系) 举例
例题
A1 b b c d
设有三个已知关系如下: 关系r1 关系r2 关系s1
A2 2 3 2 3 A3 d b d b A1 a b c e g A2 3 2 2 5 6 A3 c d d f f A2 2 3 A3 d b A1 b b b b c c d d A2 2 2 3 3 2 2 3 3
数据分片是分布式数据库设计的首先要 面对的问题 数据分割以关系代数为理论基础
4.4.1 关系代数
关系是 关系操作: Query, Insert, Delete, Update 关系运算可分为关系代数 和关系演算两大类。
关系代数(一)
关系代数是对关系进行集合代数运算, 是基于关系代数的操作语言,称为关系 代数语言,简称关系代数。 关系代数的运算对象是关系,运算结果 也是关系。 关系相等:设有同类关系r1和r2,若r1的 任何一个元组都是r2的一个元组,则称 关系r2包含关系r1,记为r2r1,或r1r2。 如果r1r2且r1r2,则称r1等于r2,记为 r1=r2
NRS/SS映射
参考模型
GAS1 DDB1 GRS1 GAS2 GAS3 GRS2 GAS4 DDB2