免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 分布透明性的级别 所谓分布透明性级别就是应用程序与数据分布相关程度的一种度量,很类似于集中式数据库中的数据独立性,数据分布透明性分为四个级别。首先通过例子考虑什么是分段及分段种类。4.1 数据分段及分段种类设有如下关系数据模型:S (学号,姓名,年令,性别,系号,奖学金, 班长学号,民族)D(系号,系名,系主任)C(课号,课名,学时,任课教师)SC(学号, 课号,成绩) (1) 水平分段-通过选择运算实现(2) 例:把表S分为2个段,男、女各一段选择的条件称为限定语,用q表示S1=SL性别=男SS2=SL性别=女S(2) 垂直分段-通过投影运算实现例:根据学习与生活的不同用途把S按属性分为2个段。 S3=PJ学号,姓名,系名,班长学号S S4=PJ学号,性别,奖学金,民族S注意:学号必须重复,用于结合还原(3) 导出式水平分段-通过半结合运算实现例:把成绩表SC按男、女分为2个段 SC1=SC NSJ S1 (男) SC2=SC NSJ S2 (女)(4) 混合式分段(含水平和垂直)例:把S分成4段,男、女及学习与生活信息分开S11=PJ学号,姓名,系别,班长学号SL性别=男SS12=PJ学号,姓名,系别,班长学号SL性别=女SS21=PJ学号,性别,奖学金,民族SL性别=男SS22=PJ学号,性别,奖学金,民族SL性别=女S 4.2 分段原则与分段透明性级别分段原则:(1)数据完整性(不丢数据),任一数据必属某段。(2)可重构性 水平分段、或导出水平分段用合并运算重构, 垂直分段用结合运算重构混合分段用合并和结合运算重构(3)不相交性水平分段、或导出水平分段均为划分,即任意一个元组只属某一个段分段透明性级别:(1) 分段透明应用程序与段无关(与集中数据库相同)(2) 位置透明应用程序与段有关,但与段所在位置无关(3) 本地映射透明应用程序与段及段所在位置都有关,但与本地的DBMS无关(4) 无透明性应用程序与段、段的位置、本地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=SL10DEPTNUM20PJEMPNUM,NAME,MGRNUM,DEPTNUM(EMP)EMP4=PJEMPNUM,NAME,SAL,TAX(EMP)DEPT1=SLDEPTNUM=10(DEPT)DEPT2=SL10DEPTNUM20(DEPT)SUPPLIER1=SLCITY=SF(SUPPLIER)SUPPLIER2=SLCITY=LA(SUPPLIER)SUPPLY1=SUPPLY SJ SNUM=SNUM SUPPLIER1SUPPLY2=SUPPLY SJ SNUM=SNUM SUPPLIER2也可写成:SUPPLY1=SUPPLY NSJ SUPPLIER1SUPPLY2=SUPPLY NSJ SUPPLIER2例子:Q1:任意给一个供应商号,求供应商名。 (1)系统具有分段透明性 Read(terminal,$SNUM); select NAME into $NAME from SUPPLIER where SNUM = $SNUM; Write(terminal, $NAME);SUPPLIER1 DDBNS 站点1SUPPLIER2 DDBMS 站点2SUPPLIER2 站点3 (a) 分段透明性(级别1)查询Q1:任意给一个供应商号,求供应商名。 (2)系统具有位置透明性:Read(terminal,$SNUM); select NAME into $NAME from SUPPLIER1 where SNUM = $SNUM;if not # FOUND then select NAME into $NAME from SUPPLIER2 where SNUM = $SNUM;Write(terminal, $NAME);SUPPLIER1 DDBNS 站点1SUPPLIER2 DDBMS 站点2SUPPLIER2 或 站点3(b)位置透明性(级别2)(3)系统具有本地映射透明性:Read(terminal,$SNUM); select NAME into $NAME from SUPPLIER1 AT SITE1 where SNUM = $SNUM;if not # FOUND then select NAME into $NAME from SUPPLIER2 AT SITE3 where SNUM = $SNUM;Write(terminal, $NAME);SUPPLIER1 DDBNS 站点1SUPPLIER2 DDBMS 站点2SUPPLIER2 站点3 (b)本地映射透明性(级别3)图4.1 分布透明性不同级别下的只读应用 SUPINQUIRY(4)无透明性(2)较复杂的读应用(多表读)查询Q2:任意给一个零件号,求供应商名。设分配模式为:SUPPLIER1 为站点1 SUPPLY1 为站点3 SUPPLIER2 为站点2 SUPPLY2 为站点4(1)系统具有分段透明性 Read(terminal,$PNUM); select NAME into $NAME from SUPPLIER,SUPPLYwhere SUPPLIER . SNUM = SUPPLY.SNUM and SUPPLY.PNUM=$PNUM; Write(terminal, $NAME);(a) 分段透明性(级别1)查询Q2:任意给一个零件号,求供应商名。 设分配模式为:SUPPLIER1 为站点1 SUPPLY1 为站点3SUPPLIER2 为站点2 SUPPLY2 为站点4(2)系统具有位置透明性Read(terminal,$PNUM); select NAME into $NAME from SUPPLIER1,SUPPLY1where SUPPLIER1 . SNUM = SUPPLY1.SNUM; and SUPPLY1.PNUM=$PNUM;if not # FOUND thenselect NAME into $NAME from SUPPLIER2,SUPPLY2where SUPPLIER2 . SNUM = SUPPLY2.SNUM; and SUPPLY2.PNUM=$PNUM; Write(terminal, $NAME); (b) 位置透明性(级别2)思考:SUPPLIER 与 SUPPLY 都有更多的段?SUPPLIER1 与 SUPPLY2 或SUPPLIER1 与 SUPPLY2 的结合不为空呢?查询Q2:任意给一个零件号,求供应商名。并设分配模式为:SUPPLIER1 为站点1 SUPPLY1 为站点3 SUPPLIER2 为站点2 SUPPLY2 为站点4(3)系统具有本地映射透明性Read(terminal,$PNUM); select SNUM into $SNUM from SUPPLY1 at site3where PNUM = $PNUM;if # FOUND thenbegin send $SNUM from site3 to site1;select NAME into $NAMEfrom SUPPLIER1 at site1 (程序员很聪明)where SNUM = $SNUMendelse beginselect SNUM into $SNUMfrom SUPPLIER2 at site4where PNUM = $PNUM;send $SNUM from site4 to site2;select NAME into $NAMEfrom SUPPLIER2 at site2where SNUM = $SNUM endWrite(terminal, $NAME);(b) 本地映射透明性(级别3) 图4.2 分布透明性不同级别下的只读应用 SUPOFPART4.4 更新应用的分布透明性设有全局数据模型:S(学号,姓名,年令,性别,系号,奖学金,班长学号,民族)C(课号,课名,学时,任课教师)SC(学号, 课号,成绩) D(系号,系名,系主任)分段与分配模式为:S1=SL系号=2S 站点1S2=SL系号=5S 站点2S3=SL系号2 AND 系号5S 站点3SC1 = SC NSJ S1 站点1SC2 = SC NSJ S2 站点2SC3 = SC NSJ S3 站点3模式C与D不分段,且重复地存放在2个站点上。请完成:(1)把100号学生的奖学金增加50元。(2)把6号与2号系学生的奖学金都加50元。(3)分别写出在前3级透明性下的学号为100的学生由2号系调入5号系的程序。Q3: 100号雇员从3号部门调至15号部门。 Select MGRNUM into $MGRNUM From DEPT Where DEPTNUM = 15;Update EMPSet DEPTNUM = 15, MGRNUM=$MGRNUMWhere EMPNUM = 100(a) 分段透明性(级别1)Select NAME,SAL,TAX into $NAME,$SAL,$TAXFrom EMP1 Where EMPNUM = 100 ;Select MGRNUM into $MGRNUMFrom EMP2Where EMPNUM = 15 ;Insert into EMP3(EMPNUM,SAL,TAX,DEPTNUM); (100,$name,15 );Insert into EMP4(EMPNUM,SAL,TAX,MGRNUM); (100,$SAL,$TAX ,$MGRNUM);Delete EMP1 where EMPNUM = 100;Delete EMP2 where EMPNUM = 100;(b) 位置透明性(级别2)Select NAME,SAL,TAX into $NAME,$SAL,$TAXFrom EMP1 at site 1Where EMPNUM = 100 ;Select MGRNUM into $MGRNUMFrom EMP2 at site 2Where EMPNUM = 15 ;Insert into EMP3(EMPNUM,NAME,DEPTNUM); At site 3:(100,$name,15 );Insert into EMP3(EMPNUM,NAME,MGRNUM); At site 7:(100,$NAME ,15);Insert into EMP4(EMPNUM,SAL,TAX,MGRNUM); At site 4:(100,$SAL,$TAX,$MGRNUM,);Insert into EMP4(EMPNUM,SAL,TAX,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗设备工程师的日常工作计划与优化
- 项目设计经理如何做好设计与执行双翼的管理规划
- 广大用电客户通知书
- 广州水电费整顿通知书
- 广饶职业中转入学通知书
- 庙山街道停电通知书
- 延安学校高中招生通知书
- 开封小学提前开学通知书
- 张二庄镇停电通知书
- 张店快速路封路通知书
- 铁路技规(全-上传)课件
- 室内装饰工程施工进度横道图
- 熔铝工安全操作规程
- 光伏项目安全设施设计专篇
- 新加坡O水准考试试卷-新加坡O水准考试真题之第三套物理
- 国开电大应用写作(汉语)形考任务5参考答案
- T-GDC 126-2021 汽车零部件仓储安全管理规范
- JJG 814-2015自动电位滴定仪
- 三标体系内审员培训课件
- 体育商业综合体规划方案
- BRCGS食品安全全球标准第9版全套程序文件
评论
0/150
提交评论