版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第3章 創(chuàng)建和使用數據庫 3.1 建立、修改和刪除數據庫3.2 打開和關閉數據庫3.3 創(chuàng)建數據庫表3.4 數據表的索引3.5 指針定位查詢3.6 工作區(qū)與數據工作期3.7 關聯本章要點3.1 建立、修改和刪除數據庫3.1.1 建立數據庫 數據庫名稱實際是擴展名為dbc的文件名,與之相關的還會自動建立一個擴展名為.dct的數據庫備注(memo)文件和一個擴展名為.dcx的數據庫索引文件。 在項目管理器中建立數據庫;通過“新建”對話框建立數據庫;使用命令建立數據庫 CREATE DATABASE 數據庫文件名|?3.1.2 修改數據庫可以用以下三種方法打開數據庫設計器:從項目管理器中打開數據庫設
2、計器;從“打開”對話框中打開數據庫設計器;使用命令打開數據庫設計器MODIFY DATABASE 數據庫文件名?3.1.3 刪除數據庫 刪除一個不再使用數據庫,一般可以在選項管理器中刪除數據庫,也可以用命令刪除數據庫 要在刪除數據庫時同時刪除表等對象,需要使用命令方式刪除數據庫。刪除數據庫的命令是DELETE DATABASE,具體命令格式如下:DELETE DATABASE 數據庫文件名?DELETETABLESRECYCLE注意:要刪除的數據庫必須先關閉 3.2 打開和關閉數據庫在數據庫中建立表或使用數據庫中的表時,都必須先打開數據庫,與建立數據庫類似,常用的打開數據庫的方式也有三種:在項
3、目管理器中打開數據庫;通過“打開”對話框打開數據庫;使用命令打開數據庫 OPEN DATABASE 文件名|?EXCLUSIVE | SHARED NOUPDATE指定當前數據庫的命令:SET DATABASE TO 庫文件名其中參數庫文件名指定一個已經打開的數據庫名稱成為當前數據庫,如果不指定該參數,命令將使得所有打開的數據庫都不是當前數據庫(注意:所有的數據庫都沒有關閉,只是都不是當前數據庫)。例如:CREATE DATABASE 教師 &建立“教師”庫,指定其為當前庫SET DATABASE TO 學生 &指定“學生”庫為當前庫SET DATABASE TO &沒有指定當前庫關閉數據庫常
4、常使用下面的命令:CLOSE DATABASECLOSE DATABASE ALL其中命令CLOSE DATABASE只關閉當前數據庫,而 CLOSE DATABASE ALL可以關閉所有數據庫。 3.3 創(chuàng)建數據庫表 3.3.1 添加自由表1在項目管理器中添加2在數據庫設計器中添加先打開數據庫設計器,然后可以使用下面如何一種方法進行添加:單擊數據庫工具欄的“添加表”按鈕。執(zhí)行【數據庫】【添加表】菜單。右擊數據庫設計器,在出現的快捷菜單中選擇“添加表”。3用命令添加ADD TABLE 自由表名 3.3.2 從數據庫中移出表 當數據庫不再使用某個表,而其他數據庫要使用該表時,必須將該表從當前數據
5、庫中移出,使之成為自由表。在項目管理器或數據庫設計器中都可以很方便地將數據庫表移出數據庫,操作方法與添加表的方法類似。在項目管理器中移出命令方法移出REMOVE TABLE 表名 3.3.3 新建數據庫表 當數據庫打開后,新建的數據表都是數據庫表,都建立在該數據庫(當前庫)里面,常常使用下面方法打開數據庫表的表設計器(前面三種方法必須先打開數據庫設計器):單擊數據庫工具欄的“添加表”按鈕。執(zhí)行【數據庫】【新建表】菜單。右擊數據庫設計器,在出現的快捷菜單中選擇“新建表”。從項目管理器中展開數據庫分支。 3.3.4 數據庫表的屬性設置 1設置字段屬性(1) 格式顯示區(qū)的格式文本框用于鍵入格式表達式
6、,確定字段在瀏覽窗口、表單或報表中顯示時采用的大小寫、字體大小和樣式。例如在“身高”字段的格式文本框中輸入“z”。(2) 輸入掩碼顯示區(qū)的輸入掩碼文本框用于鍵入輸入掩碼,借以指定字段的輸入格式,限制輸入數據的范圍,控制輸入的正確性。例如在“身高”字段的輸入掩碼文本框中輸入“9.99”。與格式文本框不同,輸入掩碼必須按位指定格式。(3) 標題顯示區(qū)的標題文本框用于為瀏覽窗口、表單或報表中的字段標簽鍵入表達式。 (4) 字段有效性規(guī)則文本框用于輸入對字段數據有效性進行檢查的規(guī)則,它實際上是一個條件。 信息文本框用于指定出錯提示信息,當該字段輸入的數據違反條件時,出錯信息將照此顯示。默認值文本框用于
7、指定字段的默認值。 (5) 字段注釋為了提高數據表的使用效率及其共享性,可在表設計器中的字段注釋框內輸入信息,對字段加以注釋,可清楚地掌握字段的屬性、意義及特殊用途等。 2設置記錄規(guī)則 單擊表設計器的“表”標簽后就可以對記錄規(guī)則進行設置。(1) 記錄驗證 記錄級有效性檢查規(guī)則用來檢查同一記錄中不同字段之間的邏輯關系規(guī)則文本框:用于指定記錄級有效性檢查規(guī)則,光標離開當前記錄時進行校驗。例如要求每個記錄都要輸入學號,而且輸入合理的體重,可以在規(guī)則文本框中輸入“ 學號# and 體重身高*40 ”。信息文本框:用于指定出錯提示信息。出錯提示信息內容必須用西文引號括起。 (2) 觸發(fā)器觸發(fā)器有下面三種
8、:插入觸發(fā)器:用于指定一個規(guī)則,每次向表中插入或追加記錄時該規(guī)則被觸發(fā),據此檢查插入的記錄是否滿足規(guī)則。更新觸發(fā)器:用于指定一個規(guī)則,每次更新記錄時觸發(fā)該規(guī)則。刪除觸發(fā)器:用于指定一個規(guī)則,每次向表中刪除記錄(打上刪除標記)時觸發(fā)該規(guī)則。觸發(fā)器是一個在輸入、刪除或更新表中的記錄時被激活的表達式。例如將刪除觸發(fā)器設置為“RECNO()10”,表示只有記錄號大于10的記錄才可以被邏輯刪除。3.4 數據表的索引 3.4.1 索引的基本概念表索引是一個記錄號的列表,它指向待處理的記錄,并確定了記錄的處理順序。索引并不改變表中所存儲記錄的順序,它只改變了VFP系統讀取每條記錄的順序??梢詾橐粋€表建立多個
9、索引,每一索引代表一種處理記錄的順序。表一旦按索引表達式(排序的依據)建立索引后,就產生了一個相應的索引文件。索引分為復合索引和單索引,其對應的索引文件名的擴展名分別是.CDX和.IDX。復合索引又分為結構復合索引和非結構復合索引,結構復合索引的索引文件名與相關的表同名,并具有.cdx擴展名。 Visual FoxPro系統提供了四種不同的索引類型,它們分別是: 主索引:在指定字段或表達式中不允許出現重復值的索引,可確保字段中輸入值的唯一性。候選索引:與主索引類似,也保證表中索引值的記錄是唯一的。一個表只能建立一個主索引,一個表允許建立多個候選索引。普通索引:允許表中有重復索引值的記錄。在一個
10、表中可以加入多個普通索引。唯一索引:允許表中索引值的記錄不唯一,但索引文件中不能有相同的索引值,即對于索引值相同的記錄,只有記錄號最小的記錄號才能存于索引文件中。這是為兼容舊版本而保留的一種形式。3.4.2 創(chuàng)建索引建立索引的方法有:在表設計器中建立索引。 使用命令建立索引。 INDEX ON 索引表達式 TO 單索引文件名 | TAG 索引名 OF 復合索引文件名 FOR 條件表達式 COMPACT ASCENDINGDESCENDING UNIQUECANDIDATEADDITIVE3.4.3 索引文件的打開與關閉打開索引文件可以用下面兩種命令:USE 表文件 INDEX 索引文件名表 S
11、ET INDEX TO 索引文件名表 ADDITIVE其中索引文件名表用逗號分開,可以包含.idx索引和.cdx索引。SET命令執(zhí)行前必須先打開索引文件對應的數據表;再次執(zhí)行SET命令將使上次的SET命令不起作用。不選ADDITIVE時關閉原來打開的非結構索引文件。執(zhí)行該命令后,索引文件列表中的第一個索引文件成為主控索引文件。如果主控索引是.cdx文件,因為它是復合索引文件,則默認索引項是它在創(chuàng)建時的第一索引項。 索引文件的關閉可用下面三種方法:關閉數據表文件,其索引自動關閉。命令格式:USE關閉當前表的所有索引文件,當前表不關閉。命令格式:SET INDEX TO關閉所有索引文件,當前表不關
12、閉。命令格式:CLOSE INDEX注意:只要相關的表沒有關閉,結構復合索引總是打開的 3.4.4 確定主控索引1用命令指定主控索引用SET ORDER命令可以指定當前索引項,命令的常用格式是:SET ORDER TO |TAG 索引名 ASCENDING|DESCENDING2用菜單方法指定主控索引用菜單方法指定主控索引必須先打開瀏覽窗口,然后選擇【表】【屬性】,在打開的“工作區(qū)屬性”窗口中,單擊“索引順序”區(qū)的下拉列表選擇索引名,再單擊“確定”按鈕即可。 3.4.5 刪除索引如果某個索引不再使用了則可以刪除它。刪除索引文件時,索引文件中的所有索引即被刪除,刪除索引文件與刪除一般文件一樣。刪
13、除復合索引文件中的索引可以在表設計器中的“索引”選項卡刪除,也可以先打開索引,然后使用下面命令:DELETE TAG ALL |其中,選擇ALL時表示刪除打開的所有索引。3.5 指針定位查詢記錄定位除使用GO和SKIP命令外,常常使用順序定位查詢命令LOCATE和CONTINUE,索引定位查詢命令SEEK和FIND。3.5.1 順序查詢順序查詢也稱條件定位,就是指針在表的首記錄開始從上往下移動,最終定位在滿足查詢條件的第一個記錄上,其命令格式是:LOCATE FOR | WHILE 指針要移到滿足查詢條件的下一個記錄時,可以使用美麗:CONTINUEUSE XSQK & 假設表中只有3條記錄的
14、身高大于1.79米 LOCATE FOR 身高1.79DISPLAY ?FOUND() & 屏幕顯示.T.CONTINUEDISP?FOUND() & 屏幕顯示.T.CONTINUEDISP?FOUND() & 屏幕顯示.T.?EOF() & 屏幕顯示.F.CONTINUE?FOUND() & 屏幕顯示.F.?EOF() & 屏幕顯示.T.3.5.2 索引查詢 SEEK ORDER 索引序號TAG 索引名 ASCENDINGDESCENDING功能:在已打開索引的庫文件中查找并定位于表達式與索引關鍵字相符合的第一個記錄其中的值是索引項或索引關鍵字的值,可以用索引序號或索引名指定按哪一個索引定位
15、,還可以使用ASCENDING或DESCENDING說明按升序或降序定位。 索引查詢的另一個命令是:FIND | 例如:USE XSQKSET ORDER TO 學號FIND 1161005 &命令也可以寫為 FIND 1161005 DISPLA 注意: 選ORDER子句時,執(zhí)行SEEK命令前可以不指定控制索引。 不選ORDER子句時,SEEK命令和FIND命令一樣,執(zhí)行前都要指定控制索引;FIND命令常常用于索引項為字符型的查詢,其可以不加定界符,除非該字符型常量有前置空格。如,FIND “ XYZ”。 在使用SEEK,FIND查詢數據時,若查到,FOUND函數就返回.T.,否則返回.F.
16、。 對于字符表達式,系統允許模糊查詢,即只要字符表達式值與索引關鍵字值左子串相同,就認為找到。3.6 工作區(qū)與數據工作期前面介紹的表操作中,任何時刻只能打開一個表,在實際應用中,經常需要同時打開多個表。VFP容許同時打開32767個表,打開的表是存放在內存的某些特定區(qū)域中。3.6.1 工作區(qū)1工作區(qū)的概念內存中存放表的特定區(qū)域稱為工作區(qū),在每個工作區(qū)只能打開一個表及其相關的索引和關系。打開多個表時,每次只能選中一個工作區(qū)進行操作,這個被選中的工作區(qū)稱為當前工作區(qū),該區(qū)中打開的表叫做當前表,用戶可以隨時切換到工作區(qū)進行操作。每個工作區(qū)都有自己的編號,它們是1、2、3、32767。前10個工作區(qū)還
17、有自己的名稱,分別是A、B、C、J。每次啟動VFP以后,系統總是默認1號工作區(qū)為當前工作區(qū)。2工作區(qū)的選擇及數據表的打開選擇當前工作區(qū)的命令格式如下:SELECT |說明:為在工作區(qū)打開的表的別名;“SELECT 0”表示選擇沒有打開表的工作區(qū)中區(qū)號最小的工作區(qū)。打開數據表的命令格式是:USE ALIAS IN NOUPDATE ORDER TAG 索引名 ASCENDING | DESCENDINGExclusive | Shared AGAIN 說明:ALIAS :給打開的表指定別名。若省略,系統以作為別名。IN :指定在那個工作區(qū)打開;不選時,表在當前工作區(qū)打開。NOUPDATE :以只
18、讀方式打開。ORDER TAG 索引名 ASCENDING | DESCENDING:指定主控制索引。Exclusive:獨占方式打開,不讓網絡上的其它用戶打開該表。Shared:共享方式打開表。AGAIN:一個表可以同時在多個工作區(qū)打開,但當要打開已經在某個工作區(qū)打開了的表時,USE命令必須加AGAIN子句。 3.6.2 數據工作期 數據工作期是VFP的一個獨立工作狀態(tài)和操作環(huán)境。每個工作期都包含了自己的一組工作區(qū),其中還包含了在工作區(qū)中打開的數據表、索引及表間的關聯;并為表單、表單集、報表等提供了動態(tài)的工作環(huán)境。要設置數據工作環(huán)境,可以使用“數據工作期”交互對話框窗口。在“數據工作期”窗口
19、設置的操作環(huán)境,可以作為視圖文件保存起來。 1數據工作期窗口的打開和關閉打開數據工作期窗口的常用方法如下:在主菜單的“窗口”下拉菜單中,單擊“數據工作期”選項;在常用工具欄中單擊“數據工作期窗口”按鈕;在命令窗口中執(zhí)行命令:SET(或SET VIEW ON)。關閉數據工作期窗口有下面幾種方法:用“文件”下拉菜單中的“關閉”選項;雙擊“窗口控制”圖標;利用窗口的關閉按鈕關閉窗口;用命令:SET VIEW OFF來關閉。2利用數據工作期窗口打開和關閉表在 “數據工作期”窗口中,單擊“打開”按鈕,將彈出“打開”對話框窗口,選定要打開的數據表(如XK.DBF)以后,單擊“確定”按鈕。重復以上操作,將可
20、以打開多個數據表文件。系統會自動為每個數據表選擇一個工作區(qū)。 3建立視圖文件建立視圖文件有如下方法:在“數據工作期”窗口打開的情況下,在主菜單的“文件”下拉菜單中,單擊“另存為”選項;屏幕將彈出對話框窗口,輸入視圖文件名,單擊“保存”按鈕。在指定文件夾中將存入當前數據工作期的視圖文件。在命令窗口中執(zhí)行命令: CREATE VIEW 4打開數據工作期視圖文件 如果需要重新恢復以前的系統環(huán)境,要打開原來存放的數據工作期視圖文件。打開數據工作期視圖文件有如下方法:在主菜單的“文件”下拉菜單中,單擊“打開”選項,或直接單擊工具欄的“打開”按鈕;并在彈出的對話框窗口中選定要打開的視圖文件,單擊窗口中的“
21、打開”按鈕即可實現;直接在命令窗口中執(zhí)行命令:SET VIEW TO 3.7 關聯所謂關聯,就是令關聯表的記錄指針建立一種聯動關系。如果數據庫中的表是獨立、互相沒有關系的,數據庫表之間的數據就不能同時被引用、處理。建立數據庫不僅要在數據庫中建立表,而且要建立表之間的聯系(關聯)。表的關聯分為永久關聯和臨時關聯。3.7.1 永久性關聯在“數據庫設計器”中,通過鏈接不同表的索引可以很方便地建立表之間的關系,稱為永久關聯。每當在“查詢設計器”或“視圖設計器”中使用表,或者在創(chuàng)建表單時的“數據環(huán)境設計器”中使用表時,這些永久關聯將作為表間的默認鏈接。建立數據庫文件中的表間關聯,一是要保障建立關聯的表具
22、有相同屬性的字段;二是每個表都要以該字段建立索引,以其中一個表(父表或主表)中的字段(主鍵)與另一表(子表)中的同名字段(外鍵)建立關聯,兩個表間就具有了一定的關系。以父表相關聯的字段建立的索引必須是主索引或候選索引。 3.7.2 臨時性關聯臨時關聯是兩個表之間在打開時建立的關聯,當表關閉時不再保存的關聯。臨時關聯就是令不同工作區(qū)的記錄指針建立一種臨時的聯動關系,使一個表(父表)的記錄指針移動時另一個表(子表)的記錄指針能隨之移動,子表記錄指針自動移到滿足關聯條件的記錄上。建立臨時性關聯可用以下兩種方法:1在數據工作期窗口建立關聯 要取消關聯,可以雙擊“關系”框中的子表,在出現的“表達式生成器”對話框中刪除關聯條件(如“學號”),再單擊“確定”按鈕即可。 2用命令來建立關聯SET RELAT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人教育分期借款合同范本3篇
- 二零二五年度內燃機核心零部件代理銷售合同3篇
- 二零二五年度門臉房屋租賃與文創(chuàng)產業(yè)合作合同4篇
- 二零二五年度生態(tài)農莊木工建造服務合同4篇
- 二零二五版門頭智能化控制系統研發(fā)與安裝合同4篇
- 二零二五年度文化旅游產業(yè)發(fā)展基金合同及違約賠償細則4篇
- 二零二五版高新技術企業(yè)研發(fā)項目財務監(jiān)管合同范本2篇
- 2025年度個人抵押借款合同風險評估范本
- 2025年度個人漁業(yè)貸款合同模板3篇
- 2025年度個人對個人光伏發(fā)電項目借款合同
- 三位數除以兩位數-豎式運算300題
- 2023年12月廣東珠海市軌道交通局公開招聘工作人員1人筆試近6年高頻考題難、易錯點薈萃答案帶詳解附后
- 寺院消防安全培訓課件
- 比摩阻-管徑-流量計算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗
- 五年級數學應用題100道
- 西方經濟學(第二版)完整整套課件(馬工程)
- 高三開學收心班會課件
- GB/T 33688-2017選煤磁選設備工藝效果評定方法
- 科技計劃項目申報培訓
- 591食堂不合格食品處置制度
評論
0/150
提交評論