第3章__Visual_FoxPro數據庫及其操作_第1頁
第3章__Visual_FoxPro數據庫及其操作_第2頁
第3章__Visual_FoxPro數據庫及其操作_第3頁
第3章__Visual_FoxPro數據庫及其操作_第4頁
第3章__Visual_FoxPro數據庫及其操作_第5頁
已閱讀5頁,還剩67頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1/71頁第第3 3章章 Visual FoxProVisual FoxPro數據庫數據庫及其操作及其操作 2/71頁本章教學要求:掌握數據庫和表的建立,對表的基本操作。本章教學要求:掌握數據庫和表的建立,對表的基本操作。3.1 Visual FoxPro3.1 Visual FoxPro數據庫和表的建立數據庫和表的建立3.2 3.2 建立數據庫表建立數據庫表3.3 3.3 表的基本操作表的基本操作3.4 3.4 索引索引3.5 3.5 數據完整性數據完整性 3.6 3.6 自由表自由表3.7 3.7 多表的同時使用多表的同時使用3.8 3.8 排序排序3/71頁3.1 Visual FoxP

2、ro3.1 Visual FoxPro數據庫及其建立數據庫及其建立 在在Visual FoxProVisual FoxPro中,數據庫可以說是一個邏輯上的概中,數據庫可以說是一個邏輯上的概念和手段,它通過一組系統文件將相互關聯的數據庫表及其念和手段,它通過一組系統文件將相互關聯的數據庫表及其相關的數據庫對象統一進行組織和管理。相關的數據庫對象統一進行組織和管理。 4/71頁3.1 Visual FoxPro3.1 Visual FoxPro數據庫及其建立數據庫及其建立 3 . 1 . 1 3 . 1 . 1 基本概念基本概念 數據庫是具有邏輯關系的一組表的集合,表是庫中的成員。數據庫是具有邏輯

3、關系的一組表的集合,表是庫中的成員。 Visual FoxProVisual FoxPro數據庫以文件的形式保存在計算機的磁盤數據庫以文件的形式保存在計算機的磁盤上,數據庫文件的擴展名為上,數據庫文件的擴展名為.dbc.dbc,與之相關地還有一個擴展,與之相關地還有一個擴展名為名為.dct.dct的數據庫備注的數據庫備注(Memo)(Memo)文件和一個擴展名為文件和一個擴展名為.dcx.dcx的數的數據庫索引文件。據庫索引文件。 一個數據庫文件可以包含一個或多個表、表間的關聯、視一個數據庫文件可以包含一個或多個表、表間的關聯、視圖和存儲過程等圖和存儲過程等5/71頁3.1 Visual Fo

4、xPro3.1 Visual FoxPro數據庫及其建立數據庫及其建立 3 . 1 . 2 3 . 1 . 2 建立數據庫建立數據庫 l 建立數據庫的三種方法建立數據庫的三種方法1 1在項目管理器中建立數據庫在項目管理器中建立數據庫(1) (1) 在項目管理器中選擇在項目管理器中選擇“數據數據”選項卡中的選項卡中的“數據庫數據庫”,單,單擊擊“新建新建”按鈕。按鈕。 (2) (2) 單擊單擊“新建數據庫新建數據庫”按鈕后,彈出按鈕后,彈出“創建創建”對話框;在對話框;在“數據庫名數據庫名”文本框中輸入新建的數據庫名。文本框中輸入新建的數據庫名。(3) (3) 單擊單擊“保存保存”按鈕即可完成數

5、據庫的建立,并打開按鈕即可完成數據庫的建立,并打開“數據數據庫設計器庫設計器”。 6/71頁l 建立數據庫的三種方法(續)建立數據庫的三種方法(續)2 2利用利用“文件文件”“新建新建”命令建立數據庫命令建立數據庫 (1) (1) 單擊單擊 “ “文件文件”“新建新建”菜單命令或者選擇工具欄中的菜單命令或者選擇工具欄中的“新建新建”按鈕;按鈕;(2) (2) 在在“文件類型文件類型”選項組中選中選項組中選中“數據庫數據庫”單選按鈕。單選按鈕。(3) (3) 單擊單擊“新建文件新建文件”按鈕,在按鈕,在“創建創建”對話框中輸入要創建對話框中輸入要創建的數據庫文件的名字。的數據庫文件的名字。(4)

6、 (4) 單擊單擊“保存保存”按鈕,即創建數據庫并且打開該數據庫的數按鈕,即創建數據庫并且打開該數據庫的數據庫設計器。據庫設計器。 7/71頁l 建立數據庫的三種方法(續)建立數據庫的三種方法(續)3 3用命令方式建立數據庫用命令方式建立數據庫 命令格式:命令格式:CREATE DATABASE CREATE DATABASE 8/71頁3 . 1 . 3 3 . 1 . 3 使用數據庫使用數據庫 1 1在項目管理器中打開數據庫在項目管理器中打開數據庫 在項目管理器窗口下切換到在項目管理器窗口下切換到“數據數據”選項卡,然后選擇其選項卡,然后選擇其中要打開的數據庫,再單擊窗口右側的中要打開的數

7、據庫,再單擊窗口右側的“修改修改”命令按鈕,則命令按鈕,則彈出該數據庫的數據庫設計器。彈出該數據庫的數據庫設計器。2 2利用利用“文件文件”“打開打開”命令打開數據庫命令打開數據庫 單擊單擊 “ “文件文件”“打開打開”菜單命令或者選擇工具欄中的菜單命令或者選擇工具欄中的“打開打開”按鈕。在按鈕。在“文件類型文件類型”下拉列表框中選擇下拉列表框中選擇“數據庫數據庫( (* *.dbc.dbc)”)”。 9/71頁3 3用命令方式打開數據庫用命令方式打開數據庫打開數據庫的命令是:打開數據庫的命令是:OPEN DATABASEOPEN DATABASE。命令格式:命令格式:OPEN DATABAS

8、E OPEN DATABASE EXCLUSIVE | SHARED EXCLUSIVE | SHARED NOUPDATE NOUPDATE VALIDATE VALIDATE 只讀方式只讀方式10/71頁l 設置當前數據庫設置當前數據庫 Visual FoxProVisual FoxPro在同一時刻可以打開多個數據庫,但在同在同一時刻可以打開多個數據庫,但在同一時刻只有一個當前數據庫。指定當前數據庫的命令如下:一時刻只有一個當前數據庫。指定當前數據庫的命令如下: SET DATABASE TO SET DATABASE TO 其中其中“數據庫名字數據庫名字”是一個已經打開的數據庫的名字。是

9、一個已經打開的數據庫的名字。 如果不指定該參數,即輸入命令:如果不指定該參數,即輸入命令: SET DATABASE TOSET DATABASE TO此時使得所有打開的數據庫都不是當前數據庫此時使得所有打開的數據庫都不是當前數據庫( (注意:所有的注意:所有的數據庫都沒有關閉,只是都不是當前數據庫數據庫都沒有關閉,只是都不是當前數據庫) )。 另外,也可以通過標準工具欄中的數據庫下拉列表來選擇、另外,也可以通過標準工具欄中的數據庫下拉列表來選擇、指定當前數據庫。指定當前數據庫。 11/71頁3 . 1 . 4 3 . 1 . 4 修改數據庫修改數據庫 在在Visual FoxProVisua

10、l FoxPro中修改數據庫實際是打開數據庫設計器中修改數據庫實際是打開數據庫設計器來進行操作,可以在數據庫設計器中完成各種數據庫對象的建來進行操作,可以在數據庫設計器中完成各種數據庫對象的建立、修改和刪除等操作。立、修改和刪除等操作。1 1在項目管理器中打開數據庫設計器在項目管理器中打開數據庫設計器 在項目管理器窗口下切換到在項目管理器窗口下切換到“數據數據”選項卡,然后選擇其選項卡,然后選擇其中要修改的數據庫,再單擊窗口右側的中要修改的數據庫,再單擊窗口右側的“修改修改”命令按鈕,則命令按鈕,則彈出該數據庫的數據庫設計器。彈出該數據庫的數據庫設計器。12/71頁2 2利用利用“文件文件”“

11、打開打開”命令打開數據庫設計器命令打開數據庫設計器 單擊單擊 “ “文件文件”“打開打開”菜單命令或者選擇工具欄中的菜單命令或者選擇工具欄中的“打開打開”按鈕。在按鈕。在“文件類型文件類型”下拉列表框中選擇下拉列表框中選擇“數據庫數據庫( (* *.dbc.dbc)”)”。 13/71頁3 3用命令方式打開數據庫設計器用命令方式打開數據庫設計器修改數據庫的命令是:修改數據庫的命令是:MODIFY DATABASEMODIFY DATABASE。命令格式:命令格式:MODIFY DATABASE MODIFY DATABASE NOWAIT NOEDIT NOWAIT NOEDIT 14/71頁

12、3 . 1 . 5 3 . 1 . 5 刪除數據庫刪除數據庫 1 1使用項目管理器刪除數據庫使用項目管理器刪除數據庫 在項目管理器窗口下切換到在項目管理器窗口下切換到“數據數據”選項卡,然后選擇其選項卡,然后選擇其中要刪除的數據庫,再單擊窗口右側的中要刪除的數據庫,再單擊窗口右側的“移去移去”命令按鈕。命令按鈕。15/71頁2 2用命令刪除數據庫用命令刪除數據庫刪除數據庫的命令是:刪除數據庫的命令是:DELETE DATABASEDELETE DATABASE。命令格式:命令格式:DELETE DATABASE DELETE DATABASE DELETETABLES DELETETABLES

13、 RECYCLE RECYCLE 將數據庫文件放將數據庫文件放入回收站入回收站刪除數據庫及其表刪除數據庫及其表16/71頁3 . 1 . 6 3 . 1 . 6 關閉數據庫關閉數據庫 兩種方法:兩種方法: 1 1利用利用“文件文件”“關閉關閉”命令關閉打開的數據庫命令關閉打開的數據庫 單擊單擊 “ “文件文件”“關閉關閉”菜單命令可以關閉當前數據庫。菜單命令可以關閉當前數據庫。 2 2用命令關閉數據庫用命令關閉數據庫 關閉數據庫的命令是:關閉數據庫的命令是:CLOSE DATABASECLOSE DATABASE。 命令格式:命令格式: CLOSE DATABASE ALLCLOSE DATA

14、BASE ALL關閉所有打開的關閉所有打開的數據庫數據庫17/71頁3.2 3.2 建立數據庫表建立數據庫表 在在Visual FoxProVisual FoxPro中,數據表對應著關系,即二維表格。中,數據表對應著關系,即二維表格。 Visual FoxProVisual FoxPro的數據表也以文件的形式保存在計算機的的數據表也以文件的形式保存在計算機的磁盤上,數據表文件的擴展名為磁盤上,數據表文件的擴展名為.dbf.dbf。 一個數據表由若干記錄(元組)構成一個數據表由若干記錄(元組)構成18/71頁3.2 3.2 建立數據庫表建立數據庫表 3 . 2 . 1 3 . 2 . 1 在數據

15、庫中建立表在數據庫中建立表 在在Visual FoxProVisual FoxPro中,表分為自由表和數據庫表兩種類型:中,表分為自由表和數據庫表兩種類型:自由表是指那些沒有加入到任何數據庫中的表。自由表是指那些沒有加入到任何數據庫中的表。數據庫表是指那些已經加入到相應數據庫中的表。數據庫表是指那些已經加入到相應數據庫中的表。19/71頁3 . 2 . 1 3 . 2 . 1 在數據庫中建立表在數據庫中建立表 l 使用項目管理器來建立數據庫表使用項目管理器來建立數據庫表 要為數據庫新建表,首先要進入到該數據庫的數據庫設要為數據庫新建表,首先要進入到該數據庫的數據庫設計器界面,方法是:計器界面,

16、方法是: 在 項 目 管 理 器 窗 口 下 切 換 到在 項 目 管 理 器 窗 口 下 切 換 到 “ 數 據數 據 ” 選 項 卡選 項 卡 選擇其中要新建表的那個數據庫選擇其中要新建表的那個數據庫 單擊窗口右側的單擊窗口右側的“修改修改”命令按鈕,則彈出該數據庫的數據庫設計器命令按鈕,則彈出該數據庫的數據庫設計器 在菜單欄中選擇在菜單欄中選擇“數據庫數據庫”菜單菜單 單擊其中的單擊其中的“新建表新建表”命令(或者在數據庫設計器窗口的空白處右擊鼠命令(或者在數據庫設計器窗口的空白處右擊鼠標,并在彈出標,并在彈出“數據庫數據庫”快捷菜單中選擇快捷菜單中選擇“新建表新建表”命令)命令)參見參

17、見P100P100相關內容相關內容20/71頁3 . 2 . 2 3 . 2 . 2 修改表結構修改表結構 l 使用項目管理器來修改數據庫表使用項目管理器來修改數據庫表 方法:在項目管理器窗口下切換到方法:在項目管理器窗口下切換到“數據數據”選項卡選項卡 選選擇其中要修改的那個表所屬的數據庫,并選中該數據庫中要擇其中要修改的那個表所屬的數據庫,并選中該數據庫中要修改的那個表修改的那個表 單擊窗口右側的單擊窗口右側的“修改修改”命令按鈕,命令按鈕,則彈出該數據庫表的表設計器。則彈出該數據庫表的表設計器。l 使用數據庫設計器修改數據庫表使用數據庫設計器修改數據庫表方法:進入要修改的那個表所屬的數據

18、庫的數據庫設計器窗方法:進入要修改的那個表所屬的數據庫的數據庫設計器窗口口 選中要修改的那個表選中要修改的那個表 單擊單擊“數據庫數據庫”菜單,并單擊其中的菜單,并單擊其中的“修改修改”命令(或者在數據庫設計器窗命令(或者在數據庫設計器窗口中右擊要修改的那個表,在彈出快捷菜單中選擇口中右擊要修改的那個表,在彈出快捷菜單中選擇“修改修改”命令。則彈出該表的表設計器)命令。則彈出該表的表設計器)21/71頁3 . 2 . 2 3 . 2 . 2 修改表結構修改表結構 l 使用命令修改數據庫表使用命令修改數據庫表 命令格式:命令格式: MODIFY STRUCTUREMODIFY STRUCTURE

19、22/71頁3.3 3.3 表的基本操作表的基本操作 VisualVisual表的基本操作,其中包括增加記錄、刪除記錄、表的基本操作,其中包括增加記錄、刪除記錄、修改記錄、顯示記錄以及查詢定位。修改記錄、顯示記錄以及查詢定位。23/71頁3.3 3.3 表的基本操作表的基本操作 3 . 3 . 1 3 . 3 . 1 使用瀏覽窗口操作表使用瀏覽窗口操作表 1 1打開瀏覽窗口打開瀏覽窗口 如果交互對表中的數據進行操作,那么最簡單、方便的如果交互對表中的數據進行操作,那么最簡單、方便的方法就是使用方法就是使用BrowseBrowse瀏覽器。打開瀏覽器的常用方法有以下瀏覽器。打開瀏覽器的常用方法有以

20、下幾種:幾種: (1 1)在項目管理器中將數據庫展開至表,選擇要操作的)在項目管理器中將數據庫展開至表,選擇要操作的表,單擊表,單擊“瀏覽瀏覽”按鈕。按鈕。 (2 2)在數據庫設計器中選擇要操作的表,選擇)在數據庫設計器中選擇要操作的表,選擇“數據數據庫庫”“瀏覽瀏覽”命令;或者右擊要操作的表,從彈出的快捷命令;或者右擊要操作的表,從彈出的快捷菜單中選擇菜單中選擇“瀏覽瀏覽”命令。命令。 (3 3)命令方式下,首先用)命令方式下,首先用USEUSE命令打開要操作的表,然后命令打開要操作的表,然后輸入輸入BROWSEBROWSE命令。命令。 24/71頁3 . 3 . 2 3 . 3 . 2 增

21、加記錄的命令增加記錄的命令 1 1APPENDAPPEND命令命令 命令格式:命令格式: APPEND BLANKAPPEND BLANK 2 2INSERTINSERT命令命令命令格式:命令格式: INSERT BEFORE BLANKINSERT BEFORE BLANK 25/71頁3 . 3 . 3 3 . 3 . 3 刪除記錄的命令刪除記錄的命令 l 邏輯刪除和物理刪除。邏輯刪除和物理刪除。1 1邏輯刪除邏輯刪除命令格式:命令格式: DELETE DELETE 范圍范圍 FOR FOR 2 2恢復被邏輯刪除記錄的命令恢復被邏輯刪除記錄的命令命令格式:命令格式: RECALL RECA

22、LL 范圍范圍 FOR FOR 26/71頁3 . 3 . 3 3 . 3 . 3 刪除記錄的命令刪除記錄的命令 3 3物理刪除帶有刪除標記的記錄物理刪除帶有刪除標記的記錄命令格式:命令格式: PACK MEMO DBFPACK MEMO DBF命令說明:命令說明: MEMOMEMO表示從備注文件中刪除未使用的空間,但不從表中刪表示從備注文件中刪除未使用的空間,但不從表中刪除帶有刪除標記的記錄。除帶有刪除標記的記錄。 DBFDBF表示從表中刪除帶有標記的記錄,但不影響備注文件。表示從表中刪除帶有標記的記錄,但不影響備注文件。 27/71頁3 . 3 . 3 3 . 3 . 3 刪除記錄的命令刪

23、除記錄的命令 4 4物理刪除表中的全部記錄物理刪除表中的全部記錄 命令格式:命令格式: ZAPZAP28/71頁3 . 3 . 4 3 . 3 . 4 修改記錄的命令修改記錄的命令 l 用用REPLACEREPLACE命令修改記錄數據命令修改記錄數據 REPLACEREPLACE命令直接用指定表達式的值來修改記錄。命令直接用指定表達式的值來修改記錄。 命令格式:命令格式: REPLACE REPLACE 范圍范圍 WITH WITH , WITH WITH 2 For For 例:例: use XSuse XS replace replace 姓名姓名 with “with “張曉軍張曉軍”,

24、 ,是否團員是否團員 with .T.with .T. for for 姓名姓名=“=“張小軍張小軍” use XS use XS replace all replace all 總分總分 with with 政治政治+ +數學數學+ +外語外語 &計算學生總分計算學生總分修改表的所有修改表的所有記錄記錄修改滿足指定條件的修改滿足指定條件的記錄記錄29/71頁3 . 3 . 5 3 . 3 . 5 顯示記錄的命令顯示記錄的命令 顯示數據記錄的命令是顯示數據記錄的命令是LISTLIST和和DISPLAYDISPLAY。 命令格式:命令格式:LIST/DISPLAY FIELDS Fiel

25、dlistLIST/DISPLAY FIELDS Fieldlist FOR FOR OFF OFFTO PRINTER PROMPT | TO FILE FileNameTO PRINTER PROMPT | TO FILE FileName 30/71頁3 . 3 . 6 3 . 3 . 6 查詢定位的命令查詢定位的命令 1 1GOGO和和GOTOGOTO命令命令 絕對定位絕對定位可以用可以用GOGO、GOTOGOTO命令直接定位,命令直接定位,GOGO和和GOTOGOTO命令是等價的。命令是等價的。命令格式命令格式:GO n | TOP | BOTTOM GO n | TOP | BOT

26、TOM GOTO n | TOP | BOTTOMGOTO n | TOP | BOTTOM例例3.5 3.5 用用GOGO命令直接定位記錄。命令直接定位記錄。USE XSUSE XS & & 打開打開 學生學生 表表GO TOPGO TOP & & 將記錄指針定位在表的第一條記錄上將記錄指針定位在表的第一條記錄上GO BOTTOM & GO BOTTOM & 將記錄指針定位在表的最后一條記錄上將記錄指針定位在表的最后一條記錄上 表的第一個記錄表的第一個記錄表的最后一個記錄表的最后一個記錄31/71頁3 . 3 . 6 3 . 3 . 6 查詢定

27、位的命令查詢定位的命令 2 2SKIPSKIP命令命令 相對定位相對定位命令格式:命令格式:SKIP nRecordsSKIP nRecords 例例3.6 3.6 用用SKIPSKIP命令定位記錄。命令定位記錄。USE XSUSE XS& & 打開打開 學生學生 表表SKIP 3SKIP 3? RECNO( )? RECNO( )& & 顯示第顯示第4 4條記錄條記錄SKIP 2SKIP 2? RECNO( )? RECNO( )& & 顯示第顯示第6 6條記錄條記錄SKIP -2SKIP -2? RECNO( )? RECNO( )&

28、 & 顯示第顯示第4 4條記錄條記錄32/71頁3 . 3 . 6 3 . 3 . 6 查詢定位的命令查詢定位的命令 3 3LOCATELOCATE命令命令LOCATELOCATE是按條件定位記錄位置的命令。是按條件定位記錄位置的命令。命令格式:命令格式:LOCATE LOCATE 范圍范圍 FOR FOR 例:使用例:使用LOCATELOCATE的定位。的定位。USE XSUSE XSLOCATE FOR LOCATE FOR 總分總分=240=240CONTINUECONTINUE33/71頁3.4 3.4 索引索引 3 . 4 . 1 3 . 4 . 1 索引的概念索引的概念 索

29、引本質上是一張為了方便查找數據而設置的對照表。例索引本質上是一張為了方便查找數據而設置的對照表。例如,書本的目錄就是為了方便大家查找書本中的相關內容而設如,書本的目錄就是為了方便大家查找書本中的相關內容而設置的一張置的一張“章節內容章節內容”和和“頁碼頁碼”的對照表。的對照表。 數據表的索引本質上是一張根據數據表創建的對照表。數據表的索引本質上是一張根據數據表創建的對照表。 使用索引的目的是為了對數據表進行排序,從而實現數據使用索引的目的是為了對數據表進行排序,從而實現數據的快速查找。的快速查找。 可以對同一數據表按不同的列(字段)建立多個索引,也可以對同一數據表按不同的列(字段)建立多個索引

30、,也可以對同一數據表的同一個列(字段)建立多個索引。可以對同一數據表的同一個列(字段)建立多個索引。 同一數據表的全部索引被保存在計算機的磁盤上的一個文同一數據表的全部索引被保存在計算機的磁盤上的一個文件中,這就是復合索引文件,復合索引文件的擴展名為件中,這就是復合索引文件,復合索引文件的擴展名為.CDX.CDX。34/71頁3 . 4 . 1 3 . 4 . 1 索引的概念索引的概念 索引文件必須和對應的數據表一起使用,而不能單獨使用。索引文件必須和對應的數據表一起使用,而不能單獨使用。 在每一個索引均可以設置升序或降序在每一個索引均可以設置升序或降序 。 VFPVFP中,索引可分為主索引、

31、候選索引、普通索引和唯一索中,索引可分為主索引、候選索引、普通索引和唯一索引引4 4種類型。種類型。 35/71頁1 1主索引主索引 主索引是一種設定為主關鍵字的索引,其值在一個表中具主索引是一種設定為主關鍵字的索引,其值在一個表中具有唯一性,不允許出現重復值。它強調的有唯一性,不允許出現重復值。它強調的“不允許出現重復值不允許出現重復值”是指建立主索引的字段值不允許重復。是指建立主索引的字段值不允許重復。 一個表只能有一個主關鍵字,所以一個表只能創建一個主一個表只能有一個主關鍵字,所以一個表只能創建一個主索引。索引。 只有數據庫表才能建立主索引,自由表不能建立主索引。只有數據庫表才能建立主索

32、引,自由表不能建立主索引。 36/71頁2 2候選索引候選索引 候選索引和主索引一樣,要求字段值具有唯一性。候選索引和主索引一樣,要求字段值具有唯一性。 建立候選索引的字段可以看做候選關鍵字,所以一個表可建立候選索引的字段可以看做候選關鍵字,所以一個表可以建立多個候選索引。以建立多個候選索引。37/71頁3 3普通索引普通索引 普通索引允許字段中出現重復值。普通索引允許字段中出現重復值。 在數據庫表和自由表中均可為一個表建立多個普通索引。在數據庫表和自由表中均可為一個表建立多個普通索引。38/71頁4 4唯一索引唯一索引 唯一索引中的唯一索引中的“唯一唯一”是指允許表中索引項的唯一,而不是指允

33、許表中索引項的唯一,而不是字段值的唯一是字段值的唯一 。39/71頁索引示例索引示例40/71頁索引示例索引示例關鍵字值(學號)關鍵字值(學號)記錄的物理地址(記錄號)記錄的物理地址(記錄號)992110199211017 7992110299211022 2992110399211033 3992110499211044 4992110599211055 5992110699211066 6992110799211077 741/71頁索引示例索引示例關鍵字值(姓名)關鍵字值(姓名)記錄的物理地址(記錄號)記錄的物理地址(記錄號)曹伯曹伯6 6郝愛萍郝愛萍7 7李建李建2 2林勇軍林勇軍5

34、5王君望王君望3 3王林王林4 4張瑞雪張瑞雪1 142/71頁索引示例索引示例關鍵字值(年齡)關鍵字值(年齡)記錄的物理地址(記錄號)記錄的物理地址(記錄號)18185 519193 319197 720201 120204 420206 621212 243/71頁3 . 4 . 2 3 . 4 . 2 在表設計器中建立索引在表設計器中建立索引 1 1打開表設計器的方法打開表設計器的方法(1 1)在項目管理器中打開表設計器)在項目管理器中打開表設計器 方法:在項目管理器窗口下切換到方法:在項目管理器窗口下切換到“數據數據”選項卡選項卡 選選擇其中要修改的那個表所屬的數據庫擇其中要修改的那個

35、表所屬的數據庫 選中該數據庫選中該數據庫中要修改的那個表中要修改的那個表 單擊窗口右側的單擊窗口右側的“修改修改”命令按鈕,命令按鈕,則彈出該數據庫表的表設計器。則彈出該數據庫表的表設計器。(2 2)在數據庫設計器中打開表設計器)在數據庫設計器中打開表設計器方法:進入要修改的那個表所屬的數據庫的數據庫設計器窗口方法:進入要修改的那個表所屬的數據庫的數據庫設計器窗口 選中要修改的那個表選中要修改的那個表 單擊單擊“數據庫數據庫”菜菜單,并單擊其中的單,并單擊其中的“修改修改”命令(或者在數據庫設計器窗口中命令(或者在數據庫設計器窗口中右擊要修改的那個表,在彈出快捷菜單中選擇右擊要修改的那個表,在

36、彈出快捷菜單中選擇“修改修改”命令。命令。則彈出該表的表設計器)則彈出該表的表設計器)44/71頁(3 3)使用命令打開表設計器)使用命令打開表設計器 命令格式:命令格式: MODIFY STRUCTUREMODIFY STRUCTURE45/71頁3 . 4 . 2 3 . 4 . 2 在表設計器中建立索引在表設計器中建立索引 2 2創建索引創建索引 建立索引的操作步驟如下:建立索引的操作步驟如下:(1 1)在表設計器界面下單擊的)在表設計器界面下單擊的“索引索引”選項卡,然后單擊選項卡,然后單擊“插插入入”按鈕,這時會在界面中出現一個新行;按鈕,這時會在界面中出現一個新行;(2 2)在)在

37、“索引名索引名”列中輸入所需的索引名;列中輸入所需的索引名;(3 3)在)在“索引類型索引類型”下拉列表框中選擇所需的索引類型;下拉列表框中選擇所需的索引類型;(4 4)單擊)單擊“表達式表達式”列右側的按鈕打開表達式生成器;列右側的按鈕打開表達式生成器;(5 5)在表達式生成器中輸入索引表達式,單擊)在表達式生成器中輸入索引表達式,單擊“確定確定”按鈕。按鈕。(6 6)關閉表設計器窗口,保存結果。)關閉表設計器窗口,保存結果。 46/71頁3 . 4 . 3 3 . 4 . 3 利用命令方式建立索引利用命令方式建立索引 命令格式:命令格式:INDEX ONINDEX ON索引表達式索引表達式

38、TAG TAG 索引名索引名ASCENDINGASCENDINGDESCENDING UNIQUEDESCENDING UNIQUECANDIDATECANDIDATE例例3.7 3.7 建立索引:打開學生表建立索引:打開學生表XSXS,以,以“數學數學”字段創建一個名字段創建一個名為為“sx_cjsx_cj”的索引。的索引。USE XSUSE XSINDEX ON INDEX ON 數學數學 TAG xs_cjTAG xs_cj47/71頁3 . 4 . 4 3 . 4 . 4 使用索引使用索引 l 設置、關閉主控索引設置、關閉主控索引(1 1)設置主控索引)設置主控索引命令:命令:set

39、order to tag set order to tag (2 2)關閉主控索引)關閉主控索引命令:命令:set order toset order to48/71頁3 . 4 . 5 3 . 4 . 5 使用使用SEEKSEEK快速定位快速定位49/71頁3 . 4 . 4 3 . 4 . 4 使用索引使用索引 l 刪除索引刪除索引 當不再需要使用某個索引時,可以刪除它。當不再需要使用某個索引時,可以刪除它。 既可以在表設計器中刪除索引,也可以用命令來刪除索引。既可以在表設計器中刪除索引,也可以用命令來刪除索引。刪除索引的命令有以下兩種格式:刪除索引的命令有以下兩種格式:命令格式命令格式1

40、 1:DELETE TAG DELETE TAG ,2命令格式命令格式2 2:DELETE TAG ALLDELETE TAG ALL例:刪除索引。例:刪除索引。USE XSUSE XSDELETE TAG sx_cjDELETE TAG sx_cj50/71頁3.5 3.5 數據完整性數據完整性 在數據庫中數據完整性是指保證數據正確的特性。數據在數據庫中數據完整性是指保證數據正確的特性。數據完整性一般包括實體完整性、域完整性和參照完整性等,完整性一般包括實體完整性、域完整性和參照完整性等,Visual FoxProVisual FoxPro提供了實現這些完整性的方法和手段。提供了實現這些完整

41、性的方法和手段。51/71頁3.5 3.5 數據完整性數據完整性 3 . 5 . 1 3 . 5 . 1 實體完整性與主關鍵字實體完整性與主關鍵字 實體完整性:是對關系中的記錄唯一性,也就是主關鍵實體完整性:是對關系中的記錄唯一性,也就是主關鍵字的約束。具體來說,實體完整性是指關系中的主關鍵字不字的約束。具體來說,實體完整性是指關系中的主關鍵字不能為能為“空空”值且不能有相同值。值且不能有相同值。 在在VFPVFP中,實體完整性是通過設置主關鍵字或候選關鍵字中,實體完整性是通過設置主關鍵字或候選關鍵字來實現的。來實現的。52/71頁3.5 3.5 數據完整性數據完整性 3 . 5 . 2 3

42、. 5 . 2 域完整性與約束規則域完整性與約束規則 域完整性:是對數據表中字段屬性的約束,它包括字段域完整性:是對數據表中字段屬性的約束,它包括字段的值域、字段的類型及字段的有效規則等約束。域完整性是的值域、字段的類型及字段的有效規則等約束。域完整性是通過以下幾個方面來實現的:通過以下幾個方面來實現的: (1 1)限定字段的取值類型和取值范圍;)限定字段的取值類型和取值范圍; (2 2)設置域約束規則。)設置域約束規則。 域約束規則也稱作字段有效性規則,它用于檢驗輸入數域約束規則也稱作字段有效性規則,它用于檢驗輸入數據的正確性。據的正確性。 53/71頁3 . 5 . 2 3 . 5 . 2

43、 域完整性與約束規則域完整性與約束規則 l 設置字段有效性規則設置字段有效性規則 設置字段有效性規則通常是在表設計器中進行,設置字段有效性規則通常是在表設計器中進行,“字段字段”選項卡中定義字段有效性規則的項目有選項卡中定義字段有效性規則的項目有“規則規則”、“信息信息”和和“默認值默認值”這這3 3項。具體的步驟如下:項。具體的步驟如下: (1) (1) 進入數據庫表的表設計器后,單擊要定義字段有效進入數據庫表的表設計器后,單擊要定義字段有效性規則的字段;性規則的字段; (2) (2) 分別輸入分別輸入“規則規則”、“信息信息”及及“默認值默認值”等項目;等項目; 字段有效性規則的項目可以直

44、接輸入,也可以單擊文本字段有效性規則的項目可以直接輸入,也可以單擊文本框旁邊的按鈕打開表達式生成器來生成相應的表達式??蚺赃叺陌粹o打開表達式生成器來生成相應的表達式。 54/71頁3.5 3.5 數據完整性數據完整性 3 . 5 . 3 3 . 5 . 3 參照完整性與表之間的關聯參照完整性與表之間的關聯 表之間的關聯:一個數據庫包含的各個表中,有一些表之表之間的關聯:一個數據庫包含的各個表中,有一些表之間存在著某種邏輯上的聯系,為了反映這種聯系,就需要建間存在著某種邏輯上的聯系,為了反映這種聯系,就需要建立這些表之間的關聯。立這些表之間的關聯。 通常,存在邏輯上的聯系的兩個表有公共字段(相同

45、的通常,存在邏輯上的聯系的兩個表有公共字段(相同的某個字段),這兩個表之間的關聯就是按照這它們的公共字某個字段),這兩個表之間的關聯就是按照這它們的公共字段值相等來建立的。段值相等來建立的。 參照完整性:參照完整性與表之間的關聯有關,其含義參照完整性:參照完整性與表之間的關聯有關,其含義是:當插入、刪除或修改一個表的數據時,通過參照引用與是:當插入、刪除或修改一個表的數據時,通過參照引用與之關聯的另一個表的數據,來檢查對該表的數據操作是否正之關聯的另一個表的數據,來檢查對該表的數據操作是否正確。確。 55/71頁3 . 5 . 3 3 . 5 . 3 參照完整性與表之間的關聯參照完整性與表之間

46、的關聯1 1建立表之間的永久聯系建立表之間的永久聯系(關聯)(關聯) 建立數據庫表之間的永久聯系(關聯)需要在數據庫設計建立數據庫表之間的永久聯系(關聯)需要在數據庫設計器中進行操作。器中進行操作。 首先,需要在要建立關聯的兩個數據庫表中按這兩個表的首先,需要在要建立關聯的兩個數據庫表中按這兩個表的公共字段分別建立主索引和普通索引。公共字段分別建立主索引和普通索引。父表父表以公共字段建立了主索引的那個表以公共字段建立了主索引的那個表子表子表以公共字段建立了普通索引的那個表以公共字段建立了普通索引的那個表56/71頁3 . 5 . 3 3 . 5 . 3 參照完整性與表之間的關聯參照完整性與表之

47、間的關聯1 1建立表之間的永久聯系建立表之間的永久聯系(關聯)(關聯) 下面通過建立數據庫表之間永久聯系(關聯)的實例來介紹下面通過建立數據庫表之間永久聯系(關聯)的實例來介紹建立數據庫表之間永久聯系(關聯)的方法和步驟。建立數據庫表之間永久聯系(關聯)的方法和步驟。 假設在學校管理數據庫中有學生表、成績表、課程表。假設在學校管理數據庫中有學生表、成績表、課程表。 (1 1)學生表含有字段為學號、姓名、性別,以學號建立主)學生表含有字段為學號、姓名、性別,以學號建立主索引。索引。 (2 2)成績表含有字段為學號、成績、課程號,以學號建立)成績表含有字段為學號、成績、課程號,以學號建立普通索引。

48、普通索引。 (3 3)課程表含有字段為成績、課程號、學號,以課程號、)課程表含有字段為成績、課程號、學號,以課程號、學號建立普通索引。學號建立普通索引。57/71頁 在這在這3 3個表中,學生表和成績表是一對多的聯系,連接字個表中,學生表和成績表是一對多的聯系,連接字段是段是“學號學號”。學生表和課程是一對多的聯系,連接字段是。學生表和課程是一對多的聯系,連接字段是“課程號課程號”。 l 建立學生和成績之間的一對多聯系建立學生和成績之間的一對多聯系 選中學生表中的主索引選中學生表中的主索引“學號學號”,按住鼠標左鍵拖動鼠標,按住鼠標左鍵拖動鼠標到成績表的到成績表的“學號學號”索引上,鼠標指針會

49、變成小矩形狀,釋放索引上,鼠標指針會變成小矩形狀,釋放鼠標。鼠標。 這樣就在學生表和成績表之間建立了一對多的聯系。這樣就在學生表和成績表之間建立了一對多的聯系。 58/71頁3 3 . 5 . 3 . 5 . 3 參照完整性與表之間的關聯參照完整性與表之間的關聯2 2設置參照完整性設置參照完整性 通常通常設置參照完整性需設置參照完整性需借助借助VFPVFP的參照完整性生成器來完成。的參照完整性生成器來完成。 在建立參照完整性之前必須首先清理數據庫。所謂清理數據庫在建立參照完整性之前必須首先清理數據庫。所謂清理數據庫就是物理刪除數據庫各個表中已經標有刪除標記的記錄。就是物理刪除數據庫各個表中已經

50、標有刪除標記的記錄。 清理數據庫的具體操作步驟如下:打開數據庫設計器,在主清理數據庫的具體操作步驟如下:打開數據庫設計器,在主菜單欄上出現菜單欄上出現“數據庫數據庫”菜單;選擇菜單;選擇“數據庫數據庫”“清理數據庫清理數據庫”命令。命令。 該操作等同于執行命令該操作等同于執行命令PACK DATABASEPACK DATABASE。 59/71頁3 . 5 . 3 3 . 5 . 3 參照完整性與表之間的關聯參照完整性與表之間的關聯2 2設置參照完整性設置參照完整性 l 設置參照完整性的具體操作步驟:設置參照完整性的具體操作步驟: 打開數據庫設計器,在主菜單欄上出現打開數據庫設計器,在主菜單欄

51、上出現“數據庫數據庫”菜單;菜單;選擇選擇“數據庫數據庫”“編輯參照完整性編輯參照完整性”命令。命令。 或是或是 右擊表之間的聯系,從彈出的快捷菜單中選擇右擊表之間的聯系,從彈出的快捷菜單中選擇“編輯參照編輯參照完整性完整性”命令命令l 參照完整性規則具體見參照完整性規則具體見P116P11660/71頁3.6 3.6 自由表自由表 3 . 6 . 1 3 . 6 . 1 數據庫表與自由表數據庫表與自由表 所謂自由表,就是那些不屬于任何數據庫的表。所謂自由表,就是那些不屬于任何數據庫的表。 自由表和數據庫表之間可以相互轉化。即可以將自由表添加自由表和數據庫表之間可以相互轉化。即可以將自由表添加

52、到數據庫中,使之成為數據庫表;也可以將數據庫表移出數據到數據庫中,使之成為數據庫表;也可以將數據庫表移出數據庫,使之成為自由表。庫,使之成為自由表。61/71頁3.6 3.6 自由表自由表 1 1使用項目管理器創建自由表使用項目管理器創建自由表操作步驟如下。操作步驟如下。(1) (1) 打開項目管理器,切換到打開項目管理器,切換到“數據數據”選項卡;選項卡;(2) (2) 選擇選擇“自由表自由表”項,單擊項,單擊“新建新建”按鈕,彈出按鈕,彈出“新建表新建表”對對話框;話框;(3) (3) 單擊單擊“新建表新建表”按鈕可以打開表設計器創建自由表。按鈕可以打開表設計器創建自由表。62/71頁3

53、. 6 . 1 3 . 6 . 1 數據庫表與自由表數據庫表與自由表2 2利用菜單方式創建自由表利用菜單方式創建自由表操作步驟如下:操作步驟如下:(1) (1) 選擇選擇“文件文件”“新建新建”菜單命令,打開菜單命令,打開“新建新建”對話框;對話框;(2) (2) 在在“文件類型文件類型”選項組中選擇選項組中選擇“表表”;(3) (3) 單擊單擊“新建文件新建文件”按鈕,打開表設計器對話框建立自由表。按鈕,打開表設計器對話框建立自由表。3 3利用命令方式創建自由表利用命令方式創建自由表命令格式:命令格式: CREATE CREATE |? |? 63/71頁!注意:!注意: 利用菜單方式(利用

54、菜單方式( “文件文件”“新建新建” ” 命令命令)和)和CREATECREATE命命令創建的表默認均是自由表,要創建數據庫表應使用項目管理令創建的表默認均是自由表,要創建數據庫表應使用項目管理器或是第四章中講到的器或是第四章中講到的“CREATE TABLE”CREATE TABLE”命令。命令。64/71頁3 . 6 . 2 3 . 6 . 2 將自由表添加到數據庫中將自由表添加到數據庫中把自由表添加到數據庫中可以使用以下把自由表添加到數據庫中可以使用以下3 3種方法:種方法:1 1使用項目管理器添加自由表使用項目管理器添加自由表操作步驟如下:操作步驟如下:(1) (1) 在項目管理器中將

55、要使用的數據庫展開至表,選擇在項目管理器中將要使用的數據庫展開至表,選擇“表表”;(2) (2) 單擊單擊“添加添加”按鈕,調出按鈕,調出“打開打開”對話框,從中選擇要添對話框,從中選擇要添加的自由表。加的自由表。65/71頁3 . 6 . 2 3 . 6 . 2 將自由表添加到數據庫中將自由表添加到數據庫中2 2使用數據庫設計器添加自由表使用數據庫設計器添加自由表操作步驟如下:操作步驟如下:(1) (1) 打開數據庫設計器,選擇打開數據庫設計器,選擇“數據庫數據庫”“添加表添加表”菜單命菜單命令,彈出令,彈出“打開打開”對話框;對話框;(2) (2) 在在“打開打開”對話框中選擇要添加的自由表。對話框中選擇要添加的自由表。3 3利用命令方式添加自由表利用命令方式添加自由表命令格式:命令格式:ADD TABLE ADD TABLE NAME LongTableName NAME LongTableName 給表指定一個長表名(最多可以給表指定一個長表名(最多可以有有12

溫馨提示

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

評論

0/150

提交評論