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