版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、可視化程序設(shè)計(jì)可視化程序設(shè)計(jì)Visual FoxPro 數(shù)據(jù)庫(kù)表課件可視化程序設(shè)計(jì)可視化程序設(shè)計(jì)Visual FoxPro 第第3章章 數(shù)據(jù)表與數(shù)據(jù)庫(kù)數(shù)據(jù)表與數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)表課件表文件的擴(kuò)展名為表文件的擴(kuò)展名為.DBF,每個(gè)表都由其,每個(gè)表都由其表結(jié)構(gòu)表結(jié)構(gòu)和和表記表記錄錄兩部分組成。兩部分組成。表結(jié)構(gòu)表結(jié)構(gòu)(Tabel Structure)是存儲(chǔ)表記錄的數(shù)據(jù)存放)是存儲(chǔ)表記錄的數(shù)據(jù)存放形式以及存貯的順序,也就是指一張表的表頭結(jié)構(gòu),形式以及存貯的順序,也就是指一張表的表頭結(jié)構(gòu),即字段的基本屬性。即字段的基本屬性。記錄記錄(Record)是表中的一行,它是用來(lái)記錄每個(gè)個(gè))是表中的一行,它是用來(lái)記
2、錄每個(gè)個(gè)體屬性的集合。表記錄是表所要保存的數(shù)據(jù)主體。體屬性的集合。表記錄是表所要保存的數(shù)據(jù)主體。1 表的創(chuàng)建表的創(chuàng)建Visual FoxPro表文件的擴(kuò)展名是表文件的擴(kuò)展名是.DBF。【格式】【格式】CREATE 表文件名表文件名.dbf 【功能】創(chuàng)建表的結(jié)構(gòu)【功能】創(chuàng)建表的結(jié)構(gòu) 1.1 表結(jié)構(gòu)的創(chuàng)建表結(jié)構(gòu)的創(chuàng)建例例1 創(chuàng)建學(xué)生表結(jié)構(gòu)創(chuàng)建學(xué)生表結(jié)構(gòu)在在D盤(pán)下建立一個(gè)新文件夾盤(pán)下建立一個(gè)新文件夾在在Visual FoxPro的命令窗口中輸入:的命令窗口中輸入: CREATE 職工基本情況表職工基本情況表v設(shè)計(jì)好表結(jié)構(gòu)后,在表設(shè)計(jì)器對(duì)話框中單擊【確定】按鈕,設(shè)計(jì)好表結(jié)構(gòu)后,在表設(shè)計(jì)器對(duì)話框中單擊【
3、確定】按鈕,則會(huì)彈出一個(gè)對(duì)話框,詢問(wèn)你現(xiàn)在是否輸入數(shù)據(jù)記錄。如果則會(huì)彈出一個(gè)對(duì)話框,詢問(wèn)你現(xiàn)在是否輸入數(shù)據(jù)記錄。如果你選擇【是(你選擇【是(Y)】,則彈出)】,則彈出【輸入記錄輸入記錄】對(duì)話框讓你輸入數(shù)對(duì)話框讓你輸入數(shù)據(jù)記錄。據(jù)記錄。設(shè)計(jì)表結(jié)構(gòu)設(shè)計(jì)表結(jié)構(gòu)字段類型字段類型最大寬度最大寬度(字節(jié))(字節(jié))說(shuō)明說(shuō)明字符型(字符型(C)254字母、數(shù)字和漢字等一切可打印的字母、數(shù)字和漢字等一切可打印的ASCII字符。如學(xué)生姓名字符。如學(xué)生姓名數(shù)值型(數(shù)值型(N)20整數(shù)或小數(shù)。如學(xué)生的入學(xué)成績(jī)整數(shù)或小數(shù)。如學(xué)生的入學(xué)成績(jī)邏輯型(邏輯型(L)1值為真或假。如是否為黨員值為真或假。如是否為黨員日期型(日期
4、型(D)8由年、月、日構(gòu)成。如學(xué)生的出生年月由年、月、日構(gòu)成。如學(xué)生的出生年月日期時(shí)間型(日期時(shí)間型(T)8由年、月、日、時(shí)、分、秒構(gòu)成。如學(xué)生上課時(shí)間由年、月、日、時(shí)、分、秒構(gòu)成。如學(xué)生上課時(shí)間貨幣型(貨幣型(Y)8貨幣單位。如商品價(jià)格貨幣單位。如商品價(jià)格通用型(通用型(G)4OLE對(duì)象(存儲(chǔ)聲音、圖像、字處理文檔、電子表格等)對(duì)象(存儲(chǔ)聲音、圖像、字處理文檔、電子表格等)備注型(備注型(M)4不定長(zhǎng)的字母、數(shù)字、文本,如學(xué)生的個(gè)人簡(jiǎn)歷不定長(zhǎng)的字母、數(shù)字、文本,如學(xué)生的個(gè)人簡(jiǎn)歷擴(kuò)展名擴(kuò)展名.FTPNULL值(空值)值(空值)NULL值是指沒(méi)有值或是沒(méi)有確定的值。值是指沒(méi)有值或是沒(méi)有確定的值。
5、NULL值不等于零或空格,如:把某值不等于零或空格,如:把某一商品的價(jià)格設(shè)置為空值,表示該商品暫無(wú)定價(jià);而把某一商品的價(jià)格設(shè)置一商品的價(jià)格設(shè)置為空值,表示該商品暫無(wú)定價(jià);而把某一商品的價(jià)格設(shè)置為為0,表示該商品免費(fèi)。,表示該商品免費(fèi)。例題:例題: 1.1.2 50.11打開(kāi)表打開(kāi)表USE |?若要對(duì)表進(jìn)行編若要對(duì)表進(jìn)行編輯操作必須選定輯操作必須選定”獨(dú)占獨(dú)占”復(fù)選框復(fù)選框EXCLUSIVE表的基本操作表的基本操作2關(guān)閉表關(guān)閉表USE:關(guān)閉當(dāng)前打開(kāi)的表。關(guān)閉當(dāng)前打開(kāi)的表。CLOSE ALL:關(guān)閉所有工作區(qū)中打開(kāi)的文件。選擇工作區(qū)關(guān)閉所有工作區(qū)中打開(kāi)的文件。選擇工作區(qū)1為當(dāng)前工作區(qū)為當(dāng)前工作區(qū).C
6、LOSE DATABASE:關(guān)閉當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)文件、表文件關(guān)閉當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)文件、表文件和索引文件等。和索引文件等。QUIT:關(guān)閉所有文件,退出系統(tǒng)關(guān)閉所有文件,退出系統(tǒng) 3顯示表結(jié)構(gòu)顯示表結(jié)構(gòu)LIST|DISPLAY STRUCTURE【例】顯示【例】顯示“學(xué)生學(xué)生”表的表結(jié)構(gòu)。表的表結(jié)構(gòu)。USE學(xué)生學(xué)生LIST STRUCTURE比各個(gè)字段寬度比各個(gè)字段寬度和多一個(gè)和多一個(gè),存儲(chǔ)刪存儲(chǔ)刪除標(biāo)記除標(biāo)記4.記錄的瀏覽記錄的瀏覽LIST|DISPLAY OFF FIELDS FOR TO PRINTER|TO FILE 顯示當(dāng)前記錄表中部分記錄和字段的內(nèi)容。顯示當(dāng)前記錄表中部分記錄和字段的內(nèi)
7、容。指記錄的操作范圍,可在下列短語(yǔ)中選擇:指記錄的操作范圍,可在下列短語(yǔ)中選擇:ALL:全部記錄;全部記錄;NEXT :包括當(dāng)前記錄在內(nèi)的包括當(dāng)前記錄在內(nèi)的n個(gè)記錄;個(gè)記錄;RECORD :第第n個(gè)記錄;個(gè)記錄;REST:從當(dāng)前記錄開(kāi)始余下的所有記錄。從當(dāng)前記錄開(kāi)始余下的所有記錄。OFF:不顯示記錄號(hào)。不顯示記錄號(hào)。5修改表結(jié)構(gòu)修改表結(jié)構(gòu) MODIFY STRUCTURE6復(fù)制表結(jié)構(gòu)復(fù)制表結(jié)構(gòu)COPY STRUCTURE TO FIELDS 將當(dāng)前數(shù)據(jù)表的結(jié)構(gòu)復(fù)制到新的表文件中。將當(dāng)前數(shù)據(jù)表的結(jié)構(gòu)復(fù)制到新的表文件中。7復(fù)制表記錄復(fù)制表記錄COPY TO FIELDS FOR將當(dāng)前數(shù)據(jù)表中指定范
8、圍內(nèi)滿足條件的記錄復(fù)制到指定表文件中。將當(dāng)前數(shù)據(jù)表中指定范圍內(nèi)滿足條件的記錄復(fù)制到指定表文件中。VFP命令命令:(先打開(kāi)數(shù)據(jù)庫(kù)先打開(kāi)數(shù)據(jù)庫(kù))Use 銷售表銷售表Copy to 銷售表銷售表2001 for 日期日期=2000.12.31VFP命令命令:Use employeeCopy structure to emp_bakSQL命令命令select * from 銷售表銷售表 into dbf 銷售表銷售表2001 where 日期日期=2000-12-31SQL命令命令:sele * from employee where .f. into table emp_bak APPEND BLA
9、NK向打開(kāi)的表文件末尾添加新記錄。向打開(kāi)的表文件末尾添加新記錄。BLANK:追加一條空白記錄。追加一條空白記錄。8.輸入記錄輸入記錄APPEND FROM FIELDS FOR從指定表文件中讀取數(shù)據(jù)并追加到當(dāng)前表文件末尾從指定表文件中讀取數(shù)據(jù)并追加到當(dāng)前表文件末尾INSERT BEFORE BLANK在當(dāng)前表中插入一條新記錄。在當(dāng)前表中插入一條新記錄。(1)BEFORE:在當(dāng)前記錄前插入。:在當(dāng)前記錄前插入。(2)BLANK:插入一條空白記錄。:插入一條空白記錄。(1)GO|GOTO 記錄號(hào)記錄號(hào) 將記錄指針定位于指定的記錄。將記錄指針定位于指定的記錄。 GO|GOTO TOP|BOTTOM
10、將記錄指針定位到首記錄或末記錄。將記錄指針定位到首記錄或末記錄。(2)SKIP 從當(dāng)前記錄開(kāi)始向上或向下移動(dòng)若干個(gè)記錄。從當(dāng)前記錄開(kāi)始向上或向下移動(dòng)若干個(gè)記錄。(3)LOCATE FOR 在指定的范圍內(nèi),按記錄的順序從上向下查找滿足條件的在指定的范圍內(nèi),按記錄的順序從上向下查找滿足條件的第一條第一條記錄。記錄。 CONTINUE 與與LOCATE命令連用,繼續(xù)查找滿足條件的下一條記錄。命令連用,繼續(xù)查找滿足條件的下一條記錄。9.記錄指針定位記錄指針定位 相關(guān)函數(shù)相關(guān)函數(shù)RECNO():獲得當(dāng)前記錄的記錄號(hào)。獲得當(dāng)前記錄的記錄號(hào)。BOF():測(cè)試記錄指針是否指向表文件首。測(cè)試記錄指針是否指向表文
11、件首。EOF():測(cè)試記錄指針是否指向表文件尾。測(cè)試記錄指針是否指向表文件尾。首記錄首記錄TOP尾記錄尾記錄BOTTOM首首標(biāo)標(biāo)記記尾尾標(biāo)標(biāo)記記當(dāng)當(dāng)前前記記錄錄首標(biāo)記:首標(biāo)記:BOF()為為.T.,其余為其余為.F.在首記錄和首標(biāo)記處在首記錄和首標(biāo)記處,RECNO()的返回值都是的返回值都是1尾標(biāo)記:尾標(biāo)記:EOF()為為.T.,其余為其余為.F.在尾記錄處,在尾記錄處,RECNO()=N在尾標(biāo)記處,在尾標(biāo)記處,RECNO()=N+1REPLACE REPLACE 范圍范圍 WITH WITH 1 , WITH WITH 2, FOR FOR在指定范圍內(nèi)滿足條件的記錄中,用表達(dá)式的值替換對(duì)應(yīng)的
12、字在指定范圍內(nèi)滿足條件的記錄中,用表達(dá)式的值替換對(duì)應(yīng)的字段值。缺省段值。缺省“范圍范圍”時(shí),默認(rèn)對(duì)時(shí),默認(rèn)對(duì)當(dāng)前當(dāng)前記錄操作。記錄操作。REPLACE ALL 工資工資 WITH 工資工資+20 FOR 性別性別= 女女10.10.修改記錄修改記錄REPLACE 年齡年齡 WITH 年齡年齡+111.記錄的刪除記錄的刪除1 1邏輯刪除邏輯刪除: :給指定的記錄添加刪除標(biāo)記給指定的記錄添加刪除標(biāo)記“* *”,并不真正刪除記錄。,并不真正刪除記錄。DELETE 范圍范圍 FORDELETE FOR 性別性別=男男2 2恢復(fù)邏輯刪除記錄恢復(fù)邏輯刪除記錄 將邏輯刪除記錄恢復(fù)為正常記錄,即去掉刪除標(biāo)記將
13、邏輯刪除記錄恢復(fù)為正常記錄,即去掉刪除標(biāo)記“* *”。 RECALL RECALL FOR|WHILEFOR|WHILE RECALL ALL RECALL ALL3物理刪除記錄物理刪除記錄PACK 將當(dāng)前表文件中被邏輯刪除的記錄全部徹底刪除。將當(dāng)前表文件中被邏輯刪除的記錄全部徹底刪除。4一次性刪除所有記錄一次性刪除所有記錄: ZAP 將當(dāng)前表中的記錄全部徹底刪除。將當(dāng)前表中的記錄全部徹底刪除。VFPUse 銷售表銷售表Delete for 日期日期2000/12/31packSQLDelete from 銷售表銷售表 where 日期日期2000/12/31Use 銷售表銷售表pack例題:
14、例題:51.129.3數(shù)據(jù)庫(kù)的創(chuàng)建與操作數(shù)據(jù)庫(kù)的創(chuàng)建與操作 數(shù)據(jù)庫(kù)是相關(guān)表的集合,一個(gè)數(shù)據(jù)庫(kù)可以包含一個(gè)或數(shù)據(jù)庫(kù)是相關(guān)表的集合,一個(gè)數(shù)據(jù)庫(kù)可以包含一個(gè)或多個(gè)擴(kuò)展名為多個(gè)擴(kuò)展名為.DBF的表。的表。 建立數(shù)據(jù)庫(kù)就是建立一個(gè)擴(kuò)展名為建立數(shù)據(jù)庫(kù)就是建立一個(gè)擴(kuò)展名為.DBC的文件的文件; 自動(dòng)建立一個(gè)擴(kuò)展名為自動(dòng)建立一個(gè)擴(kuò)展名為.DCT的數(shù)據(jù)庫(kù)備注文件的數(shù)據(jù)庫(kù)備注文件; 擴(kuò)展名為擴(kuò)展名為.DCX的數(shù)據(jù)庫(kù)索引文件的數(shù)據(jù)庫(kù)索引文件。數(shù)據(jù)庫(kù)建立數(shù)據(jù)庫(kù)建立添加表文件、刪除表文件、移去表文件添加表文件、刪除表文件、移去表文件有效性規(guī)則有效性規(guī)則索引索引連接連接參照完整性參照完整性CREATE DATABASE
15、CREATE DATABASE |?|?打開(kāi)數(shù)據(jù)庫(kù)打開(kāi)數(shù)據(jù)庫(kù)OPEN DATABASE OPEN DATABASE |?|? 建立數(shù)據(jù)庫(kù)建立數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)MODIFY DATABASE MODIFY DATABASE |?|?關(guān)閉數(shù)據(jù)庫(kù)關(guān)閉數(shù)據(jù)庫(kù)CLOSE DATABASE CLOSE DATABASE 關(guān)閉當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)和數(shù)據(jù)表。關(guān)閉當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)和數(shù)據(jù)表。DELETE DATABASE |? DELETETABLES RECYCLE在刪除數(shù)據(jù)庫(kù)的同在刪除數(shù)據(jù)庫(kù)的同時(shí)刪除表(時(shí)刪除表(.DBF)等對(duì)象。等對(duì)象。將刪除的數(shù)據(jù)庫(kù)文件將刪除的數(shù)據(jù)庫(kù)文件和表文件等放入和表文件等放入W
16、indows回收站中?;厥照局?。刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)表數(shù)據(jù)庫(kù)表屬于某個(gè)數(shù)據(jù)庫(kù)的表稱為屬于某個(gè)數(shù)據(jù)庫(kù)的表稱為數(shù)據(jù)庫(kù)表數(shù)據(jù)庫(kù)表。在建立表時(shí)如果數(shù)據(jù)庫(kù)是打開(kāi)的,則建立的表為數(shù)據(jù)庫(kù)表;在建立表時(shí)如果數(shù)據(jù)庫(kù)是打開(kāi)的,則建立的表為數(shù)據(jù)庫(kù)表;如果數(shù)據(jù)庫(kù)是關(guān)閉的,則建立的表為自由表。如果數(shù)據(jù)庫(kù)是關(guān)閉的,則建立的表為自由表。新建數(shù)據(jù)庫(kù)表新建數(shù)據(jù)庫(kù)表建立數(shù)據(jù)庫(kù)表與建立自由表方法基本相同,需要注意的是:建立數(shù)據(jù)庫(kù)表與建立自由表方法基本相同,需要注意的是:建立數(shù)據(jù)庫(kù)表之前要建立數(shù)據(jù)庫(kù)表之前要先打開(kāi)從屬的數(shù)據(jù)庫(kù)先打開(kāi)從屬的數(shù)據(jù)庫(kù)。向數(shù)據(jù)庫(kù)中添加自由表向數(shù)據(jù)庫(kù)中添加自由表 數(shù)據(jù)表只能屬于一個(gè)數(shù)據(jù)庫(kù)。數(shù)據(jù)表只能屬于一
17、個(gè)數(shù)據(jù)庫(kù)。ADD TABLEADD TABLE|?NAME|?NAME在當(dāng)前數(shù)據(jù)庫(kù)中添加指定的表。在當(dāng)前數(shù)據(jù)庫(kù)中添加指定的表。長(zhǎng)表名長(zhǎng)表名: :最多最多128128個(gè)字符個(gè)字符從數(shù)據(jù)庫(kù)中移去或刪除表從數(shù)據(jù)庫(kù)中移去或刪除表REMOVE TABLE REMOVE TABLE |?DELETE|?DELETE將指定的表從數(shù)據(jù)庫(kù)中移出。將指定的表從數(shù)據(jù)庫(kù)中移出。DELETE:DELETE:移出表的同時(shí)將該表從磁盤(pán)上刪除。移出表的同時(shí)將該表從磁盤(pán)上刪除。例例:使數(shù)據(jù)表變成自由表的命令使數(shù)據(jù)表變成自由表的命令: A. DROP TABLE B. REMOVE TABLE C. FREE TABLE D.
18、RELEASE TABLE注意注意:表從數(shù)據(jù)庫(kù)中移出表從數(shù)據(jù)庫(kù)中移出,則與之關(guān)聯(lián)的所有主索引、默認(rèn)值和規(guī)則與之關(guān)聯(lián)的所有主索引、默認(rèn)值和規(guī)則都消失。則都消失。如果表定義了長(zhǎng)表名,移出后,長(zhǎng)表名也消失。如果表定義了長(zhǎng)表名,移出后,長(zhǎng)表名也消失。設(shè)置數(shù)據(jù)庫(kù)表的屬性設(shè)置數(shù)據(jù)庫(kù)表的屬性 數(shù)據(jù)庫(kù)表具有自由表所沒(méi)有的一些屬性,如字段的顯示屬性、有效數(shù)據(jù)庫(kù)表具有自由表所沒(méi)有的一些屬性,如字段的顯示屬性、有效性規(guī)則以及觸發(fā)器等。這些屬性在數(shù)據(jù)庫(kù)表的表設(shè)計(jì)器中設(shè)置性規(guī)則以及觸發(fā)器等。這些屬性在數(shù)據(jù)庫(kù)表的表設(shè)計(jì)器中設(shè)置 用于檢驗(yàn)用戶輸入到某個(gè)用于檢驗(yàn)用戶輸入到某個(gè)字段中的數(shù)據(jù)是否有效。字段中的數(shù)據(jù)是否有效。對(duì)輸入
19、數(shù)據(jù)有效性檢查對(duì)輸入數(shù)據(jù)有效性檢查的條件,邏輯表達(dá)式,的條件,邏輯表達(dá)式,結(jié)果為真或假。結(jié)果為真或假。 當(dāng)該字段不符合當(dāng)該字段不符合規(guī)則時(shí),顯示的規(guī)則時(shí),顯示的錯(cuò)誤提示信息錯(cuò)誤提示信息 ,錯(cuò)誤信息必須加錯(cuò)誤信息必須加定界符定界符輸入記錄時(shí),輸入記錄時(shí),該字段的初該字段的初始值始值 數(shù)據(jù)庫(kù)表與自由表的區(qū)別:數(shù)據(jù)庫(kù)表與自由表的區(qū)別:(1)數(shù)據(jù)庫(kù)表可以使用長(zhǎng)表名和長(zhǎng)字段名()數(shù)據(jù)庫(kù)表可以使用長(zhǎng)表名和長(zhǎng)字段名(128)個(gè)字符,)個(gè)字符,自由表是短文件名,字段名的最大長(zhǎng)度是自由表是短文件名,字段名的最大長(zhǎng)度是10個(gè)字符。個(gè)字符。(2)可以為數(shù)據(jù)庫(kù)表設(shè)置字段級(jí)規(guī)則和記錄級(jí)規(guī)則,自由)可以為數(shù)據(jù)庫(kù)表設(shè)置字段
20、級(jí)規(guī)則和記錄級(jí)規(guī)則,自由表不能。表不能。(3)數(shù)據(jù)庫(kù)表可設(shè)置主索引、候選索引、唯一索引和普通)數(shù)據(jù)庫(kù)表可設(shè)置主索引、候選索引、唯一索引和普通索引,參照完整性和表之間的關(guān)聯(lián),自由表只能設(shè)置候選索引,參照完整性和表之間的關(guān)聯(lián),自由表只能設(shè)置候選索引、唯一索引和普通索引。索引、唯一索引和普通索引。索引后索引后索引文索引文件件索引的類型索引的類型(1)按功能分:)按功能分:索引類型索引類型功能功能建立索引建立索引的個(gè)數(shù)的個(gè)數(shù)主索引主索引指定的字段或表達(dá)式中指定的字段或表達(dá)式中不允許出現(xiàn)重復(fù)值不允許出現(xiàn)重復(fù)值,只,只能在能在數(shù)據(jù)庫(kù)表數(shù)據(jù)庫(kù)表中建立中建立1個(gè)個(gè)候選索引候選索引指定的字段或表達(dá)式中不允許出現(xiàn)
21、重復(fù)值,在指定的字段或表達(dá)式中不允許出現(xiàn)重復(fù)值,在數(shù)據(jù)庫(kù)表和自由表數(shù)據(jù)庫(kù)表和自由表中都可以建立中都可以建立多個(gè)多個(gè)惟一索引惟一索引允許指定的字段或表達(dá)式存在重復(fù)值,但允許指定的字段或表達(dá)式存在重復(fù)值,但重復(fù)重復(fù)值在索引文件中只出現(xiàn)一次值在索引文件中只出現(xiàn)一次,即只保留,即只保留第一次第一次出現(xiàn)的重復(fù)值出現(xiàn)的重復(fù)值多個(gè)多個(gè)普通索引普通索引允許指定的字段或表達(dá)式的值重復(fù),并且索引允許指定的字段或表達(dá)式的值重復(fù),并且索引文件中也文件中也允許出現(xiàn)重復(fù)值允許出現(xiàn)重復(fù)值多個(gè)多個(gè)(2)按文件擴(kuò)展名分類)按文件擴(kuò)展名分類 單索引文件單索引文件是根據(jù)一個(gè)關(guān)鍵字或關(guān)鍵字表達(dá)式建立的是根據(jù)一個(gè)關(guān)鍵字或關(guān)鍵字表達(dá)式建
22、立的索引文件,其擴(kuò)展名為索引文件,其擴(kuò)展名為.IDX。單索引文件不會(huì)隨表的打單索引文件不會(huì)隨表的打開(kāi)而自動(dòng)打開(kāi)。開(kāi)而自動(dòng)打開(kāi)。 復(fù)合索引文件復(fù)合索引文件可以包含多個(gè)索引,擴(kuò)展名為可以包含多個(gè)索引,擴(kuò)展名為.CDX,可分為結(jié)構(gòu)可分為結(jié)構(gòu)復(fù)合索引文件復(fù)合索引文件及及非結(jié)構(gòu)復(fù)合索引文件非結(jié)構(gòu)復(fù)合索引文件兩類。兩類。 結(jié)構(gòu)復(fù)合索引文件與表文件的結(jié)構(gòu)復(fù)合索引文件與表文件的主文件名相同主文件名相同,會(huì)自動(dòng),會(huì)自動(dòng)隨著表文件同步打開(kāi)、關(guān)閉和更新。在表設(shè)計(jì)器中創(chuàng)建的隨著表文件同步打開(kāi)、關(guān)閉和更新。在表設(shè)計(jì)器中創(chuàng)建的索引均為結(jié)構(gòu)復(fù)合索引。索引均為結(jié)構(gòu)復(fù)合索引。 非結(jié)構(gòu)復(fù)合索引文件主文件名與表文件主文件名不同,非
23、結(jié)構(gòu)復(fù)合索引文件主文件名與表文件主文件名不同,不會(huì)隨表的打開(kāi)而打開(kāi)。不會(huì)隨表的打開(kāi)而打開(kāi)。3 3建立索引文件建立索引文件 在索引文件中,結(jié)構(gòu)復(fù)合索引文件既可以在表設(shè)計(jì)器在索引文件中,結(jié)構(gòu)復(fù)合索引文件既可以在表設(shè)計(jì)器中建立,又可以使用命令建立,中建立,又可以使用命令建立,單索引文件和非結(jié)構(gòu)復(fù)合單索引文件和非結(jié)構(gòu)復(fù)合索引文件只能使用命令建立。索引文件只能使用命令建立。(1 1)用表設(shè)計(jì)器創(chuàng)建索引)用表設(shè)計(jì)器創(chuàng)建索引 在在“表設(shè)計(jì)器表設(shè)計(jì)器”中建立的索引是結(jié)構(gòu)化復(fù)合索引中建立的索引是結(jié)構(gòu)化復(fù)合索引.CDX.CDX。其索引的種類可以是主索引、候選索引、普通索引和惟一其索引的種類可以是主索引、候選索引、
24、普通索引和惟一索引,默認(rèn)是普通索引。索引,默認(rèn)是普通索引。 普通索引普通索引選擇索引選擇索引類型類型其他索引其他索引(主、主、唯一、候選)唯一、候選)彈出表達(dá)彈出表達(dá)式生成器式生成器 (2)命令方式命令方式 INDEX ON TO | TAG ASCENDING|DESCENDING UNIQUE|CANDIDATE ADDITIVE 為打開(kāi)的表建立索引文件或在復(fù)合索引文件中添加索引標(biāo)識(shí)為打開(kāi)的表建立索引文件或在復(fù)合索引文件中添加索引標(biāo)識(shí)建立單索建立單索引文件引文件建立結(jié)構(gòu)建立結(jié)構(gòu)復(fù)合索引復(fù)合索引文件文件升序或降序,升序或降序,默認(rèn)升序默認(rèn)升序建立唯一索引建立唯一索引/候選索引候選索引建立新索
25、引建立新索引時(shí),不關(guān)閉時(shí),不關(guān)閉原來(lái)打開(kāi)的原來(lái)打開(kāi)的索引索引指定控制索引指定控制索引結(jié)構(gòu)索引在打開(kāi)表時(shí)自動(dòng)打開(kāi)結(jié)構(gòu)索引在打開(kāi)表時(shí)自動(dòng)打開(kāi) SET ORDER TOSET ORDER TO | TAG TAGOFOF ASCENDING|DESCENDING ASCENDING|DESCENDING刪除索引標(biāo)識(shí)刪除索引標(biāo)識(shí) DELETE TAG ALLDELETE TAG ALL DELETE TAG DELETE TAG 1 刪除結(jié)構(gòu)復(fù)合索引文件中的索引標(biāo)識(shí)。刪除結(jié)構(gòu)復(fù)合索引文件中的索引標(biāo)識(shí)。 ALLALL:表示刪除所有索引標(biāo)識(shí)。:表示刪除所有索引標(biāo)識(shí)。1用命令用命令“INDEX ON 姓名姓
26、名 TAG index_name UNIQUE”建立索引,建立索引, 其索引類型是其索引類型是 A.主索引主索引 B. 候選索引候選索引 C. 普通索引普通索引 D. 惟一索引惟一索引2以下關(guān)于主索引和侯選索引的敘述正確的是以下關(guān)于主索引和侯選索引的敘述正確的是 A) 主索引和侯選索引都能保證表記錄的惟一性主索引和侯選索引都能保證表記錄的惟一性 B) 主索引和侯選索引都可以建立在數(shù)據(jù)庫(kù)表和自由表上主索引和侯選索引都可以建立在數(shù)據(jù)庫(kù)表和自由表上 C) 主索引可以保證表記錄的惟一性,而侯選索引不能主索引可以保證表記錄的惟一性,而侯選索引不能D) 主索引和侯選索引是相同的概念主索引和侯選索引是相同的
27、概念 3在表設(shè)計(jì)器的在表設(shè)計(jì)器的“字段字段”選項(xiàng)卡中可以創(chuàng)建的索引是選項(xiàng)卡中可以創(chuàng)建的索引是 A)唯一索引唯一索引 B)候選索引候選索引 C)主索引主索引 D)普通索引普通索引 4在在Visual FoxPro中,建立索引的作用之一是中,建立索引的作用之一是 A)節(jié)省存儲(chǔ)空間)節(jié)省存儲(chǔ)空間 B)便于管理)便于管理 C)提高查詢速度)提高查詢速度 D)提高查詢和更新的速度)提高查詢和更新的速度5在在Visual FoxPro中,相當(dāng)于主關(guān)鍵字的索引是中,相當(dāng)于主關(guān)鍵字的索引是 A)主索引)主索引 B)普通索引)普通索引 C)惟一索引)惟一索引 D)排序索引)排序索引DADCA數(shù)據(jù)庫(kù)表課件6在指定
28、字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引是在指定字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引是A)惟一索引惟一索引 B)惟一索引和候選索引惟一索引和候選索引 C)惟一索引和主索引惟一索引和主索引 D)主索引和候選索引主索引和候選索引7有一學(xué)生表文件,且通過(guò)表設(shè)計(jì)器已經(jīng)為該表建立了若干普通索引。其有一學(xué)生表文件,且通過(guò)表設(shè)計(jì)器已經(jīng)為該表建立了若干普通索引。其中一個(gè)索引的索引表達(dá)式為姓名字段,索引名為中一個(gè)索引的索引表達(dá)式為姓名字段,索引名為XM?,F(xiàn)假設(shè)學(xué)生表已經(jīng)打?,F(xiàn)假設(shè)學(xué)生表已經(jīng)打開(kāi),且處于當(dāng)前工作區(qū)中,那么可以將上述索引設(shè)置為當(dāng)前索引的命令是開(kāi),且處于當(dāng)前工作區(qū)中,那么可以將上述索引設(shè)置為當(dāng)前索引的命令
29、是A)SET INDEX TO 姓名姓名 B)SET INDEX TO XMC)SET ORDER TO 姓名姓名 D)SET ORDER TO XM8在在Visual FoxPro中,數(shù)據(jù)庫(kù)表中不允許有重復(fù)記錄是通過(guò)指定中,數(shù)據(jù)庫(kù)表中不允許有重復(fù)記錄是通過(guò)指定_來(lái)實(shí)現(xiàn)的。來(lái)實(shí)現(xiàn)的。D主索引或候選索引主索引或候選索引D例題:例題:12.114.17數(shù)據(jù)表的統(tǒng)計(jì)與匯總數(shù)據(jù)表的統(tǒng)計(jì)與匯總計(jì)數(shù)命令計(jì)數(shù)命令COUNT FOR|WHILE TO統(tǒng)計(jì)指定范圍內(nèi)滿足條件的記錄個(gè)數(shù)。統(tǒng)計(jì)指定范圍內(nèi)滿足條件的記錄個(gè)數(shù)。缺省值為缺省值為ALL將統(tǒng)計(jì)結(jié)果保將統(tǒng)計(jì)結(jié)果保存在內(nèi)存變量存在內(nèi)存變量中中求平均值命令求平均值
30、命令A(yù)VERAGE FOR|WHILE TO |TO ARRAY當(dāng)前表中指定范圍內(nèi)滿足條件的數(shù)值型字段縱向求平均值。當(dāng)前表中指定范圍內(nèi)滿足條件的數(shù)值型字段縱向求平均值。求和命令求和命令SUM FOR|WHILE TO |TO ARRAY 對(duì)當(dāng)前表中指定范圍內(nèi)滿足條件的數(shù)值型字段縱向求和。對(duì)當(dāng)前表中指定范圍內(nèi)滿足條件的數(shù)值型字段縱向求和。將求和結(jié)將求和結(jié)果放入數(shù)果放入數(shù)組中組中數(shù)據(jù)表分類匯總數(shù)據(jù)表分類匯總對(duì)數(shù)據(jù)表中對(duì)數(shù)據(jù)表中關(guān)鍵字關(guān)鍵字值相同記錄的數(shù)值型字段進(jìn)行分類求和。值相同記錄的數(shù)值型字段進(jìn)行分類求和。TOTAL ON TO FIELDS FOR|WHILE 在當(dāng)前表指定范圍內(nèi)滿足條件的記錄
31、中,分別對(duì)關(guān)鍵字值相同在當(dāng)前表指定范圍內(nèi)滿足條件的記錄中,分別對(duì)關(guān)鍵字值相同的數(shù)值型字段累加求和,并將結(jié)果保存到新表中。的數(shù)值型字段累加求和,并將結(jié)果保存到新表中。必須先對(duì)原數(shù)據(jù)表按指定的關(guān)鍵字索引或排序。必須先對(duì)原數(shù)據(jù)表按指定的關(guān)鍵字索引或排序。數(shù)據(jù)完整性數(shù)據(jù)完整性 數(shù)據(jù)完整性是保證數(shù)據(jù)完整性是保證數(shù)據(jù)正確的特性數(shù)據(jù)正確的特性,包,包括括實(shí)體完整性實(shí)體完整性、域完整性域完整性和和參照完整性參照完整性,它,它們分別在們分別在記錄級(jí)記錄級(jí)、字段級(jí)字段級(jí)和和數(shù)據(jù)表級(jí)數(shù)據(jù)表級(jí)提供了提供了數(shù)據(jù)正確性的驗(yàn)證規(guī)則。數(shù)據(jù)正確性的驗(yàn)證規(guī)則。1. 實(shí)體完整性與主關(guān)鍵字實(shí)體完整性與主關(guān)鍵字 保證表中記錄惟一的特性
32、,即在一個(gè)表中不允許有重保證表中記錄惟一的特性,即在一個(gè)表中不允許有重復(fù)的記錄。在復(fù)的記錄。在VFP中利用中利用主關(guān)鍵字或候選關(guān)鍵字主關(guān)鍵字或候選關(guān)鍵字來(lái)保證實(shí)來(lái)保證實(shí)體完整性,即保證表中的記錄惟一。體完整性,即保證表中的記錄惟一。2. 域完整性與約束規(guī)則域完整性與約束規(guī)則 表中域的特性,對(duì)表中表中域的特性,對(duì)表中字段取值的限定字段取值的限定都是域完整性都是域完整性的范圍,如字段的的范圍,如字段的類型類型、字段的、字段的寬度寬度和字段的和字段的有效性規(guī)則有效性規(guī)則等。字段有效性規(guī)則又稱作域約束規(guī)則,只能存在于數(shù)據(jù)等。字段有效性規(guī)則又稱作域約束規(guī)則,只能存在于數(shù)據(jù)庫(kù)表中,在插入或修改記錄時(shí)被激活
33、,主要用于庫(kù)表中,在插入或修改記錄時(shí)被激活,主要用于數(shù)據(jù)輸入數(shù)據(jù)輸入正確性的檢驗(yàn)。正確性的檢驗(yàn)。3. 參照完整性與表之間的關(guān)系參照完整性與表之間的關(guān)系 指在建立了關(guān)系的指在建立了關(guān)系的兩個(gè)表之間兩個(gè)表之間插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過(guò)參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù),來(lái)過(guò)參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù),來(lái)檢查對(duì)表的數(shù)據(jù)操作是否正確檢查對(duì)表的數(shù)據(jù)操作是否正確。 在在數(shù)據(jù)庫(kù)設(shè)計(jì)器中數(shù)據(jù)庫(kù)設(shè)計(jì)器中設(shè)計(jì)兩個(gè)表之間的設(shè)計(jì)兩個(gè)表之間的聯(lián)系聯(lián)系時(shí),首先要使兩個(gè)表具有相同時(shí),首先要使兩個(gè)表具有相同屬性的字段,然后在屬性的字段,然后在父表父表中定義該字段中定義該
34、字段為主索引為主索引,若在,若在子表子表中定義該字段中定義該字段為為主索引或候選索引主索引或候選索引,則建立的是,則建立的是一對(duì)一一對(duì)一的關(guān)系;若在的關(guān)系;若在子表子表中字義該字段為中字義該字段為普普通索引通索引,則建立的是,則建立的是一對(duì)多一對(duì)多的關(guān)系。的關(guān)系。(1 1)建立表之間的聯(lián)系)建立表之間的聯(lián)系 數(shù)據(jù)庫(kù)表之間的關(guān)系存儲(chǔ)在數(shù)據(jù)庫(kù)文件中,只要不作數(shù)據(jù)庫(kù)表之間的關(guān)系存儲(chǔ)在數(shù)據(jù)庫(kù)文件中,只要不作刪除一直保存,因此稱為刪除一直保存,因此稱為永久關(guān)系永久關(guān)系。 在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,表之間的永久關(guān)系顯示為在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,表之間的永久關(guān)系顯示為表索引表索引間的連接線。間的連接線。(2) 2) 設(shè)置
35、參照完整性約束設(shè)置參照完整性約束 在數(shù)據(jù)庫(kù)中的表之間建立永久聯(lián)系后,可以設(shè)置參照在數(shù)據(jù)庫(kù)中的表之間建立永久聯(lián)系后,可以設(shè)置參照完整性。完整性。 右鍵單擊表之間的聯(lián)系右鍵單擊表之間的聯(lián)系, ,選擇選擇“編輯參照完整性編輯參照完整性”,打開(kāi)打開(kāi)“參照完整性生成器參照完整性生成器”對(duì)話框?qū)υ捒?注意:注意:建立參照完建立參照完整性前要清理數(shù)據(jù)整性前要清理數(shù)據(jù)庫(kù)。庫(kù)?!皵?shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)清清理數(shù)據(jù)庫(kù)理數(shù)據(jù)庫(kù)”參照完整性規(guī)則包括參照完整性規(guī)則包括更新規(guī)則、刪除規(guī)則和插入規(guī)則。更新規(guī)則、刪除規(guī)則和插入規(guī)則。更新規(guī)則規(guī)定了當(dāng)更新父表中的連接字段(主關(guān)鍵字)值時(shí),如何處理更新規(guī)則規(guī)定了當(dāng)更新父表中的連接字段(主關(guān)鍵
36、字)值時(shí),如何處理相關(guān)的子表中的記錄。相關(guān)的子表中的記錄。級(jí)聯(lián):用新的連接字段值自動(dòng)修改子表中的所有相關(guān)記錄;級(jí)聯(lián):用新的連接字段值自動(dòng)修改子表中的所有相關(guān)記錄;限制:若子表中有相關(guān)的記錄,則禁止修改父表中的連接字段值;限制:若子表中有相關(guān)的記錄,則禁止修改父表中的連接字段值;忽略:不作參照完整性檢查,可以隨意更新父記錄的連接字段值。忽略:不作參照完整性檢查,可以隨意更新父記錄的連接字段值。刪除規(guī)則規(guī)定了當(dāng)刪除父表中記錄時(shí),如何處理子表中相關(guān)記錄刪除規(guī)則規(guī)定了當(dāng)刪除父表中記錄時(shí),如何處理子表中相關(guān)記錄級(jí)聯(lián):自動(dòng)刪除子表中的所有相關(guān)記錄;級(jí)聯(lián):自動(dòng)刪除子表中的所有相關(guān)記錄;限制:若子表中有相關(guān)的
37、記錄,則禁止刪除父表中的記錄;限制:若子表中有相關(guān)的記錄,則禁止刪除父表中的記錄;忽略:不作參照完整性檢查,即刪除父表的記錄時(shí)與子表無(wú)關(guān)。忽略:不作參照完整性檢查,即刪除父表的記錄時(shí)與子表無(wú)關(guān)。插入規(guī)則規(guī)定了當(dāng)插入插入規(guī)則規(guī)定了當(dāng)插入子表中子表中記錄時(shí),是否進(jìn)行參照完整性檢查記錄時(shí),是否進(jìn)行參照完整性檢查限制:若父表中沒(méi)有相匹配的連接字段值則禁止插入記錄;限制:若父表中沒(méi)有相匹配的連接字段值則禁止插入記錄;忽略:不作參照完整性檢查,即可以隨意插入記錄。忽略:不作參照完整性檢查,即可以隨意插入記錄。1增加字段的有效性規(guī)則,是為了能保證數(shù)據(jù)的增加字段的有效性規(guī)則,是為了能保證數(shù)據(jù)的 A)實(shí)體完整性
38、實(shí)體完整性 B)表完整性表完整性 C)參照完整性參照完整性 D)域完整性域完整性 D2在在Visual FoxPro中,建立數(shù)據(jù)庫(kù)表時(shí),將年齡字段值限制在中,建立數(shù)據(jù)庫(kù)表時(shí),將年齡字段值限制在1240歲之歲之間的這種約束屬于間的這種約束屬于 A)實(shí)體完整性約束)實(shí)體完整性約束 B)域完整性約束)域完整性約束 C)參照完整性約束)參照完整性約束 D)視圖完整性約束)視圖完整性約束B(niǎo)3在創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)時(shí),給該表指定了主索引,這屬于數(shù)據(jù)完整性中的在創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)時(shí),給該表指定了主索引,這屬于數(shù)據(jù)完整性中的A)參照完整性參照完整性 B)實(shí)體完整性實(shí)體完整性 C)域完整性域完整性 D)用戶定義完整性用戶定義完整性B4設(shè)有兩個(gè)數(shù)據(jù)庫(kù)表,父表和子表之間是一對(duì)多的聯(lián)系,為控制子表和父表設(shè)有兩個(gè)數(shù)據(jù)庫(kù)表,父表和子表之間是一對(duì)多的聯(lián)系,為控制子表和父表的關(guān)聯(lián),可以設(shè)置的關(guān)聯(lián),可以設(shè)置“參照完整性規(guī)則參照完整性規(guī)則”,為此要求這兩個(gè)表,為此要求這兩個(gè)表A) 在父表連接字段上建立普通索引,在子接表連接字段上建立主索引在父表連接字段上建立普通索引,在子接表連接字段上建立主索引B) 在父表連接字段上建立主索引,在子表連字段上建立普通索引在父表連接字段上建立主索引,在子表連字段上建立普通索引C) 在父表連接字段上不需要建立任何索引,在子
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度施工單位招標(biāo)投標(biāo)監(jiān)督與審計(jì)合同3篇
- 二零二五年度體育設(shè)備租賃及賽事保障協(xié)議3篇
- 2024年酒店廚師團(tuán)隊(duì)聘用協(xié)議
- 2025版城市綜合體保安服務(wù)與勞務(wù)派遣合同示范文本3篇
- 二零二五年度信息安全產(chǎn)品采購(gòu)與供應(yīng)商服務(wù)保障合同3篇
- 娛樂(lè)行業(yè)演出安全責(zé)任免除書(shū)
- 世界文化遺產(chǎn)保護(hù)項(xiàng)目合作協(xié)議
- 2024年電子圖書(shū)購(gòu)買(mǎi)合同樣本3篇
- 旅游行業(yè)數(shù)字化升級(jí)合作合同
- 員工福利計(jì)劃合作協(xié)議
- DB14-T 2730-2023 產(chǎn)后康復(fù)管理師等級(jí)劃分與評(píng)定
- 《預(yù)防流感》主題班會(huì)教案3篇
- 湖南省炎德英才大聯(lián)考2025屆高二數(shù)學(xué)第一學(xué)期期末考試試題含解析
- 中等職業(yè)學(xué)?!稒C(jī)械制造工藝基礎(chǔ)》課程標(biāo)準(zhǔn)
- DBJ33T 1312-2024 工程渣土再生填料道路路基技術(shù)規(guī)程
- 高級(jí)流行病學(xué)與醫(yī)學(xué)統(tǒng)計(jì)學(xué)智慧樹(shù)知到期末考試答案章節(jié)答案2024年浙江中醫(yī)藥大學(xué)
- 服務(wù)開(kāi)口合同模板
- 2024年200MW-400MWh電化學(xué)儲(chǔ)能電站設(shè)計(jì)方案
- 2024數(shù)據(jù)采集合同模板
- SH/T 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術(shù)標(biāo)準(zhǔn)(正式版)
- (正式版)JBT 7248-2024 閥門(mén)用低溫鋼鑄件技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論