网站大量收购闲置独家精品文档,联系QQ:2885784924

第四章 分布透明性.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

yyanrlund + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档