




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章 分布透明性的級別 所謂分布透明性級別就是應(yīng)用程序與數(shù)據(jù)分布相關(guān)程度的一種度量,很類似于集中式數(shù)據(jù)庫中的數(shù)據(jù)獨立性,數(shù)據(jù)分布透明性分為四個級別。首先通過例子考慮什么是分段及分段種類。4.1 數(shù)據(jù)分段及分段種類設(shè)有如下關(guān)系數(shù)據(jù)模型:S (學號,姓名,年令,性別,系號,獎學金, 班長學號,民族)D(系號,系名,系主任)C(課號,課名,學時,任課教師)SC(學號, 課號,成績) (1)水平分段-通過選擇運算實現(xiàn)例:把表S分為2個段,男、女各一段選擇的條件稱為限定語,用q表示S1=SL性別=男SS2=SL性別=女S(2) 垂直分段-通過投影運算實現(xiàn)例:根據(jù)學習與生活的不同用途把S按屬性分為2個段
2、。 S3=PJ學號,姓名,系名,班長學號S S4=PJ學號,性別,獎學金,民族S注意:學號必須重復,用于結(jié)合還原(3) 導出式水平分段-通過半結(jié)合運算實現(xiàn)例:把成績表SC按男、女分為2個段 SC1=SC NSJ S1 (男) SC2=SC NSJ S2 (女)(4) 混合式分段(含水平和垂直)例:把S分成4段,男、女及學習與生活信息分開S11=PJ學號,姓名,系別,班長學號SL性別=男SS12=PJ學號,姓名,系別,班長學號SL性別=女SS21=PJ學號,性別,獎學金,民族SL性別=男S S22=PJ學號,性別,獎學金,民族SL性別=女S 分段原則與分段透明性級別分段原則:(1)數(shù)據(jù)完整性(不
3、丟數(shù)據(jù)),任一數(shù)據(jù)必屬某段。(2)可重構(gòu)性 水平分段、或?qū)С鏊椒侄斡煤喜⑦\算重構(gòu), 垂直分段用結(jié)合運算重構(gòu)混合分段用合并和結(jié)合運算重構(gòu)(3)不相交性水平分段、或?qū)С鏊椒侄尉鶠閯澐?,即任意一個元組只屬某一個段。分段透明性級別:(1) 分段透明應(yīng)用程序與段無關(guān)(與集中數(shù)據(jù)庫相同)(2) 位置透明應(yīng)用程序與段有關(guān),但與段所在位置無關(guān)(3) 本地映射透明應(yīng)用程序與段及段所在位置都有關(guān),但與本地的DBMS無關(guān)(4) 無透明性應(yīng)用程序與段、段的位置、本地DBMS都有關(guān) 只讀應(yīng)用的分布透明性 (1) 最簡單的讀應(yīng)用(單表讀)例子:設(shè)有全局據(jù)庫模型:EMP(EMPNUM,NAME,SAL,TAX,MGRN
4、UM,DEPTNUM) DEPT(DEPTNUM, NAME, AREA, MGRNUM)SUPPLIER(SNUM, NAME, CITY)SUPPLY(SNUM, PNUM, DEPTNUM, QUAN)分段模式:EMP1=SLDEPTNUM<=10PJEMPNUM,NAME,MGRNUM,DEPTNUM(EMP)EMP2=SL10<DEPTNUM<=20PJEMPNUM,NAME,MGRNUM,DEPTNUM(EMP)EMP3=SLDEPTNUM>20PJEMPNUM,NAME,MGRNUM,DEPTNUM(EMP) EMP4=PJEMPNUM,NAME,SAL,
5、TAX(EMP)DEPT1=SLDEPTNUM<=10(DEPT)DEPT2=SL10<DEPTNUM<=20(DEPT)DEPT3=SLDEPTNUM>20(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:任意給
6、一個供應(yīng)商號,求供應(yīng)商名。 (1)系統(tǒng)具有分段透明性 Read(terminal,$SNUM); select NAME into $NAME from SUPPLIER where SNUM = $SNUM; Write(terminal, $NAME);SUPPLIER1 DDBNS 站點1SUPPLIER2 DDBMS 站點2SUPPLIER2 站點3 (a) 分段透明性(級別1)查詢Q1:任意給一個供應(yīng)商號,求供應(yīng)商名。 (2)系統(tǒng)具有位置透明性:Read(terminal,$SNUM); select NAME into $NAME from SUPPLIER1 where SNUM
7、 = $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)系統(tǒng)具有本地映射透明性:(加站點)Read(terminal,$SNUM); select NAME into $NAME from SUPPLIER1 AT SITE1 where SNUM = $SNUM;if not # FOUND
8、then select NAME into $NAME from SUPPLIER2 AT SITE3 where SNUM = $SNUM;Write(terminal, $NAME);SUPPLIER1 DDBNS 站點1SUPPLIER2 DDBMS 站點2SUPPLIER2 站點3 (c) 本地映射透明性(級別3)圖4.1 分布透明性不同級別下的只讀應(yīng)用 SUPINQUIRY(4)無透明性(2)較復雜的讀應(yīng)用(多表讀)查詢Q2:任意給一個零件號,求供應(yīng)商名。設(shè)分配模式為:SUPPLIER1 為站點1 SUPPLY1 為站點3 SUPPLIER2 為站點2 SUPPLY2 為站點4(1)
9、系統(tǒng)具有分段透明性 Read(terminal,$PNUM); select NAME into $NAME from SUPPLIER,SUPPLYwhere SUPPLIER . SNUM = SUPPLY.SNUM and SUPPLY.PNUM=$PNUM; Write(terminal, $NAME); (a) 分段透明性(級別1)查詢Q2:任意給一個零件號,求供應(yīng)商名。 設(shè)分配模式為:SUPPLIER1 為站點1 SUPPLY1 為站點3 SUPPLIER2 為站點2 SUPPLY2 為站點4(2)系統(tǒng)具有位置透明性Read(terminal,$PNUM); select NAME
10、 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 與
11、 SUPPLY2 或SUPPLIER1 與 SUPPLY2 的結(jié)合不為空呢?查詢Q2:任意給一個零件號,求供應(yīng)商名。并設(shè)分配模式為:SUPPLIER1 為站點1 SUPPLY1 為站點3 SUPPLIER2 為站點2 SUPPLY2 為站點4(3)系統(tǒng)具有本地映射透明性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 S
12、UPPLIER1 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);(d) 本地映射透明性(級別3) 分布透明性不同級別下的只讀應(yīng)用 SUPOFPART4.4 更新應(yīng)用的分布透明性設(shè)有
13、全局數(shù)據(jù)模型: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)學號為100的學生
14、由2號系調(diào)入5號系的程序。的程序。分段透明:UPDATE SSET 獎學金=獎學金+50WHERE 學號=100;位置透明:SELECT * FROM S1 WHERE 學號=100; IF # FOUND THEN UPDATE S1SET 獎學金=獎學金+50WHERE 學號=100;ELSE BEGIN SELECT * FROM S2 WHERE 學號=100; IF # FOUND THENUPDATE S2SET 獎學金=獎學金+50WHERE 學號=100; ELSEUPDATE S3SET 獎學金=獎學金+50WHERE 學號=100;END;本地映射透明:SELECT * F
15、ROM S1 AT SITE1 WHERE 學號=100;IF # FOUND THEN UPDATE S1 AT SITE1SET 獎學金=獎學金+50WHERE 學號=100;ELSE BEGIN SELECT * FROM S2 AT SITE2 WHERE 學號=100; IF # FOUND THENUPDATE S2 AT SITE2SET 獎學金=獎學金+50WHERE 學號=100;ELSEUPDATE S3 AT SITE3SET 獎學金=獎學金+50WHERE 學號=100;END;(2)把6號與2號系學生的獎學金都加50元。分段透明:UPDATE SSET 獎學金=獎學金
16、+50WHERE 系號=2 OR系號=6;位置透明:UPDATE S2SET 獎學金=獎學金+50;UPDATE S3SET 獎學金=獎學金+50WHERE 系號=6;本地映射透明:UPDATE S2 AT SITE2SET 獎學金=獎學金+50;UPDATE S3 AT SITE3SET 獎學金=獎學金+50WHERE 系號=6;(3)學號為100的學生由2號系調(diào)入5號系的程序。分段透明:UPDATE SSET 系號=5WHERE 學號=100;位置透明:SELECT 姓名,年令,性別,獎學金,班長學號,民族INTO 姓名,年令,性別, 獎學金, 民族FROM S1WHERE 學號=100;
17、SELECT 學號, 課號,成績 INTO SC(學號, 課號,成績)FROM SC1WHERE 學號=100; DELETE SC1 WHERE 學號=100;(先刪SC1,因為學號在該表中為外鍵)DELETE S1 WHERE 學號=100;(再刪S1)INSERT INTO S2 (100,姓名,年令,性別, 獎學金, 民族)INSERT INTO SC2 AS SELECT * FROM SC本地映射透明:SELECT 姓名,年令,性別,獎學金,班長學號,民族INTO 姓名,年令,性別, 獎學金, 民族FROM S1 AT SITE1WHERE 學號=100;SELECT 學號, 課號
18、,成績 INTO SC(學號, 課號,成績)FROM SC1 AT SITE1WHERE 學號=100; DELETE SC1 AT SITE1 WHERE 學號=100;DELETE S1 AT SITE1 WHERE 學號=100;INSERT INTO S2 AT SITE2(100,姓名,年令,性別, 獎學金, 民族)INSERT INTO SC2 AT SITE2 AS SELECT * FROM SC設(shè)EMP有如下分段:EMP1=PJEMPNUM,NAME,SAL,TAXSLDEPTNUM<=10(EMP) EMP2=PJEMPNUM,MGRNUM,DEPTNUMSLDEPT
19、NUM<=10(EMP) EMP3=PJEMPNUM,NAME,DEPTNUM SLDEPTNUM>10(EMP) EMP4=PJEMPNUM,SAL,TAX MGRNUM SLDEPTNUM>10 (EMP)Q3 100號雇員從3號部門調(diào)至15號部門。分段透明:(注意:部門變了部門經(jīng)理號也得變) 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 EMP1WHERE EMPNUM = 100 ;SELECT MGRNUM INTO $MGRNUMFROM DEPT2WHERE DEPTNUM = 15 ;DELETE EMP1 WHERE EMPNUM = 100; DELETE EMP2 WHERE EMPNUM = 100;INSERT INTO EMP3(EMPNUM,SAL,TAX,DEPTNUM); (100,$NAME,15 );INSERT INTO EMP4(EMPNUM,SAL,TAX,MGR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年秘書證考試理論知識試題及答案
- 就業(yè)勞務(wù)人才服務(wù)工作情況匯報
- 湖北省2025屆九師聯(lián)盟核心模擬卷(下)(樣卷)地理試題及答案
- 政府采購法頒布20周年知識競賽題庫(試題86題含答案)
- 南京市旭東中學2025屆初三第三次模性考試英語試題試卷含答案
- 針灸大家是怎樣煉成的(感人至深)名老中醫(yī)魏稼作品
- 2024-2025學年蘇州市工業(yè)園區(qū)斜塘校初三4月質(zhì)量調(diào)研(二模)英語試題理試題含答案
- 2025屆江蘇省無錫市江陰初級中學高中畢業(yè)班調(diào)研測試化學試題試卷含解析
- 山東省兗州一中下學期2025年高三下學期一模預(yù)考生物試題含解析
- 新疆阿克蘇市第一師高級中學2024-2025學年第二學期期末考試高三物理試題試卷含解析
- 成人肥胖食養(yǎng)指南(2024年版)
- 危險化學品理化性質(zhì)培訓
- 危險化學品目錄(2024版)
- 骨科術(shù)后下肢腫脹護理
- 快件處理員(高級)職業(yè)技能鑒定考試題庫(含答案)
- 福建省廈門市雙十中學2024-2025學年九年級上學期期中考試英語試題
- 2024年廣東省深圳市中考英語模擬試卷(三)
- 成語故事對牛彈琴
- 湖南省邵陽市2024年六年級數(shù)學第一學期期末檢測模擬試題含解析
- 肥胖微生物組與腸道菌群宏基因組學研究
- 2024年全國統(tǒng)一高考數(shù)學試卷(新高考Ⅱ)含答案
評論
0/150
提交評論