計算機等級考試二級VF考前鞏固:第3章
1 新建:(1)鼠標操作:“文件”→“新建” →勾選“數據庫” →“新建文件”。
(2)命令操作:Create database [數據庫名]
★當“數據庫名”省略時,會彈出創(chuàng)建對話框。
(3)安全檢查:set safety on/off (新建數據庫與原數據庫重名時,是否詢問)
★用鼠標操作會自動打開數據庫設計器 ★而命令操作僅僅是創(chuàng)建數據庫,不直接出現該設計器。
2 打開:(1)鼠標操作:“文件”→“打開” →在文件類型中選“數據庫”。
(2)命令操作:open database [數據名]………………..
★當“數據庫名”省略時,會彈出打開對話框。
省略號處是一些可選項,可選項如下:
⊙EXCLUSIVE | SHARED:以獨占方式打開 | 以共享方式打開。
⊙NOUPDATE:以只讀方式打開。
默認值(即不寫noupdate)是以讀/寫方式,也為共享方式。
★以上可選項若在鼠標操作方式時都可以在‘打開’對話框中設置
★為何要有‘獨占’數據庫?只有在獨占的方式下才能清理數據庫
★用鼠標方式打開會同時打開數據庫設計器 ★而命令操作僅僅是打開數據庫,也不直接出現該設計器。
3 修改:(1)鼠標操作:等同于‘打開’操作
(2)命令操作:modify database [數據庫名] ………
★當“數據庫名”省略時,則對當前數據庫進行修改。
省略號處是一些可選項,可選項如下:
⊙NOWAIT:在程序中使用,打開數據庫設計器后不暫停,主要為了程序連貫,實現無人職守。
⊙NOEDIT:只打開數據庫設計器,禁止對其進行修改
★其實一條modify database就可以完成:
Create database + open database +moddify database 三條命令的功能
4 關閉:(1)鼠標操作:單擊數據庫設計器右上角的“ ”。僅僅只是隱藏該數據庫,不是真正的關閉
(2)命令操作:close database
注意:這里后面不能加數據庫名,他的作用就只是關閉當前數據庫
★當已經打開多個數據庫時,若想關閉其他的數據庫,可以設置它為當前數據庫即可,方法有:
(1)鼠標操作:在工具欄的數據庫下拉框中直接選
(2)命令操作:set database to [數據庫名]
★如不加名字,就會把所有都設置為非當前數據庫
★close all 關閉所有文件
5 刪除:(1)鼠標操作:打開項目管理器→“數據”選項卡→單擊“數據庫”前面的‘+’號→在其中選中目標數據庫→單擊“移去”。
(2)命令操作:DELETE DATABASE 數據庫名……
省略號處是一些可選項,可選項如下:
⊙deletetables:刪除數據庫的同時把其中所含表也刪除。
⊙recycle:將被刪除的文件暫時放于回收站,以后要是后悔,還可以還原。
★鼠標操作無法在刪除數據庫的同時刪除表。
★如果安全檢查設置為set safety on會提示“真的刪除嗎”。關于表
表分為數據庫表和自由表 不論哪種表都是由結構部分和內容部分組合而成的。
一 關于數據庫表:
在某個數據庫處于打開狀態(tài)并且是當前數據庫時,創(chuàng)建的表就是此數據庫的一個數據庫表。
結構部分
創(chuàng)建數據庫表
①鼠標操作:打開數據庫設計器,在這里面任意位置右擊,選擇“新建表”。
②命令操作: open database [數據庫名]
Create [表名]
★以上不論哪一種操作,都會自動彈出“表設計器”。
表設計器的作用是對表的結構進行創(chuàng)建或修改。
表設計器的打開與修改:①鼠標操作:打開數據庫設計器,在里面找到進行結構修改的表,
在那張表上右擊選擇“修改”。
②命令操作:use [表名]
Modify structure
表設計器的內容:見書P101
內容部分
表的結構設計完成確定后,會自動詢問是否打開“瀏覽器”進行輸入數據。
表瀏覽器的作用是對表的內容進行創(chuàng)建或修改。
表瀏覽器的打開:①鼠標操作:打開數據庫設計器,在里面找到進行結構修改的表,
在那張表上右擊選擇“瀏覽”。
、诿畈僮鳎篣se [表名]
Browse
一些常用的內容修改:
Ⅰ 增加記錄:(1)在表的尾部增加記錄:
、偈髽瞬僮鳎猴@示/追加方式
②命令操作:A)append 需要立刻輸入記錄值
B)append blank 在表尾加一空行 再用edit,change,browse或replace更改
(2) 在表的任意位置插入記錄:insert ……
省略號處是一些可選項,可選項如下:
、 before 如果要在當前選中的記錄之前插入一條新記錄,就在insert后加上before,不加就會在當前記錄之后插入新記錄。
、 blank 在指定的記錄之前或之后插入一條空白記錄。
★如果表是建立了主索引或候選索引,則不能用以上的 APPEND或INSERT命令插入記錄,而必須用SQL的命令語句(見第四章)。
、 刪除記錄:(1) 邏輯刪除(置刪除標記)
①鼠標操作:在要刪除的記錄行首直接打上黑塊標記
、诿畈僮鳎篸elete [for 條件]
★如果不跟條件,則只邏輯刪除當前記錄;否則邏輯刪除滿足條件的記錄。
★邏輯刪除記錄,不是真正的從表中刪除了,以后要是后悔,還可以恢復。
Delete all 邏輯刪除所有記錄
(2)恢復記錄(只能恢復邏輯刪除的記錄)
①鼠標操作:把要恢復的記錄行首的黑塊去掉
、诿畈僮鳎簉ecall [for 條件]
★如果不跟條件,則只恢復當前記錄(如果當前記錄沒有刪除標記,則該命令什么事也不做);否則恢復滿足條件的記錄。
recall all 恢復所有記錄
(3) 物理刪除:pack只刪除前面有黑塊的記錄行。
(4)物理刪除表中全部記錄行:①ZAP(會彈出一個詢問對話框)。
ZAP就相當于delete all+pack
、 修改記錄:(1)鼠標操作:打開表瀏覽器直接修改。
(2)命令方式:
、儆胑dit或 change修改當前一條記錄和 skip 配合使用。
、谟袟l件修改(滿足條件的記錄行才進行修改,其他行不變):
Replace [ all ] 字段名 with 表達式 [for 表達式]
★如果跟上[for 表達式],則是對滿足條件的記錄行才進行修改。
★在不跟[for 表達式]情況下,如果跟上[ all ],則是對所有記錄進行修改。
★如果[ all ] 和[for 表達式]都不指定,則是對表中的當前記錄進行修改。
、 顯示記錄:list/display [字段名列表] [for 表達式]
★ 不使用條件時,LIST默認顯示全部記錄,而DISPLAY則默認顯示當前記錄。
★ 指定條件時,LIST和DISPLAY功能相同。
、 查詢定位:(1)鼠標操作:打開表瀏覽器,用鼠標直接選中目標記錄行。
(2)命令操作:① goto/go [記錄號/top/bottom]
②skip [數字]
、 locate for 表達式………… continue
二 關于自由表
結構部分
(1)創(chuàng)建自由表:在沒有任何數據庫打開的狀態(tài)下,新建的表就是自由表。
、偈髽瞬僮鳎骸拔募薄靶陆ā → 選擇“表” →單擊“新建文件”
、诿畈僮鳎篶reate [表名]
(2)修改:(自由表的表設計器的使用)
①鼠標操作:“文件”→“打開” → “顯示” →“表設計器”。
、诿畈僮鳎簎se [表名]
Modify structure
內容部分(自由表的瀏覽器的使用)
、偈髽瞬僮鳎骸拔募薄按蜷_”→“顯示”→“瀏覽xx表”。
、诿畈僮鳎簎se [表名]
Browse三 自由表和數據庫表之間的轉換
1 自由表→數據庫表:打開數據庫設計器→在里面空白處右擊→選擇“添加表”。
2 數據庫表→自由表:打開數據庫設計器→在要轉換的表上右擊→選“刪除”。
在彈出的對話框中根據題目選擇‘移去’或‘刪除’
關于索引:
索引就像目錄:目的是為了便于快速查詢數據;索引是對表中記錄按某種邏輯順序重新排列。
1 分類:①主索引:字段或表達式不允許有重復值,且一個表只能有一個主索引,只有數據庫表才可以建。
②侯選索引:字段或表達式不允許有重復值,但一個表可以有多個侯選索引。
、畚ㄒ凰饕鹤侄位虮磉_式允許有重復值,但重復的值只出現一次,
一個表中可以有多個唯一索引。
、芷胀ㄋ饕鹤侄位虮磉_式允許有重復值 ,一個表可以有多個普通索引。
2 創(chuàng)建:
I 鼠標操作:①打開此表的表設計器,選擇要建立索引的字段,在其同行的‘索引’那一列中,按照題目要求選‘升序’或‘降序’(題目若無要求,則選“升序”)。
、邳c擊 ‘索引’選項卡,在其中的‘索引類型’中按照題目要求
進行填寫。
、 命令操作建立索引:
Index on 表達式(字段名) tag索引名……
省略號處是一些可選項,可選項如下:
、賃NIQUE 唯一索引
、贑ANDIDATE 候選索引
③什么都不跟就是 普通索引
★命令操作無法建立主索引
3 索引的擴展名:
、 .idx 非結構單索引
、 .cdx(非默認名) 非結構復合索引
③ .cdx(與表同名) 結構復合索引
4 使用索引:
、 set index to [索引文件名] 打開索引文件
、 set order to 索引序號/索引名 設置當前索引
、 delete tag 索引名/all 刪除索引
關于表間的永久聯(lián)系
A表和B表建立永久聯(lián)系:找到A和B的共同字段XXX ,以XXX為索引表達式在A表中建立一個主索引 ,在B表中建立一個普通索引 ,從主索引拖到普通索引即可。
關于參照完整性約束
★插入規(guī)則 ★更新規(guī)則 ★刪除規(guī)則
注:插入規(guī)則無“級聯(lián)”。
關于多工作區(qū)
1 指定工作區(qū):select 工作區(qū)號/表名
選擇當前未被使用的最小工作區(qū):select 0
★ VFP中一次最多可以同時打開32767個表, 因為同時只能打開32767個工作區(qū) ,就是說一個工作區(qū)只能同時打開一個表。
2 使用不同工作區(qū)的表:
in 工作區(qū)號/表名
例:seek 表達式 order 索引名 in 工作區(qū)號/表名
3 表間的臨時聯(lián)系: ★set relation
例子:use 學生 in 1 order 學號
use 成績 in 2 order 學號
set relation to 學號 into 成績
關于排序
將表中記錄物理地按順序排列:
sort to 新表名 on 字段名 [/A|/D][/C]