- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1. 最高级别:分片透明性 由于DDBMS提供分片透明性,所以只需要对全局关系进行连接操作即可,编写程序 如下:read(terminal, $pno); select sname into $sname from supplier s, supply sp where s.sno=sp.sno and sp.pno=$pno; write (terminal, $sname); 2. 中等级别:位置透明性 由于DDBMS仅提供位置透明性,因此在编程时需要了解全局关系的分片模式。 利用SUPPLY分片模式中的事实,即片段SP1中只包含S1中供应商供应的零件号; 同样,片段SP2中只包含S2中供应商的零件号。编写程序如下: read(terminal, $pno); select sname into $sname from s1, sp1 where s1.sno=sp1.sno and sp1.pno=$pno; if not # found then select sname into $sname from s2, sp2 where s2.sno=sp2.sno and sp2.pno=$pno; write (terminal, $sname); 4.3 DDBMS复杂查询与分布透明性示例 4 DDBMS中数据的独立性与分布透明性 * 3. 最低级别:局部数据模型透明性 由于DDBMS只提供局部数据模型透明性,不提供位置透明性和分片透明性,因此在 编程时不但需要了解全局关系的分片模式,还需要了解各片段存放的站点。 read ( terminal, $pno); select sno into $sno from sp1 at L3 where pno=$pno; if #found then begin send $sno from L3 to L1; select sname into $sname from s1 at L1 where sno=$sno; end else begin select sno into $sno from sp2 at L4 where pno=$pno; send $sno from L4 to L2; select sname into $sname from s2 at L2 where sno=$sno; end write(terminal, $sname); 注:这里没有使用SQL的连接查询,而是将它分裂采用每条原语只在一个节点上执行,对于没有提供位置透明性的DDBMS来说,这样做更加合理。指令send允许在执行 查询的两个站点之间进行直接通信,这对中间结果不是单个变量而是整个文件的情况 是很重要的。 4.3 DDBMS复杂查询与分布透明性示例 4 DDBMS中数据的独立性与分布透明性 * 4.4 DDBMS更新应用与分布透明性示例 对查询应用可以只对数据片段或其任一副本进行。但对更新应用来说,其操作必须对数据片段及其全部副本进行。如果DDBMS不提供位置透明性(包括复制透明性)时,那么就由应用程序来完成片段及其全部副本的更新。因此,位置透明性对更新应用尤为重要。 例1.5
文档评论(0)