VFP第12章關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)教學(xué)課件.ppt_第1頁
VFP第12章關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)教學(xué)課件.ppt_第2頁
VFP第12章關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)教學(xué)課件.ppt_第3頁
VFP第12章關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)教學(xué)課件.ppt_第4頁
VFP第12章關(guān)系數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)教學(xué)課件.ppt_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第12章 網(wǎng)絡(luò)程序設(shè)計(jì)技術(shù)(1學(xué)時(shí)),吉林大學(xué)計(jì)算機(jī)教學(xué)與研究中心 ,Welcome !,第12章 網(wǎng)絡(luò)程序設(shè)計(jì)技術(shù),網(wǎng)絡(luò)應(yīng)用程序的主要特點(diǎn) :多個(gè)程序并行執(zhí)行,多個(gè)用戶同時(shí)訪問數(shù)據(jù)庫。,網(wǎng)絡(luò)程序要解決的關(guān)鍵問題:數(shù)據(jù)共享與數(shù)據(jù)訪問沖突。,VFP網(wǎng)絡(luò)編程機(jī)制:文件共享和數(shù)據(jù)加鎖。,文件打開方式:是否允許修改文件以只讀方式打開;是否允許多個(gè)用戶同時(shí)訪問文件以獨(dú)占方式打開。,12.1.1 文件的只讀與可修改,以只讀方式打開的文件類型:數(shù)據(jù)庫文件(DBC)、表文件(DBF)、文本文件(TXT)和程序文件(PRG、QPR、MPR),. 通過菜單設(shè)置只讀打開方式:文件菜單打開;在打開對(duì)話框中選擇文件類型

2、文件名;選定以只讀方式打開,單擊確定按鈕。,12.1.1 文件的只讀與可修改,通過命令設(shè)置只讀打開方式:,(1)打開數(shù)據(jù)庫文件: Open DataBase NoUpdate Modify database NoEdit (2)打開表文件: Use NoUpdate (3)打開文本文件: Modify File NoModify (4)打開程序文件: Modify Command NoModify ,12.1.1 文件的只讀與可修改,4以只讀方式打開文件的目的:限制修改文件中的內(nèi)容。 特殊性:以只讀方式打開據(jù)庫,而以可修改方式打開其中的表,則執(zhí)行MODIFY DATABASE NOEDIT,在

3、數(shù)據(jù)庫設(shè)計(jì)器中不能修改表結(jié)構(gòu)及其相關(guān)信息 ,可修改表中的數(shù)據(jù)記錄。,12.1.2 文件的獨(dú)占與共享,共享打開方式 :用戶打開文件后,允許其他用戶以同種方式打開該文件 。,獨(dú)占打開方式 :用戶打開文件后,其他用戶無法以任何方式打開該文件 。,通過菜單設(shè)置獨(dú)占共享:文件菜單打開;在打開對(duì)話框中選擇文件類型文件名;選定獨(dú)占,單擊確定按鈕。,12.1.2 文件的獨(dú)占與共享,以獨(dú)占方式打開文件的目的:某些VFP命令要求獨(dú)占文件;禁止網(wǎng)絡(luò)中其他用戶訪問文件。,設(shè)置獨(dú)占或共享打開 的文件類型:數(shù)據(jù)庫文件(DBC)和表文件(DBF)。,12.1.2 文件的獨(dú)占與共享,2. 數(shù)據(jù)庫的獨(dú)占與共享 Open Dat

4、aBase Exclusive| Shared Exclusive 獨(dú)占,Shared 共享。,3. 表的獨(dú)占與共享 Use Exclusive | Shared Exclusive 獨(dú)占,Shared 共享。舉例,1. 設(shè)置文件的打開方式 Set Exclusive On | Off On(系統(tǒng)默認(rèn))獨(dú)占,Off 共享,12.1.2 文件的獨(dú)占與共享,5. 其他文件的獨(dú)占與共享 (1)與表相關(guān)的文件:FPT、IDX和CDX,打開方式與表一致。 (2)與程序有關(guān)的文件:PRG、SCX、MNX、MPR和QPR,用Modify命令為獨(dú)占;用DO命令為共享。舉例,4. SQL語句的打開表方式 與Se

5、t Exclusive狀態(tài)一致,12.1.3 要求獨(dú)占打開文件的命令,1瞬間獨(dú)占文件:具有建立文件功能的命令對(duì)目標(biāo)文件瞬間獨(dú)占,命令結(jié)束后自動(dòng)釋放(關(guān)閉)文件。 (1)Create (2)Copy To (3)Index On TO (4)Sort To (5)Total To 舉例,12.1.3 要求獨(dú)占打開文件的命令,2要求以獨(dú)占方式打開表文件: (1)Pack:物理刪除帶刪除標(biāo)記的記錄。 (2)Zap:物理刪除表中全部記錄。 (3)Reindex:更新當(dāng)前表中的索引。舉例 () Modify Structure :以共享方式打開表不允許修改表結(jié)構(gòu)及相關(guān)信息,即處于只讀狀態(tài)。,12.1.3

6、 要求獨(dú)占打開文件的命令,3多個(gè)用戶打開文件問題: A用戶以獨(dú)占方式打開的文件,B用戶不能以任何方式打開該文件。 A用戶以共享方式打開的文件,B用戶不能以獨(dú)占方式打開該文件。 違背規(guī)定時(shí),B用戶程序出錯(cuò)類型編號(hào)為1705。,12.2 共享數(shù)據(jù)鎖機(jī)制,加鎖:獲取鎖的過程。 釋放鎖:取消鎖的過程。 加鎖的表:共享打開的表。 加鎖的作用:解決多個(gè)用戶同時(shí)更新數(shù)據(jù)的沖突問題 。,鎖:系統(tǒng)對(duì)數(shù)據(jù)設(shè)置的一種標(biāo)志。在同一時(shí)刻只能有一個(gè)用戶獲得某數(shù)據(jù)的鎖,獲鎖的用戶才能更新數(shù)據(jù),其他用戶只能查數(shù)據(jù)。,12.2.1 記錄加鎖,1. 當(dāng)前記錄加鎖函數(shù) R Lock () 功能:為指定工作區(qū)中當(dāng)前記錄加鎖。若加鎖成

7、功,則返回.T. ;若加鎖失敗,則返回.F. 。,記錄成功加鎖的條件:非結(jié)束記錄;其他用戶既沒對(duì)該記錄加鎖,也沒對(duì)該文件加鎖。,12.2.1 記錄加鎖,.多個(gè)記錄加鎖設(shè)置 Set MultiLock On | Off Off(默認(rèn)):RLock或Lock為個(gè)記錄加鎖 On:用RLock或Lock可為多個(gè)記錄加鎖,12.2.1 記錄加鎖,3.多個(gè)記錄同時(shí)加鎖函數(shù) RLock(,) 功能:若所有記錄都加鎖成功,則返回.T.;若其中有一個(gè)記錄加鎖失敗,則返回.F.,并不對(duì)任何記錄加鎖。 在Set MultiLock Off下,只加鎖最后記錄; 在Set MultiLock On下,加鎖多個(gè)記錄。 舉

8、例,12.2.2 文件加鎖函數(shù),Lock() 功能:為指定工作區(qū)中表文件加鎖。若加鎖成功,則返回.T. ;若加鎖失敗,則返回.F. 。,文件成功加鎖的條件:其他用戶既沒對(duì)該文件加鎖,也沒對(duì)其中任何記錄加鎖。,12.2.3 受鎖機(jī)制影響的命令,1. 文件加鎖的命令:執(zhí)行更新數(shù)據(jù)的命令時(shí),對(duì)當(dāng)前表自動(dòng)文件加鎖;完成命令后,系統(tǒng)自動(dòng)釋放鎖 。命令有:,表操作命令:可能更新多個(gè)記錄的命令,需要文件加鎖;僅更新一個(gè)記錄的命令,需記錄加鎖。,12.2.3 受鎖機(jī)制影響的命令,(1)Delete :邏輯刪除多個(gè)記錄 (2)Recall :去掉多個(gè)記錄的刪除標(biāo)記 (3)Replace :修改多個(gè)記錄中的數(shù)據(jù)

9、選用All、Next n( n=2 )、Rest、For或While 至少一項(xiàng)。 若當(dāng)前表已經(jīng)被其他用戶加了記錄鎖或文件鎖,則系統(tǒng)出錯(cuò)編號(hào)為108。,12.2.3 受鎖機(jī)制影響的命令,(4)Append From :從另一個(gè)文件中追加記錄。 (5)Append Blank:加一個(gè)空記錄。 (6)SQL語言的Insert Into :加記錄。 若當(dāng)前表已經(jīng)被其他用戶加了文件鎖,則系統(tǒng)出錯(cuò)編號(hào)為108。,12.2.3 受鎖機(jī)制影響的命令,. 記錄加鎖的命令:僅對(duì)當(dāng)前待更新的記錄加鎖 ;完成命令后,系統(tǒng)自動(dòng)釋放鎖 。命令有:,(1)Edit:對(duì)正在修改的記錄加鎖。 (2)Change:對(duì)正在修改的記

10、錄加鎖。 (3)Browse:對(duì)正在修改的記錄加鎖。 (4)Delete Next 1|Record n:對(duì)待刪除的記錄加鎖。,12.2.3 受鎖機(jī)制影響的命令,(5)Recall Next 1|Record n:對(duì)待恢復(fù)的記錄加鎖。 (6)Replace Next 1|Record n:對(duì)待修改的記錄加鎖。 若待更新的記錄已經(jīng)被其他用戶加鎖(文件或記錄鎖),系統(tǒng)出錯(cuò)編號(hào)為109。,12.2.3 受鎖機(jī)制影響的命令,(7)SQL語言的Update :對(duì)要修改的記錄加鎖。 (8)SQL語言的Delete From:對(duì)要?jiǎng)h除的記錄加鎖。 若其中某個(gè)記錄被其他用戶加鎖(文件或記錄鎖),則不會(huì)更新任何記錄,而系統(tǒng)出錯(cuò)編號(hào)為130。,12.2.4 釋放鎖,. 自動(dòng)釋放鎖的命令: (1)執(zhí)行RLock,釋放對(duì)應(yīng)工作區(qū)中的文件鎖。 (2)在Set MultiLock Off下,執(zhí)行RLock,釋放對(duì)應(yīng)工作區(qū)中其他鎖。,12.2.4 釋放鎖,(3)Set MultiLock由On轉(zhuǎn)到Off,釋放各工作區(qū)中文件鎖;若某工作區(qū)中有多個(gè)記錄鎖,則釋放該工作區(qū)中的所有記錄鎖,但僅有一個(gè)記錄鎖的工作區(qū),保留其記錄鎖。 (4)關(guān)閉表文件將釋放表中的鎖。,12.2.4 釋放鎖,2. 釋放鎖的專用命令: (1)UNLock:釋

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論