數據庫與表的創建和使用_第1頁
數據庫與表的創建和使用_第2頁
數據庫與表的創建和使用_第3頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫與表的創建和使用一、常用字段類型1、字符型2 、數值型 3 、日期型 4 、邏輯型 (T 是,F 否) 5 、備注型二、項目管理器項目管理器是 VFP中處理數據和對象的主要工具。項目管理器是系統的“控制中心” 。一個項目是文件、數據、文檔、對象的集合,項目文件以擴展名 *.pjx保存。創建一個項目文件的方法1、CREATE PROJECT項目文件名或?2、文件新建3、工具欄“新建”按鈕二、數據庫與表的概念在 VFP中有兩種表:一種是自由表,它獨立于任何數據庫;一種是數據庫表,它是數據庫的一部分。數據庫和表是兩個不同的概念。 表是處理數據、 建立關系數據庫的應用程序的基礎單元, 它用于存儲

2、收集來的各種信息。 而數據庫是表的集合,它控制這些表協同工作,共同完成特定任務。本節重點:數據庫的創建和使用,數據庫表的創建和使用,表的擴展屬性,數據庫表之間的關系的創建。三、數據庫的創建( *.dbc )1、使用界面方式創建數據庫:項目管理器、“新建”按鈕2、使用命令方式創建數據庫CREATE DATABASE數據庫文件名或?四、打開數據庫OPEN DATABASE數據庫名或?五、設置當前數據庫SET DATABASE TO 數據庫名六、修改數據庫MODIFY DATABASE數據庫文件名或?七、關閉數據庫CLOSE DATABASE &&關閉當前數據庫CLOSE DATAB

3、ASE ALL &&關閉所有數據庫八、刪除數據庫DELETE DATABASE數據庫文件名或?數據庫表的創建和使用(*.dbf )在 VFP中,每個數據表可以有兩種存在狀態:自由表(即沒有和任何數據庫關聯的 *.dbf 文件)或數據庫表(即與數據庫關聯的 *.dbf文件)。屬于某一數據庫的表稱為“數據庫表” ;不屬于任何數據庫而獨立存在的表稱為自由表。數據庫表和自由表可以相互轉換。一、數據庫表的創建CTEATE 文件名二、表結構的修改MODIFY STRUCTURE三、表的打開和關閉USE 表名稱 &&打開表CLOSE TABLE &&關閉當前表

4、CLOSE ALL &&關閉所有文件四、瀏覽記錄BROWSE五、增加記錄APPEND &&在表的尾部增加記錄APPEND BLANK &&追加空白記錄APPEND FROM文件名&& 將另一個表的所有記錄追加到當前表中,但必須字段一樣。INSERT &&在表的任意位置插入新的記錄六、刪除記錄的命令1、邏輯刪除DELETE FOR 條件表達式2、恢復刪除RECALL FOR 條件表達式3、物理刪除PACK4、物理刪除表中的全部記錄ZAP七、修改記錄EDITCHANGE八、顯示記錄LIST FOR條件表達式&&

5、amp; 顯示滿足條件的記錄DISPLAY &&顯示當前記錄,分屏顯示所有記錄九、查詢定位GOTO 記錄號 && 直接按記錄號定位GOTO TOP &&定位到表頭GOTO BOTTOM &&定位到表尾SKIP N && N可以是正整數或負整數,默認是1LOCATE FOR 條件表達式&& 按條件定位記錄位置十、索引若要按特定的順序定位、查看或操作表中記錄,可以使用索引。VFP中索引分為主索引、候選索引、惟一索引和普通索引四種。1、主索引:在指定字段或表達式中不允許出現重復值的索引。一個表只能創建一個

6、主索引。2、候選索引:候選索引和主索引具有相同的特性,建立候選索引的字段可以看作是候選關鍵字,所以一個表可以建立多個候選索引。3、惟一索引:是為了保持同早期版本的兼容性,它的“惟一性”是指索引項的惟一,而不是字段值的惟一。4、普通索引:可以決定記錄的處理順序,它不僅允許字段中出現重復值、并且索引項中也允許出現重復值。在一個表上可以建立多個普通索引、多個惟一索引、 多個候選索引,但只能建立一個主索引。一般來說,主索引用于主關鍵字字段; 候選索引用于那些不作為主關鍵字但字段值又必須惟一的字段;普通索引用于一般地提高查詢速度;惟一索引用于一些特殊的程序設計。5、用命令建立索引INDEX ON字段或字

7、段表達式TO索引文件名( *.idx )6、使用索引(在表設計器中設置)SET ORDER TO N7、使用索引快速定位(在表設計器中設置)SEEK 表達式的值ORDER 字段名8、刪除索引DELETE TAG 索引名DLEETE TAG ALL &&刪除全部索引十一、數據完整性在數據庫中數據完整性是指保證數據正確的特性。數據完整性一包括實體完整性、域完整性和參照完整性等,VFP提供了實現這些完整性的方法和手段。1、實體完整性與主關鍵定實體完整性是保證表中記錄惟一的特性,即在一個表中不允許有重復的記錄。在 VFP中利用主關鍵定或候選關鍵字來保證表中的記錄惟一,即保證實體惟一性。

8、如果一個字段的值或幾個字段的值能夠惟一標識表中的一條記錄,則這樣的字段稱為候選關鍵字。在一個表上可能會有幾個具有這種特性的字段或字段的組合,這時從中選擇一個作為主關鍵字。在 VFP中將主關鍵字稱作為主索引,將候選關鍵字稱候選索引。由上所述,在 VFP中主索引和候選索引有相同的作用。2、域完整性與約束規則域完整性應該是我們最熟悉的了, 以前我們所熟知的數據類型的定義都是域完整性的范疇。 如對于數值字段, 通過指定不同的說明不同范圍的數值類型, 從而可以限福字段的取值類型和取值范圍。 但這些對域完整性還遠遠不夠, 我們否可以用一些域約束則來進一保證域完整性。域約束規則也稱作字段有效性規則, 在插入

9、或修改字段值時被激活,主要用于數據輸入正確性檢驗。建立字段有效性規則比較簡單直接的方法仍然是在表設計器中建立,在表設計器的“字段”選項卡中有一組定義字段有效性規則的項目,它們是規則(字段有效性規則) 、信息(違背字段有效性規則時的提示信息)、默認值(字段的默認值)三項。具體操作步驟是:首先單擊選擇要定義字段有效性規則的字段。然后分別輸入和編輯規則、信息及默認值等項目。字段有效性規則的項目可以直接輸入,也可以單擊輸入框旁的按鈕打開表達式生成器對話框編輯、生成相應的表達式。以訂貨管理數據庫中的職工表為例,設職工的工資有效性規則在1000 至 3000 元之間當輸入的職工工資不在此范圍時給出出錯提示

10、,職工的默認工資值是1200為此,在“規則”框中(或表達式生成器)輸入表達式;工資 =>1000 .AND. 工資 <=3000在“信息”框中(或表達式生成器)輸入表達式;“工資輸入錯誤,應該在1000-3000 元之間。”在“默認值”框中(或表達式生成器)輸入表達式;1200注意:“規則”是邏輯表達式, “信息”的字符串表達式, “默認值”的類型則視字段的類型而定。3、參照完整性與表之間的關聯參照完整性與表之間的關聯有關,它的大概含義是:當插入、刪除或修改一個表的數據時通過參照引用相互關聯的另一個表中的數據,來檢查對表的數據操作是否正確。 假如一個職工通過參照引用相互關聯的另一個

11、表中的數據, 來檢查對表的數據操作是否正確。 假如一個職工記錄由倉庫號、 職工號和工資 3 個字段構成, 當插入一條這樣的記錄時,如果沒有參照完整性的檢查, 則可能會插入一人并不存在的倉庫的職工記錄, 這時插入的記錄肯定是錯誤的; 如果在插入倉庫的職工記錄之前, 能夠進行參照完整性檢查 (檢查指定職工記錄的倉庫號在倉庫表中是否存在)則可以保證插入記錄的合法性。參照完整性是關系數據庫管理系統的一個很重要的功能。在VFP中為了建立參照完整性,必須首先建立表之間的聯系(在中文版 VFP 中稱為關系)。為了理解這里的聯系, 讀者可以回憶一下第一章介紹概念數據模型時討論的實體之間的聯系和聯系類型。 最常

12、見的聯系類型是一對多的聯系,在關系數據庫中通過連接字段來體現和表示聯系。 連接字段在父表中一般是主關鍵字, 在子表中是外部關鍵字 (如果一個字段或字段的組合不是本表的關鍵字, 而是另外一個表的關鍵字, 則這樣的字段稱為外部關鍵字)。在數據庫設計器中設計表之間的聯系時,要在父表中建立主索引,在子表中建立普通索引, 然后通過父表的主索引和子表的普通索引建立起兩人表之間的聯系。為了建立表之間的聯系,假設在訂貨管理數據庫中如下4 個表:倉庫表,含有字段:倉庫號、城市、面積、并以倉庫號建立主索引;職工表,含有字段:倉庫號、職工號、工資,并以職工號建立主索引,以倉庫號建立普通索引;供應商表,含字段供應商號

13、、供應商名、地址、并以供應商號建立主索引;訂購單表,含有字段:職工號、供應商號、訂購單號、訂購日期,并以訂購單號建立主索引分別以職工號和供應商號建立普通索引。圖 3.17 顯示了數據庫設計器中已經建立好的4 個表。在這 4 個表中,倉庫和職工之間有一個一對多的聯系,連接字段是倉庫號;職工和訂購單之間有一個一對多的聯系,連接字段是職工號; 在供應商和訂購單之間有一個一對多的聯系,連接字段是供應商號。我們先建立倉庫和職工之間的一對多聯系,具體方法是:在圖3.17 所示的數據庫設計設計中用鼠標單擊選中倉庫表中的主索引倉庫號,按住鼠標左鍵,并拖動鼠標到職工表的倉庫號索引上(鼠標箭頭會變成小矩形狀),最

14、后釋放鼠標聯系就建立好了。用同樣的方法可以建立職工和訂購單的聯系及供應商和訂購單之間的聯系。建立好聯系的表如圖 3.18 所示(觀察連接表的符號,這時默認的是一對多的聯系)。如果在建立聯系時操作有誤,隨時可以通過編輯修改聯系。方法是用鼠標右擊要修改的聯系, 然后從彈出的菜單中選擇“編輯關系”打開“編輯關系”對話框,如圖 3.19 所示。注意:在中文 VFP中將聯系稱為關系。在圖 3.19 所示的界面中,通過在下拉列表框中重新選擇表或相關表的索引名則可以達到修改聯系的目的。到目前為止,只是建立了表之間的聯系, VFP沒有建立任何參照完整性約束。在建立參照完整性之前必須首先清理數據庫, 這時可以在

15、 “數據庫”(只要打開了數據庫設計器就會有該菜單項)菜單中選擇“清理數據庫”。在清理完數據庫后, 用鼠標右擊表之間的聯系并從彈出菜單中選擇“編輯參照完整性”打開的參照完整性生成器如圖 3.20 所示(注意:不管單擊的是哪個聯系, 所有聯系將都出現在參照完整性生成器中)。參照完整性規則包括更新規則、刪除規則和插入規則。更新規則規定了當更新父表中的連接字段(主關鍵字)值時,如何處理相關的子表中的記錄:如果選擇“級聯”則用新的連接字段值自動修改子表中的所有相關記錄;如果選擇“限制”,若子表中有相關的記錄,則禁止修改父表中的連接字段值;如果選擇“忽略”,則有作參照完整性檢查,即可以隨意更新父記錄的連接

16、字段值。刪除規則規定了當刪除父表中的記錄時,如何處理子表中相關的記錄:如果如果選擇“級聯” ,則自動刪除子表中的所有相關記錄;如果選擇“限制”,若子表中有相關的記錄,則禁止刪除父表中的記錄;如果選擇“忽略”,則不作參照完整性檢查,即刪除父表的記錄時與子表無關。插入規則規定了當在子表中插入記錄時,是否進行參照完整性檢查:如果選擇 “限制”,若父表中沒有相匹配的連接字段值則禁止插入子記錄;如果選擇“忽略”,則不作參照完整性檢查,即可以隨意插入子記錄。根據以上規則可以為學生管理數據庫的學生、 課程、成績 3 個表設計參照完整性:將它們的插入規則設定為 “限制”(即插入成績記錄時檢查相關的學生和課程是

17、否存在,如果不存在則禁止插入成績記錄);將它們的刪除規則設定為 “級聯”(即在刪除學生記錄和課程記錄時,自動刪除相關的成績記錄) ;將它們的更新規則也設定為 “級聯”(即當修改學生的學號或課程的課程號,也自動修改相關的成績記錄)注意:在設定了參照完整性規則后, 你可能會感到受到了一些約束,表的操作不像以前那么方便了,例如將插入規則設定為限制,使用以前 VFP 的各種插入或追加記錄的方法幾乎都不能完成你所要的操作(即無法插入插入規則為限制的子表的記錄) 。這是因為以前的APPEND命令或 INSERT命令都是先插入一條空記錄,然后再編輯、輸入各字段的值,這自然就無法通過參照完整性檢查。這時可以使用SQL的 INSERT命令插入記錄。 SQL命令將在第 5 章單獨介紹。十

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論