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

4.2 創建數據庫表

數據庫在真正地含有表之前沒有任何用途,下面將介紹表的建立及其相關的操作。

1.在數據庫中建立表

在Visual FoxPro中,一個數據庫可以包含多個表文件,表可分為自由表和數據庫表兩種類型。自由表是為了與以前的版本兼容,自由表作為一個文件單獨存放,不屬于任何數據庫,數據庫表是包含在數據庫中的表,數據庫表增加了數據有效性規則定義等內容。數據庫表和自由表的擴展名均為.dbf。表文件是按關系型結構來組織數據,創建表文件主要應用“表設計器”。

(1)使用“表設計器”創建表

①在數據庫設計器中打開表設計器對話框創建表。在“數據庫設計器”的浮動工具欄中單擊“新建表”按鈕,如圖4-5所示,即可打開“新建表”對話框,如圖4-6所示,再單擊“新建表”按鈕,即可打開“創建”對話框,如圖4-7所示。

圖4-5 單擊“新建表”按鈕

圖4-6 “新建表”對話框

圖4-7 “創建”對話框

②在數據庫設計器中打開快捷菜單創建表。在“數據庫設計器”空白處右擊,彈出快捷菜單,如圖4-8所示。

圖4-8 數據庫設計器中的快捷菜單

再單擊快捷菜單中的“新建表”命令,彈出“新建表”對話框,即可依次打開“創建”對話框和“表設計器”對話框。

在“創建”對話框中輸入表文件名之后,單擊“保存”按鈕,即可打開“表設計器”對話框,如圖4-9所示。

圖4-9 “表設計器”對話框

(2)創建表的結構

①在“字段”選項卡中設置表的字段。“字段”選項卡包括6個子項:名稱、類型、寬度、小數位數、索引和NULL。

a.名稱。即關系的屬性名或表的列名。一個表由若干列(字段)構成,每個列都必須有一個唯一的名字,這個名字就是字段名。字段名必須以漢字、字母和下畫線開頭,由漢字、字母、數字和下畫線組成,數據庫表支持長字段名,字段名最多為128個字符;自由表不支持長字段名,字段名最多為10個字符。當數據庫表轉化為自由表時截去超長部分的字符。字段名不能使用系統的保留字。

b.類型。表示該字段中存放數據的類型。一個字段即二維表中的一列,其中的數據應具有共同的屬性。若存儲的字符超過254,為節省存儲空間可定義為備注型。若要保存圖片或OLE對象,可定義為通用型。備注型和通用型字段的信息都沒有直接存放在表文件中,而是存放在一個與表文件同名的.FPT文件中。

c.寬度。表示該字段所允許存放數據的最大寬度。字段寬度由數據的最大寬度決定,過大浪費存儲空間,過小數據溢出。

d.小數位數。用于設置數值型、整型、雙精度型字段值的小數位數。

字段類型和寬度、小數位數設置參考如表4-1所示。

表4-1 主要字段類型和寬度、小數位數定義參考

e.NULL。用于選擇記錄是否允許為空值,該值是一個邏輯值。空值就是缺值或不確定的值,不能把它理解為任何意義的數據。雙擊字段名與“NULL”交叉處的空白按鈕,即出現√,表示設置了該項字段允許NULL值。

f.索引。是指對表中的有關記錄按照指定的索引關鍵字表達式的值進行升序或降序的排列,并生成一個相應的索引文件。用于設置索引之后,選擇記錄邏輯排序的方式。

例如,“學生信息”的數據表的結構如表4-2所示。

表4-2 表文件“學生信息”的結構信息

結果如圖4-10所示。

圖4-10 表文件“學生信息”的結構

②設置字段的格式、掩碼和標題,如圖4-11所示。

a.格式。設置某個字段的格式,就是要求按照格式來輸入數據,并按照格式來顯示數據。常用格式符的功能用途如表4-3所示。

圖4-11 “表設計器”上面的“顯示”頁框

表4-3 常用格式符的功能用途

說明:格式符能對字段進行“全局”格式化,一旦設置了格式符,該字段值的內容均要按格式要求來輸入。

b.輸入掩碼。掩碼的功能是與格式符相搭配,對字段值進行一對一的格式化。

c.標題。用于設置字段的標題名稱。標題可在瀏覽時顯示出來,標題與字段名稱可以不一致,若兩者相同則不必設置標題。因此,標題可用于顯示數據項的名稱。實際上,可以將字段名稱設為英文,將標題設為中文。例如,如果設置表示學生姓名的字段名為“Name”,同時要求在顯示時顯示中文“姓名”,則可設置該字段的標題為“姓名”。

實際上,用英文設置字段名稱有利于命令方式對表文件進行操作,亦可方便程序設計時的代碼編寫,而設置中文標題又能在瀏覽時按中文顯示表的內容,可謂“一舉兩得”。

【例1】對“學生信息”表結構進行格式化設置,設置字段的格式、掩碼和標題。具體要求如表4-4所示。

表4-4 表“學生信息”結構的格式符與掩碼

在表設計器中設置完成后如圖4-12所示。

圖4-12 “電話”字段的格式與掩碼

【例2】在數據庫中創建表文件Student.dbf,在Student.dbf中設置不同的標題與字段名稱。其中各個字段名稱、類型、寬度的要求如表4-5所示。

表4-5 表Student.dbf的結構

結果如圖4-13所示。

圖4-13 字段的英文名稱與中文標題

表student.dbf創建完畢并存盤,然后單擊“顯示”→“瀏覽”命令,即可顯示該表的標題,如圖4-14所示。

圖4-14 表的中文標題顯示

③字段的有效性規則、信息與默認值。在“表設計器”的“字段有效性”中可以設置字段驗證規則、信息與默認值。

a.字段的驗證規則與錯誤提示信息。字段的規則是字段值應滿足條件的驗證規則,一旦設置了該規則,輸入記錄時就要符合規則,否則會出現驗證出錯提示信息。該信息需要人為地在“信息”文本框中進行設置。

b.字段的默認值。“字段的默認值”是添加記錄時,在該字段自動添加的默認值,所設置默認值的類型必須與字段的數據類型相同。

【例3】設置表student表中的年齡sage的驗證規則及出錯提示信息,如表4-6所示。

表4-6 表“student”中的年齡的驗證規則及出錯提示信息

在表設計器中的“字段有效性”中可以設置字段驗證規則、信息與默認值,如圖4-15所示。

圖4-15 字段有效性設置

當例3中輸入的年齡不滿足驗證規則時,系統將彈出如圖4-16所示的對話框。此時,單擊“還原”按鈕,即可回到正常輸入狀態,重新輸入符合規則要求的數值。

2.自由表

自由表是獨立的表文件,不屬于哪個數據庫文件。創建自由表時,只能設置表的字段,而不能對字段的格式、掩碼、標題、有效性規則、默認值以及NULL值進行設置。

(1)自由表的創建

①菜單操作。單擊“文件”→“新建”命令或直接單擊“常用”工具欄上的“新建”按鈕,彈出“新建”對話框,選擇“表”單選按鈕,如圖4-17所示。

圖4-16 驗證出錯提示信息

圖4-17 “新建”對話框

然后單擊“新建文件”按鈕,即打開“創建”對話框,輸入表文件名,然后單擊“保存”按鈕即打開表設計器。此時的表設計器右面部分是失效的。

②命令操作

格式:

CREATE表文件名

在命令窗口輸入并執行創建命令后,會打開表設計器。然后輸入字段即可。

(2)將自由表添加到數據庫表中

建立數據庫后,就可以向數據庫添加表,可以將自由表添加到數據庫中成為數據庫表。添加表有菜單方式和命令方式兩種方法。

①菜單操作。單擊“文件”→“打開”命令,或者單擊工具欄中的“打開”按鈕,彈出“打開”對話框,在“文件類型”下拉列表中選擇“數據庫(*.dbc)”,選擇要打開的數據庫文件,單擊“打開”按鈕,打開該數據庫,并同時打開數據庫設計器。

單擊“數據庫”→“添加表”命令,或者單擊數據庫設計器工具欄中的“添加表”按鈕,還可以在數據庫設計器中右擊,在彈出的快捷菜單中選擇“添加表”命令,彈出“打開”對話框。

在對話框中選擇要添加到數據庫中的表文件,單擊“確定”按鈕使添加的表成為數據庫表。

②命令操作。

格式:

ADD TABLE[<表文件名>]

指定表名,將系統默認路徑下相應的表文件添加到當前數據庫中,如果不指定表名,則會彈出“添加”對話框,選擇要添加的表文件后,單擊“確定”按鈕即可。

注意:因為一個表同一時間內只能屬于一個數據庫,如果想將一個數據庫移到另一個數據庫中,應先將該表從原數據庫中移去成為自由表,再添加到新的數據庫中。

(3)從數據庫中移去表

如果數據庫中不再需要某個表時,則可以將其從數據庫中移去,使其成為自由表,也可直接將表從磁盤中徹底刪除。移去表主要有菜單方式和命令方式兩種方法。

①菜單操作單擊“文件”→“打開”命令,或者單擊工具欄中的“打開”按鈕,彈出“打開”對話框,在“文件類型”下拉列表中選擇“數據庫(*.dbc)”,選擇要打開的數據庫文件,單擊“打開”按鈕,打開數據庫設計器。

在數據庫設計器中選中要移去或刪除的表,單擊“數據庫”→“移去”命令,或者單擊數據庫設計器工具欄中的“移去表”按鈕,還可以右擊要移除或刪除的表,在彈出的快捷菜單中選擇“刪除”命令,以上操作都會彈出一個對話框,詢問是從數據庫中移去表還是刪除表。如果選擇移去表,則該表成為自由表,相應的表文件仍然保留在磁盤中;如果選擇刪除表,則將該表文件從磁盤中徹底刪除。

②命令操作。

格式:

REMOVE TABLE[<表文件名>][DELETE]

說明:

<表文件名>:指定表名,將當前數據庫中相應的表文件移去或刪除,如果不指定表名,則會彈出“移去”對話框,在對話框中可以選擇要移去的表文件。

DELETE:如果添加該參數,則表示從磁盤上徹底刪除表文件,如果沒有該參數,則表示從數據表中移去該有,使其成為自由表。

另外也可以用DROP TABLE命令來徹底刪除表文件,其格式如下:

DROP TABLE[<表文件名>]

3.打開、關閉表

創建表文件的結構之后,需要一系列后續操作:修改表的結構、輸入或修改數據、對表的記錄進行排序、創建表的索引。這些操作之前都要打開表文件,對表的操作結束之后,就要關閉表文件。

(1)打開表文件

①在項目文件中打開表文件

先打開項目文件(如學生管理.pjx),再依次展開“數據”→“數據庫”→“表”,單擊需要打開的表文件,如圖4-18所示。

圖4-18 在項目管理器中選擇表文件

然后單擊“瀏覽”按鈕,即可打開該表文件并以瀏覽方式顯示記錄(對于新創建的表,記錄是空的);此時若單擊“修改”按鈕,即可打開表設計器,對表的結構信息進行修改。

②以命令方式打開表文件。

打開表文件的命令有:

SET DEFAULT TO盤符\路徑  &&用于設置文件查找路徑

USE表文件名[SHARED] [NOUPDATE]  &&打開表文件

說明:

[SHARED]:以只讀方式打開。

[NOUPDATE]:打開后不可進行更新操作。

③打開自由表。單擊“文件”→“打開(O)”命令或直接點擊“常用”工具欄上的“打開”按鈕,彈出“打開”對話框,如圖4-19所示。

圖4-19 “打開”對話框

a.文件類型:用于指定打開文件的類型。打開表文件,需要將文件類型設為“表(*.dbf)”。

b.查找范圍:用于查找表文件所在路徑。

文件名:用于直接輸入打開的文件名。

c.以只讀方式打開:只讀方式是指打開表文件后,只能看瀏覽不能修改。若想修改表結構或是添加、修改、刪除記錄,則此項不可以選。

d.獨占方式打開:在網絡環境下以獨占方式打開一個共享的表,單機系統下此項不選。

(2)關閉表

關閉表的方法有以下幾種:

①關閉數據庫文件。關閉數據庫文件即關閉其中所有的表文件。

②關閉表文件的相關命令。

4.修改數據表的結構

對于已經創建的表文件,可根據需要修改表的結構信息進行修改。

(1)命令方式

格式:MODIFY STRUCTURE

功能:將當前已打開的表文件的表設計器打開并進行修改。

說明:要修改表結構必須要先打開需要修改結構的表文件。如果當前工作區中沒有已打開的數據庫,執行此命令時系統會彈出“打開”對話框,以便用戶選擇需要修改表結構的文件名及路徑等信息,用戶選擇完成后,系統將彈出表設計器對話框。

主要有增加、修改、刪除和移動幾種操作。

①增加字段:將光標移至需插入位置上的字段上,單擊“插入”按鈕或按快捷鍵【Alt+I】,在該位置上出現一個新字段,原位置以下的各字段均下移一行。確定增加字段的字段名、字段類型、字段寬度等參數,單擊“確定”按鈕即可。

②修改字段:將光標定位在需要修改處,編輯修改,完成后單擊“確定”按鈕即可。

③刪除字段:將光標移至需刪除的字段上,單擊“刪除”按鈕或按快捷鍵【Alt+D】,在該位置上的字段被刪除,原位置以下各字段均上移一行。單擊“確定”按鈕即可。

④移動字段:將光標移至需移動位置的字段上,拖動字段名前的按鈕,出現一個虛框,當虛框出現在目標位置上時松開鼠標,移動完成,單擊“確定”按鈕即可。

表結構的變化要影響表記錄數據,無論是何種修改,單擊“確定”按鈕后,都要出現對話框由用戶確認修改是否有效。

如果修改表結構完成后出現了數據丟失現象,或者對其不滿意,可利用備份文件將表恢復到修改前的狀態,方法是先將新的表文件刪除掉,再將備份文件的擴展名.BAK改為表文件擴展名.DBF,將備注備份文件擴展名.TBK改為備注文件的擴展名.FPT。

(2)利用數據庫設計器

在數據庫設計器中選中需要修改的表文件,再單擊“數據庫”→“修改”命令,具體的修改方法與命令方式相同。

(3)利用項目管理器

在項目管理器中選中需要修改的表文件,再單擊“項目”→“修改”命令或單擊項目管理器中的“修改”按鈕。

表結構修改完畢,注意單擊表設計器上面的“確定”按鈕,此時會顯示一個警告提示對話框,如圖4-20所示。

圖4-20 修改表結構后存盤警告對話框

主站蜘蛛池模板: 蒲江县| 东宁县| 宁安市| 鄂伦春自治旗| 兴隆县| 漳平市| 甘肃省| 滦南县| 舒兰市| 滁州市| 土默特左旗| 诏安县| 浦东新区| 竹山县| 乌兰县| 九龙城区| 延长县| 沁阳市| 靖安县| 辽中县| 西安市| 三原县| 璧山县| 淳安县| 永年县| 京山县| 西乌珠穆沁旗| 长武县| 乾安县| 宝清县| 岐山县| 临泉县| 湖南省| 海盐县| 和田县| 隆林| 资溪县| 叙永县| 凤翔县| 府谷县| SHOW|