- Visual FoxPro程序設計
- 黃玲芳 劉建蘭主編
- 2693字
- 2019-07-25 11:48:25
3.2 創建表
數據庫由表和其他數據庫對象的集合構成,表在關系數據庫中稱為“關系”;在VFP 9.0中稱為“數據庫表文件”,其擴展名為“.dbf”。如果表有中備注型或者通用型字段,則同時創建一個與數據庫表文件同名,但擴展名為“.fpt”的備注文件。創建表的次序一般是設計表結構→創建表結構→輸入表記錄數據。
表可以分為數據庫表和自由表,不屬于任何數據庫而獨立存在的表稱為“自由表”,后續將詳細介紹,本節所指的表是數據庫表。
3.2.1 創建數據庫表
創建之前要設計表結構,即確定字段及字段參數,包括字段名稱、類型、寬度、小數位數,以及是否允許為空等。
(1)字段名(Field Name)。
字段名必須以漢字、字母或下畫線開頭,最多不超過128個字符,自由表中的字段名不得超過10個字符。
(2)字段類型(Type)。
指定字段存儲的數據類型,視具體情況而定。
(3)字段寬度(Width)。
字段允許存放的最大字節數或數值位數,字符型、數值型和浮點型這3種字段的寬度根據所存數據的具體情況規定。其他類型由系統規定,其中貨幣型、日期型、日期時間型字段的寬度均為8個字節;邏輯型字段的寬度為1個字節;備注型字段和通用型字段的寬度均為4個字節。
(4)小數位數(Dec)。
只有數值型與浮點型字段才有小數位數,小數位數至少應比該字段的寬度值小2。若字段值是整數,則小數位數為0。雙精度型字段允許輸入小數,但不需事先定義小數位數,小數點將在輸入數據時輸入。
(5)索引。
指定是否以該字段為關鍵字創建索引(升序或降序),索引主要用于記錄排序,后續會有詳細介紹。
(6)是否允許為空。
表示是否允許字段接受空值(NULL),空值指無確定的值,它與空字符串、數值0等不同。例如,基本工資字段空值表示沒有確定工資,0則表示0元。一個字段是否允許為空值與其性質有關,如作為關鍵字的字段不允許為空值。
根據表3-5創建人事表,表結構設計如同設計一個表格。即首先要設計一個表名(如RSB.dbf),然后確定表中的字段(如編號、姓名和性別等)及其類型(如字符型、數值型和日期型等),最后確定字段的寬度。如果是數值型,還要確定小數的位數。
1.菜單方式
例3-3:在RSGZK數據庫中創建數據庫表RSB.dbf。
操作步驟如下。
(1)打開RSGZK數據庫,如圖3-5所示。

圖3-5 打開RSGZK數據庫
(2)單擊“數據庫設計器”窗口工具欄中的“新建表”按鈕,彈出“新建表”對話框,如圖3-6所示。

圖3-6 “新建表”對話框
(3)單擊“新建表”按鈕,彈出“創建”對話框,如圖3-7所示。

圖3-7 “創建”對話框
(4)選擇保存的目錄并輸入表名,在這里輸入“RSB”。
(5)單擊“保存”按鈕,彈出“表設計器-rsb.dbf”對話框,如圖3-8所示。

圖3-8 “表設計器-rsb.dbf”對話框
(6)打開“字段”選項卡。
(7)按照表3-5所示結構依次輸入或選擇每一個字段的字段名、類型和寬度等,結果如圖3-9所示。

圖3-9 輸入或選擇結果
(8)單擊“確定”按鈕,在數據庫設計器中將顯示新創建的表,如圖3-10所示。

圖3-10 新創建的RSB表
這時表中沒有數據,只有表結構,即是個空表。
2.命令方式
(1)格式:CREATE <表文件名>
功能:打開“表設計器”窗口創建表。
說明:如果在該命令之前用OPEN DATABASE命令打開了一個數據庫,則創建的是數據庫表;否則創建的是自由表。
例:CREATE Gzb &&創建表Gzb.DBF并打開“表設計器”窗口 (2)格式:CREATE TABLE <表文件名>(<字段名><字段類型>(<字段寬度>[, <小數位 數>]……))
功能:SQL語言創建表的方式,詳見第4章。
3.2.2 輸入表記錄
定義表結構后可以輸入記錄,VFP 9.0提供以下兩種數據輸入方式。
1.瀏覽方式
例3-4:在RSB表中輸入數據。
操作步驟如下。
(1)打開RSB表所在的RSGZK數據庫,然后在“數據庫設計器”窗口中選中RSB表。
(2)選擇“顯示”|“瀏覽”選項,如圖3-11所示,彈出瀏覽窗口。

圖3-11 “瀏覽”選項
(3)選擇“顯示”|“追加方式”選項,在彈出的表中逐條輸入記錄,如圖3-12所示。

圖3-12 以“追加方式”輸入數據
(4)輸入備注型字段數據,雙擊備注型字段的“memo”處,彈出備注型字段編輯窗口,如圖3-13所示。

圖3-13 備注型字段編輯窗口
輸入或編輯當前記錄的簡歷字段的內容,結束后單擊關閉按鈕或按下Ctrl+W組合鍵將備注型數據存盤,關閉備注型字段編輯窗口;按下Ctrl+Q組合鍵則放棄本次輸入,關閉備注型字段編輯窗口。
此時“memo”變成“Memo”,表示備注型字段已經輸入數據。
(5)輸入通用字段數據。
在輸入記錄窗口中雙擊通用型字段的“gen”處,彈出通用型字段編輯窗口。選擇“編輯”|“插入對象”選項,彈出“插入對象”對話框,如圖3-14所示。

圖3-14 “插入對象”對話框
● “新建”單選按鈕:選擇后在“對象類型”下拉列表框中新建一個對象添加到該通用字段中。
● “由文件創建”單選按鈕:選擇后可以選擇一個已經存在的對象添加到該通用型字段中。
結束后單擊關閉按鈕或按下Ctrl+W組合鍵,將通用型數據存盤并關閉通用型字段編輯窗口;按下Ctrl+Q組合鍵則放棄本次輸入,關閉通用型字段編輯窗口。
此時“gen”變成“Gen”,表示已經輸入數據。
(6)依次輸入數據,結果如圖3-15所示。

圖3-15 輸入的結果
2.編輯方式
這種方式的操作過程與瀏覽方式大致相同,不同之外在于每行只有一個字段。在瀏覽狀態下選擇“顯示”|“編輯”選項,切換到編輯窗口中輸入數據,如圖3-16所示。

圖3-16 以編輯方式輸入記錄
3.2.3 自由表與數據庫表
自由表和數據庫表的擴展名都為.dbf,但數據庫表具有一些自由表所沒有的屬性。二者可以相互轉換,當一個自由表被添加到一個數據庫中后就成為數據庫表;當數據庫表從數據庫中移出后就成為自由表。數據庫表只能屬于一個數據庫,如果需要將其添加到其他數據庫中,應將它變為自由表后添加。我們是在已打開的RSGZK數據庫中創建的RSB表,所以RSB表自動成為RSGZK數據庫的一部分,是數據庫表。
例3-5:創建一個名為“BMDM”的部門代碼自由表。
操作步驟如下。
(1)啟動VFP 9.0。
(2)選擇“文件”|“新建”選項,彈出“新建”對話框。
(3)選擇“表”選項,單擊“新建”按鈕,彈出“創建”對話框。
(4)輸入表名“BMDM”,單擊“保存”按鈕,彈出“表設計器-bmdm.dbf”對話框,如圖3-17所示。

圖3-17 “表設計器-bmdm.dbf”對話框
例3-6:將自由表BMDM添加到RSGZK數據庫中。
操作步驟如下。
(1)打開RSGZK數據庫。
(2)選擇“數據庫”|“添加表”選項,如圖3-18所示。

圖3-18 選擇“數據庫”|“添加表”選項
(3)彈出“打開”對話框,選擇要添加到當前數據庫的自由表BMDM?;蛘邌螕簟皵祿煸O計器”窗口工具欄中的添加表工具按鈕,如圖3-19所示。

圖3-19 添加表按鈕
(4)單擊“確定”按鈕,選中的自由表添加到指定的數據庫中。
在“數據庫設計器”窗口中可以看到數據庫中增加了一個BMDM表。
例3-7:把數據庫表BMDM移出數據庫,使之成為自由表。
操作步驟如下。
(1)打開RSGZK數據庫。
(2)選擇BMDM表。
(3)選擇“數據庫”|“移去”選項,彈出如圖3-20所示的提示對話框?;蛘邌螕簟皵祿煸O計器”窗口中工具欄中的移動表按鈕。

圖3-20 移去表的提示對話框
(4)單擊“移去”按鈕,BMDM表變為自由表。
- 極簡算法史:從數學到機器的故事
- C++案例趣學
- 軟件項目管理(第2版)
- Java Web基礎與實例教程(第2版·微課版)
- Vue.js 3.0源碼解析(微課視頻版)
- ASP.NET 3.5程序設計與項目實踐
- Haxe Game Development Essentials
- PHP編程基礎與實例教程
- Python機器學習:預測分析核心算法
- Raspberry Pi Robotic Blueprints
- 創意UI:Photoshop玩轉APP設計
- RESTful Web Clients:基于超媒體的可復用客戶端
- Photoshop CC移動UI設計案例教程(全彩慕課版·第2版)
- scikit-learn Cookbook(Second Edition)
- HTML5程序設計基礎教程