- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布透明性的级别
所谓分布透明性级别就是应用程序与数据分布相关程度的一种度量,很类似于集中式数据库中的数据独立性,数据分布透明性分为四个级别。
首先通过例子考虑什么是分段及分段种类。
4.1 数据分段及分段种类
设有如下关系数据模型:
S (学号,姓名,年令,性别,系号,奖学金, 班长学号,民族)
D(系号,系名,系主任)
C(课号,课名,学时,任课教师)
SC(学号, 课号,成绩)
(1)水平分段---通过选择运算实现
例:把表S分为2个段,男、女各一段
选择的条件称为限定语,用q表示
S1=SL性别=’男’S
S2=SL性别=‘女‘S
垂直分段---通过投影运算实现
例:根据学习与生活的不同用途把S按属性分为2个段。
S3=PJ学号,姓名,系名,班长学号S
S4=PJ学号,性别,奖学金,民族S
注意:学号必须重复,用于结合还原
导出式水平分段---通过半结合运算实现
例:把成绩表SC按男、女分为2个段
SC1=SC NSJ S1 (男)
SC2=SC NSJ S2 (女)
混合式分段(含水平和垂直)
例:把S分成4段,男、女及学习与生活信息分开
S11=PJ学号,姓名,系别,班长学号SL性别=‘男‘S
S12=PJ学号,姓名,系别,班长学号SL性别=‘女‘S
S21=PJ学号,性别,奖学金,民族SL性别=‘男‘S
S22=PJ学号,性别,奖学金,民族SL性别=‘女‘S
4.2分段原则与分段透明性级别
分段原则:
(1)数据完整性(不丢数据),任一数据必属某段。
(2)可重构性
水平分段、或导出水平分段用合并运算重构,
垂直分段用结合运算重构
混合分段用合并和结合运算重构
(3)不相交性
水平分段、或导出水平分段均为划分,即任意一个元组只属某一个段。
分段透明性级别:
(1) 分段透明
应用程序与段无关(与集中数据库相同)
位置透明
应用程序与段有关,但与段所在位置无关
本地映射透明
应用程序与段及段所在位置都有关,但与
本地的DBMS无关
无透明性
应用程序与段、段的位置、本地DBMS都有关
4.3 只读应用的分布透明性
(1) 最简单的读应用(单表读)
例子:设有全局据库模型:
EMP(EMPNUM,NAME,SAL,TAX,MGRNUM,DEPTNUM)
DEPT(DEPTNUM, NAME, AREA, MGRNUM)
SUPPLIER(SNUM, NAME, CITY)
SUPPLY(SNUM, PNUM, DEPTNUM, QUAN)
分段模式:
EMP1=SLDEPTNUM=10PJEMPNUM,NAME,MGRNUM,DEPTNUM(EMP)
EMP2=SL10DEPTNUM=20PJEMPNUM,NAME,MGRNUM,DEPTNUM(EMP)
EMP3=SLDEPTNUM20PJEMPNUM,NAME,MGRNUM,DEPTNUM(EMP)
EMP4=PJEMPNUM,NAME,SAL,TAX(EMP)
DEPT1=SLDEPTNUM=10(DEPT)
DEPT2=SL10DEPTNUM=20(DEPT)
DEPT3=SLDEPTNUM20(DEPT)
SUPPLIER1=SLCITY=’SF’(SUPPLIER)
SUPPLIER2=SLCITY=’LA’(SUPPLIER)
SUPPLY1=SUPPLY SJ SNUM=SNUM SUPPLIER1
SUPPLY2=SUPPLY SJ SNUM=SNUM SUPPLIER2
也可写成:
SUPPLY1=SUPPLY NSJ SUPPLIER1
SUPPLY2=SUPPLY NSJ SUPPLIER2
例子:Q1:任意给一个供应商号,求供应商名。
(1)系统具有分段透明性
Read(terminal,$SNUM);
select NAME into $NAME
from SUPPLIER
where SNUM = $SNUM;
Write(terminal, $NAME);
站点1
DDBMS 站点2
站点3
分段透明性(级别1)
查询Q1:任意给一个供应商号,求供应商名。
(2)系统具有位置透明性:
Read(terminal,$SNUM);
select NAME into $NAME
from SUPPLIER1
where SNUM = $SNUM;
if not #
文档评论(0)