計(jì)算機(jī)文化基礎(chǔ)_第1頁
計(jì)算機(jī)文化基礎(chǔ)_第2頁
計(jì)算機(jī)文化基礎(chǔ)_第3頁
計(jì)算機(jī)文化基礎(chǔ)_第4頁
計(jì)算機(jī)文化基礎(chǔ)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)文化基礎(chǔ)第13章 多表操作1多表操作 以前所進(jìn)行的操作中,在同一時(shí)刻只能打開一個(gè)表文件,這是單工作區(qū)操作。但是在有些情況下,我們需要同時(shí)了解多個(gè)表文件中的內(nèi)容,例如 圖8-1 。在表文件Stud1.DBF中,有姓名,班級(jí),電話三項(xiàng);在Stud2.DBF中,有姓名,性別,籍貫,英語四個(gè)字段。在單工作區(qū)操作方式下,同時(shí)只能打開一個(gè)文件,若要想同時(shí)查看姓名,班級(jí),英語三項(xiàng)內(nèi)容就很麻煩。在這種情況下,可以用多工作區(qū)的方式來解決。 在這一章里,我們需要用到兩個(gè)以上的表,所以,請(qǐng)大家根據(jù) rsda.dbf 的內(nèi)容再建立兩個(gè)新表 xl.dbf和 tz.dbf (單擊查看“學(xué)歷表” xl.dbf結(jié)構(gòu))

2、(單擊查看“增加工資表” tz.dbf結(jié)構(gòu))開 始2 圖 8-1姓名性別籍貫英語孫兵男開封67趙亮男洛陽87李名男鄭州89王紅女信陽78李江女鄭州66表 stud1.dbf表 stud2.dbf3 學(xué)歷表 XL.dbf 的結(jié)構(gòu)XL.dbf 中有三個(gè)字段:編號(hào) C 4姓名 C 6學(xué)歷 C 4其中 編號(hào) 和 姓名的類型與內(nèi)容與 rsda.dbf一樣,指的是同一批人。4增加工資表TZ.dbf 的結(jié)構(gòu)TZ.dbf 中有三個(gè)字段:編號(hào) C 4姓名 C 6增加工資 N 5其中 編號(hào) 和 姓名的類型與內(nèi)容與 rsda.dbf一樣,指的是同一批人。5第一節(jié) 工作區(qū)的概念 (1)工作區(qū) 就是內(nèi)存中的一個(gè)存儲(chǔ)區(qū)域

3、,用來存放從外存調(diào)入內(nèi)存的表文件,一個(gè)工作區(qū)內(nèi)同時(shí)只能打開一個(gè)表文件。工作區(qū)代號(hào)每個(gè)工作區(qū)都有一個(gè)代號(hào),分別用1,2,32767表示。工作區(qū)別名用戶在工作區(qū)中打開某個(gè)數(shù)據(jù)表時(shí)所賦給的別名。對(duì)于前十個(gè)工作區(qū),也可以用 A J 來作為別名表示。6 工作區(qū)的概念 (2)工作區(qū)相互獨(dú)立 各工作區(qū)中表文件的記錄指針相互獨(dú)立,例如用戶對(duì)1號(hào)工作區(qū)中的表文件進(jìn)行操作,并不會(huì)改變2號(hào)工作區(qū)中表文件的指針位置。當(dāng)前工作區(qū) 為了能同時(shí)打開多個(gè)表文件,可以在內(nèi)存中開辟多個(gè)工作區(qū),每個(gè)工作區(qū)中可以打開一個(gè)不同的表文件。在某一時(shí)刻,用戶同時(shí)只能在一個(gè)工作區(qū)內(nèi)操作,此工作區(qū)叫當(dāng)前工作區(qū),又叫主工作區(qū)。用戶可以根據(jù)需要改變

4、當(dāng)前工作區(qū)。7單工作區(qū)操作 Use rsda 打開表文件 rsda.dbf,也就是將 rsda.dbf 從外存調(diào)入到內(nèi)存中,默認(rèn)狀態(tài)下,內(nèi)存中只開辟了一個(gè)工作區(qū),用來存放從外存調(diào)入內(nèi)存的表文件,且一個(gè)工作區(qū)中同時(shí)只能打開一個(gè)表文件。例如如下操作。 Use rsda List Use xl 當(dāng)用戶打開 xl.dbf 時(shí),盡管用戶并沒有對(duì) rsda.dbf執(zhí)行關(guān)閉操作(use),但是,系統(tǒng)會(huì)自動(dòng)先關(guān)閉前一個(gè)表文件rsda.dbf, 然后再打開 xl.dbf 。 8第二節(jié) 如何同時(shí)打開多個(gè)表文件 建立( 開辟 )、選擇工作區(qū)格式: SELECT 功能:建立指定的工作區(qū)或使指定的工作區(qū)成為主工作區(qū)。例

5、如:使表文件rsda.dbf和xl.dbf 同時(shí)處于打開狀態(tài)。 select 1 將1號(hào)區(qū)置為當(dāng)前工作區(qū) use rsda 在1號(hào)區(qū)中打開rsda.dbf select 2 將2號(hào)區(qū)置為當(dāng)前工作區(qū) use xl 在2號(hào)區(qū)中打開xl.dbf,不影響1號(hào)區(qū)中的文件。 list 顯示xl.dbf的內(nèi)容 select 1 再次將1號(hào)區(qū)置為當(dāng)前工作區(qū) list 顯示1號(hào)工作區(qū)中已打開的表文件的內(nèi)容9第三節(jié) 工作區(qū)間的互相訪問 只有在當(dāng)前工作區(qū)中,用戶可以打開或關(guān)閉表文件,用戶可以對(duì)當(dāng)前工作區(qū)中已打開的表文件進(jìn)行任意操作,包括增、刪、改、編輯、定位、查詢等。用戶不能對(duì)其它非當(dāng)前工作區(qū)中的表文件進(jìn)行此類操作

6、,但是,用戶可以訪問其它工作區(qū)中已打開的表文件里的當(dāng)前記錄的各個(gè)字段值。 不論用戶當(dāng)前位于哪個(gè)工作區(qū),都可以引用在其他工作區(qū)中打開的表中的字段,引用時(shí),要在此字段前加上被訪問工作區(qū)的別名。引用格式如下: 別名 - 字段名說明: 可以是 A J中的一個(gè),或者干脆就用被訪問的文件名, 指明了被訪問的文件中的字段,箭頭是減號(hào)和大于號(hào)的組合。注意:哪個(gè)字段不是當(dāng)前工作區(qū)的,須用 某區(qū)的別名 表示 看圖說明 10例題分析顯示當(dāng)前表文件的內(nèi)容表示顯示A工作區(qū)中已打開的表文件的當(dāng)前記錄的職稱字段的值。由于其不在當(dāng)前工作區(qū),所以前面要加上工作區(qū)別名。例題:對(duì)rsda.dbf和 xl.dbf進(jìn)行操作,顯示黃麗麗

7、的姓名、學(xué)歷、職稱的內(nèi)容。11 例題分析 本題中,因?yàn)槲覀兊哪康氖秋@示黃麗麗的姓名、學(xué)歷、職稱,而這三個(gè)字段分處在兩個(gè)表文件中,所以需要同時(shí)打開兩個(gè)表文件 rsda.dbf 和 xl.dbf。 由于工作區(qū)之間是相互獨(dú)立的,在1號(hào)工作區(qū)中將記錄指針指向黃麗麗的記錄,并不能保證2號(hào)工作區(qū)中的記錄指針也指向黃麗麗,所以,在兩個(gè)工作區(qū)里都執(zhí)行了查找定位操作 Locate for 姓名=黃麗麗 將黃麗麗的記錄置為當(dāng)前記錄 命令 disp 姓名,學(xué)歷,A-職稱中,由于職稱字段不在當(dāng)前工作區(qū)中,所以在他的前面要加上其所在工作區(qū)的別名 A- 。注意: A-職稱表示顯示 A 區(qū)中當(dāng)前記錄的職稱字段的值。 問題:

8、最后一條命令為什么不能寫成 list field 姓名,學(xué)歷,A-職稱12 第四節(jié) 表文件間的關(guān)聯(lián) 在上一節(jié)工作區(qū)互訪的例題中,由于兩個(gè)工作區(qū)之間記錄指針是相互獨(dú)立的,所以需要分別在兩個(gè)工作區(qū)中進(jìn)行定位操作,將黃麗麗的記錄都置為當(dāng)前記錄,然后才能同時(shí)顯示黃麗麗的姓名、學(xué)歷、職稱三個(gè)字段的值。如果要顯示另一個(gè)人的內(nèi)容,還要再次進(jìn)行定位操作,比較麻煩。 解決的方法是:將在不同工作區(qū)中打開的表文件,按照表與表之間的公共字段建立邏輯聯(lián)系,當(dāng)主表文件(主動(dòng)表)的記錄指針移動(dòng)時(shí),另一個(gè)工作區(qū)中與之具有邏輯關(guān)聯(lián)的表文件(被動(dòng)表)記錄指針也相應(yīng)的移動(dòng),從而使多表操作變的很方便。這種方法叫做表文件間的關(guān)聯(lián)。 1

9、3格式: Set relation to 關(guān)系表達(dá)式 into 功能:根據(jù)關(guān)系表達(dá)式,建立當(dāng)前工作區(qū)中的表文件(主動(dòng)表)與所指定的工作區(qū)中的表文件(被動(dòng)表)之間的關(guān)聯(lián)。說明:1、建立關(guān)聯(lián)之前,主動(dòng)表與被動(dòng)表必須在不同的工作區(qū)中同時(shí)被打開。2、關(guān)聯(lián)建立好以后,當(dāng)移動(dòng)主動(dòng)表中記錄指針時(shí),被動(dòng)表中的記錄指針也會(huì)根據(jù)所建立的關(guān)聯(lián)自動(dòng)的做相應(yīng)地移動(dòng),反之不行。3、若兩個(gè)表是按照它們的某個(gè)關(guān)鍵字段(公共字段)建立的關(guān)聯(lián),則建立關(guān)聯(lián)之前,被動(dòng)表必須按此關(guān)鍵字段建立了索引,且索引文件已打開。除非是按照記錄號(hào)表達(dá)式建立的關(guān)聯(lián)。4、取消關(guān)聯(lián)可用 SET RELATION TO 5、若想在保留當(dāng)前關(guān)聯(lián)關(guān)系的前提下,

10、增加與其他數(shù)據(jù)庫的關(guān)聯(lián)。則可在建立第二個(gè)關(guān)聯(lián)時(shí)加上 ADDITIVE 子句。否則,就會(huì)將前一個(gè)關(guān)聯(lián)取消。 例題: 例1 例2 例3 表文件間的關(guān)聯(lián)14例題1: 在rsda.dbf(主動(dòng)表)與xl.dbf(被動(dòng)表)之間按照編號(hào)建立關(guān)聯(lián),使得當(dāng)rsda.dbf的記錄指針指向某一記錄時(shí),xl.dbf的記錄指針也指向相同編號(hào)的記錄。說明:在1區(qū)打開表xl按關(guān)鍵字建立索引在2區(qū)打開表rsda在主工作區(qū)中建立關(guān)聯(lián)將主動(dòng)表的記錄指針指向 0104號(hào)記錄選擇工作區(qū),將當(dāng)前工作區(qū)變?yōu)楸粍?dòng)表(xl)所在的工作區(qū)(1號(hào)工作區(qū))可以看出被動(dòng)表的指針也指向編號(hào)為0104的記錄15例題2: 在rsda.dbf(主動(dòng)表)與

11、xl.dbf(被動(dòng)表)之間按照姓名建立關(guān)聯(lián),然后顯示所有人的編號(hào)、姓名、學(xué)歷、職稱字段的內(nèi)容。由于學(xué)歷不在當(dāng)前工作區(qū),所以前面要加上其所在工作區(qū)別名前綴16例題3: 在rsda.dbf(主動(dòng)表)與xl.dbf及tz.dbf按照姓名建立關(guān)聯(lián),然后顯示所有人的編號(hào)、姓名、學(xué)歷、職稱、增加工資字段的內(nèi)容。SELE 2USE XLINDEX ON 姓名 TO XM1SELE 3USE TZINDEX ON 姓名 TO XM2SELE 1USE RSDASET RELATION TO 姓名 INTO BSET RELATION TO 姓名 INTO C ADDITIVELIST 編號(hào),姓名,B-學(xué)歷,職

12、稱,C-增加工資17第五節(jié) 表文件間的連接 如果能想辦法將原本不在同一個(gè)表文件中的字段合并到同一個(gè)表中,則接下來的操作就變成了單表操作了。 連接命令就是將兩個(gè)表文件連接生成一個(gè)新表,新表中可以包含兩個(gè)老表里的各個(gè)字段。 由于連接命令的結(jié)果要生成一個(gè)新表,所以會(huì)占用額外的存儲(chǔ)空間。18 表文件間的連接格式 : JOIN WITH TO FIELDS FOR 功能:將當(dāng)前工作區(qū)中的表文件按照 FOR 后面的與別名所指定的工作區(qū)中的表文件進(jìn)行連接,連接的結(jié)果放入所指定的表文件中。 19 表文件間的連接說明: 1、省略 field 時(shí),新表文件將包含兩表文件的所有字段。否則新表中的字段為 中指定的字段。工作區(qū)中的字段應(yīng)寫為- 。2、省略for時(shí),則主表中每個(gè)記錄都將和輔表中每個(gè)記錄連接,新表中的記錄數(shù)將是主表的記錄數(shù)乘以輔表的記錄數(shù)。所以一般情況下,必須給出 for,并應(yīng)注意條件的唯一性。例:for 姓名=b-姓名 或 for 編號(hào)=b-編號(hào)3、兩個(gè)被連接的表文件必須分別在主工作區(qū)和工作區(qū)中被打開,且都不需要排序或索引。4、 單擊顯示本命令的執(zhí)行過程5、 看圖說明:20 連接命令的執(zhí)行過程 先將主表文件的當(dāng)前記錄置為第一條記錄,然后按給定的條件對(duì)別名表中的每一條記錄依次進(jìn)行判斷,若滿足條件,由 fields 生成一條新記錄,并加入到新生成的表中。然后接著在輔表

溫馨提示

  • 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)論