官术网_书友最值得收藏!

  • 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表變為自由表。

主站蜘蛛池模板: 志丹县| 甘德县| 石台县| 岑溪市| 广安市| 万荣县| 中江县| 防城港市| 临清市| 涞水县| 老河口市| 鄂伦春自治旗| 宁乡县| 临桂县| 皋兰县| 南召县| 治县。| 七台河市| 长治县| 江城| 昔阳县| 翼城县| 特克斯县| 阳江市| 胶州市| 和林格尔县| 北宁市| 共和县| 靖西县| 沈阳市| 磴口县| 察雅县| 浏阳市| 苏州市| 清原| 高雄县| 西和县| 潜山县| 扎鲁特旗| 海南省| 泊头市|