版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章 分布透明性的級(jí)別 所謂分布透明性級(jí)別就是應(yīng)用程序與數(shù)據(jù)分布相關(guān)程度的一種度量,很類似于集中式數(shù)據(jù)庫(kù)中的數(shù)據(jù)獨(dú)立性,數(shù)據(jù)分布透明性分為四個(gè)級(jí)別。首先通過(guò)例子考慮什么是分段及分段種類。4.1 數(shù)據(jù)分段及分段種類設(shè)有如下關(guān)系數(shù)據(jù)模型:S (學(xué)號(hào),姓名,年令,性別,系號(hào),獎(jiǎng)學(xué)金, 班長(zhǎng)學(xué)號(hào),民族)D(系號(hào),系名,系主任)C(課號(hào),課名,學(xué)時(shí),任課教師)SC(學(xué)號(hào), 課號(hào),成績(jī)) (1)水平分段-通過(guò)選擇運(yùn)算實(shí)現(xiàn)例:把表S分為2個(gè)段,男、女各一段選擇的條件稱為限定語(yǔ),用q表示S1=SL性別=男SS2=SL性別=女S(2) 垂直分段-通過(guò)投影運(yùn)算實(shí)現(xiàn)例:根據(jù)學(xué)習(xí)與生活的不同用途把S按屬性分為2個(gè)段
2、。 S3=PJ學(xué)號(hào),姓名,系名,班長(zhǎng)學(xué)號(hào)S S4=PJ學(xué)號(hào),性別,獎(jiǎng)學(xué)金,民族S注意:學(xué)號(hào)必須重復(fù),用于結(jié)合還原(3) 導(dǎo)出式水平分段-通過(guò)半結(jié)合運(yùn)算實(shí)現(xiàn)例:把成績(jī)表SC按男、女分為2個(gè)段 SC1=SC NSJ S1 (男) SC2=SC NSJ S2 (女)(4) 混合式分段(含水平和垂直)例:把S分成4段,男、女及學(xué)習(xí)與生活信息分開(kāi)S11=PJ學(xué)號(hào),姓名,系別,班長(zhǎng)學(xué)號(hào)SL性別=男SS12=PJ學(xué)號(hào),姓名,系別,班長(zhǎng)學(xué)號(hào)SL性別=女SS21=PJ學(xué)號(hào),性別,獎(jiǎng)學(xué)金,民族SL性別=男S S22=PJ學(xué)號(hào),性別,獎(jiǎng)學(xué)金,民族SL性別=女S 分段原則與分段透明性級(jí)別分段原則:(1)數(shù)據(jù)完整性(不
3、丟數(shù)據(jù)),任一數(shù)據(jù)必屬某段。(2)可重構(gòu)性 水平分段、或?qū)С鏊椒侄斡煤喜⑦\(yùn)算重構(gòu), 垂直分段用結(jié)合運(yùn)算重構(gòu)混合分段用合并和結(jié)合運(yùn)算重構(gòu)(3)不相交性水平分段、或?qū)С鏊椒侄尉鶠閯澐?,即任意一個(gè)元組只屬某一個(gè)段。分段透明性級(jí)別:(1) 分段透明應(yīng)用程序與段無(wú)關(guān)(與集中數(shù)據(jù)庫(kù)相同)(2) 位置透明應(yīng)用程序與段有關(guān),但與段所在位置無(wú)關(guān)(3) 本地映射透明應(yīng)用程序與段及段所在位置都有關(guān),但與本地的DBMS無(wú)關(guān)(4) 無(wú)透明性應(yīng)用程序與段、段的位置、本地DBMS都有關(guān) 只讀應(yīng)用的分布透明性 (1) 最簡(jiǎn)單的讀應(yīng)用(單表讀)例子:設(shè)有全局據(jù)庫(kù)模型: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、一個(gè)供應(yīng)商號(hào),求供應(yīng)商名。 (1)系統(tǒng)具有分段透明性 Read(terminal,$SNUM); select NAME into $NAME from SUPPLIER where SNUM = $SNUM; Write(terminal, $NAME);SUPPLIER1 DDBNS 站點(diǎn)1SUPPLIER2 DDBMS 站點(diǎn)2SUPPLIER2 站點(diǎn)3 (a) 分段透明性(級(jí)別1)查詢Q1:任意給一個(gè)供應(yīng)商號(hào),求供應(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 站點(diǎn)1SUPPLIER2 DDBMS 站點(diǎn)2SUPPLIER2 或 站點(diǎn)3 (b) 位置透明性(級(jí)別2)(3)系統(tǒng)具有本地映射透明性:(加站點(diǎn))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 站點(diǎn)1SUPPLIER2 DDBMS 站點(diǎn)2SUPPLIER2 站點(diǎn)3 (c) 本地映射透明性(級(jí)別3)圖4.1 分布透明性不同級(jí)別下的只讀應(yīng)用 SUPINQUIRY(4)無(wú)透明性(2)較復(fù)雜的讀應(yīng)用(多表讀)查詢Q2:任意給一個(gè)零件號(hào),求供應(yīng)商名。設(shè)分配模式為:SUPPLIER1 為站點(diǎn)1 SUPPLY1 為站點(diǎn)3 SUPPLIER2 為站點(diǎn)2 SUPPLY2 為站點(diǎn)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) 分段透明性(級(jí)別1)查詢Q2:任意給一個(gè)零件號(hào),求供應(yīng)商名。 設(shè)分配模式為:SUPPLIER1 為站點(diǎn)1 SUPPLY1 為站點(diǎn)3 SUPPLIER2 為站點(diǎn)2 SUPPLY2 為站點(diǎn)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) 位置透明性(級(jí)別2)思考:SUPPLIER 與 SUPPLY 都有更多的段?SUPPLIER1 與
11、 SUPPLY2 或SUPPLIER1 與 SUPPLY2 的結(jié)合不為空呢?查詢Q2:任意給一個(gè)零件號(hào),求供應(yīng)商名。并設(shè)分配模式為:SUPPLIER1 為站點(diǎn)1 SUPPLY1 為站點(diǎn)3 SUPPLIER2 為站點(diǎn)2 SUPPLY2 為站點(diǎn)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) 本地映射透明性(級(jí)別3) 分布透明性不同級(jí)別下的只讀應(yīng)用 SUPOFPART4.4 更新應(yīng)用的分布透明性設(shè)有
13、全局?jǐn)?shù)據(jù)模型:S(學(xué)號(hào),姓名,年令,性別,系號(hào),獎(jiǎng)學(xué)金,民族)C(課號(hào),課名,學(xué)時(shí),任課教師)SC(學(xué)號(hào), 課號(hào),成績(jī)) D(系號(hào),系名,系主任)分段與分配模式為:S1=SL系號(hào)=2S 站點(diǎn)1S2=SL系號(hào)=5S 站點(diǎn)2S3=SL系號(hào)¹2 AND 系號(hào)¹5S 站點(diǎn)3SC1 = SC NSJ S1 站點(diǎn)1SC2 = SC NSJ S2 站點(diǎn)2SC3 = SC NSJ S3 站點(diǎn)3模式C與D不分段,且重復(fù)地存放在2個(gè)站點(diǎn)上。請(qǐng)分別在分段透明、位置透明、本地映射透明下完成:(1)把100號(hào)學(xué)生的獎(jiǎng)學(xué)金增加50元。(2)把6號(hào)與2號(hào)系學(xué)生的獎(jiǎng)學(xué)金都加50元。(3)學(xué)號(hào)為100的學(xué)生
14、由2號(hào)系調(diào)入5號(hào)系的程序。的程序。分段透明:UPDATE SSET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 學(xué)號(hào)=100;位置透明:SELECT * FROM S1 WHERE 學(xué)號(hào)=100; IF # FOUND THEN UPDATE S1SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 學(xué)號(hào)=100;ELSE BEGIN SELECT * FROM S2 WHERE 學(xué)號(hào)=100; IF # FOUND THENUPDATE S2SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 學(xué)號(hào)=100; ELSEUPDATE S3SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 學(xué)號(hào)=100;END;本地映射透明:SELECT * F
15、ROM S1 AT SITE1 WHERE 學(xué)號(hào)=100;IF # FOUND THEN UPDATE S1 AT SITE1SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 學(xué)號(hào)=100;ELSE BEGIN SELECT * FROM S2 AT SITE2 WHERE 學(xué)號(hào)=100; IF # FOUND THENUPDATE S2 AT SITE2SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 學(xué)號(hào)=100;ELSEUPDATE S3 AT SITE3SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 學(xué)號(hào)=100;END;(2)把6號(hào)與2號(hào)系學(xué)生的獎(jiǎng)學(xué)金都加50元。分段透明:UPDATE SSET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金
16、+50WHERE 系號(hào)=2 OR系號(hào)=6;位置透明:UPDATE S2SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50;UPDATE S3SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 系號(hào)=6;本地映射透明:UPDATE S2 AT SITE2SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50;UPDATE S3 AT SITE3SET 獎(jiǎng)學(xué)金=獎(jiǎng)學(xué)金+50WHERE 系號(hào)=6;(3)學(xué)號(hào)為100的學(xué)生由2號(hào)系調(diào)入5號(hào)系的程序。分段透明:UPDATE SSET 系號(hào)=5WHERE 學(xué)號(hào)=100;位置透明:SELECT 姓名,年令,性別,獎(jiǎng)學(xué)金,班長(zhǎng)學(xué)號(hào),民族INTO 姓名,年令,性別, 獎(jiǎng)學(xué)金, 民族FROM S1WHERE 學(xué)號(hào)=100;
17、SELECT 學(xué)號(hào), 課號(hào),成績(jī) INTO SC(學(xué)號(hào), 課號(hào),成績(jī))FROM SC1WHERE 學(xué)號(hào)=100; DELETE SC1 WHERE 學(xué)號(hào)=100;(先刪SC1,因?yàn)閷W(xué)號(hào)在該表中為外鍵)DELETE S1 WHERE 學(xué)號(hào)=100;(再刪S1)INSERT INTO S2 (100,姓名,年令,性別, 獎(jiǎng)學(xué)金, 民族)INSERT INTO SC2 AS SELECT * FROM SC本地映射透明:SELECT 姓名,年令,性別,獎(jiǎng)學(xué)金,班長(zhǎng)學(xué)號(hào),民族INTO 姓名,年令,性別, 獎(jiǎng)學(xué)金, 民族FROM S1 AT SITE1WHERE 學(xué)號(hào)=100;SELECT 學(xué)號(hào), 課號(hào)
18、,成績(jī) INTO SC(學(xué)號(hào), 課號(hào),成績(jī))FROM SC1 AT SITE1WHERE 學(xué)號(hào)=100; DELETE SC1 AT SITE1 WHERE 學(xué)號(hào)=100;DELETE S1 AT SITE1 WHERE 學(xué)號(hào)=100;INSERT INTO S2 AT SITE2(100,姓名,年令,性別, 獎(jiǎng)學(xué)金, 民族)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號(hào)雇員從3號(hào)部門調(diào)至15號(hào)部門。分段透明:(注意:部門變了部門經(jīng)理號(hào)也得變) SELECT MGRNUM INTO $MGRNUM FROM DEPT WHERE DEPTNUM = 15;UPDATE EMPSET DEPTNUM = 15, MGRNUM=$MGRNUMWHERE EMPNUM = 100;(a) 分段透明性(級(jí)別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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《砌體結(jié)構(gòu)章》課件
- 《電壓比較器的應(yīng)用》課件
- 單位管理制度合并選集【人力資源管理篇】十篇
- 單位管理制度分享匯編人力資源管理篇
- 單位管理制度呈現(xiàn)合集人力資源管理篇
- 寒假自習(xí)課 25春初中道德與法治八年級(jí)下冊(cè)教學(xué)課件 第三單元 第五課 第3課時(shí) 基本經(jīng)濟(jì)制度
- 《員工考績(jī)計(jì)算》課件
- 中國(guó)風(fēng)國(guó)潮風(fēng)古風(fēng)模板120
- 2013年高考語(yǔ)文試卷(福建)(空白卷)
- 建材行業(yè)會(huì)計(jì)資金運(yùn)作監(jiān)督工作總結(jié)
- 2025年初級(jí)會(huì)計(jì)職稱《經(jīng)濟(jì)法基礎(chǔ)》全真模擬及答案(解析3套)
- 《健康社區(qū)評(píng)價(jià)標(biāo)準(zhǔn)》
- 戶外市場(chǎng)研究報(bào)告-魔鏡洞察-202412
- 浙江省金華市金東區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期語(yǔ)文期末試卷
- 【7地星球期末】安徽省合肥市包河區(qū)智育聯(lián)盟校2023-2024學(xué)年七年級(jí)上學(xué)期期末地理試題(含解析)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之2:“1至3章:范圍、術(shù)語(yǔ)和定義”(雷澤佳編制-2025B0)
- (2021)最高法民申5114號(hào)凱某建設(shè)工程合同糾紛案 指導(dǎo)
- 【9物(人)期末】安慶市宿松縣2023-2024學(xué)年九年級(jí)上學(xué)期期末考試物理試題
- 導(dǎo)航通信一體化考核試卷
- 甘肅省會(huì)寧二中2025屆高考仿真模擬數(shù)學(xué)試卷含解析
- 2024年未成年子女房產(chǎn)贈(zèng)與協(xié)議
評(píng)論
0/150
提交評(píng)論