【例1】在1號(hào)和2號(hào)工作區(qū)內(nèi)分別打開ST.DBF和SE.DBF表文件,并選擇1號(hào)工作區(qū)為當(dāng)前工作區(qū)。
SELECT 1 &&或SELECT A
USE STSELECT 2
USE SE
SELECT 1
【例2】在1號(hào)和2號(hào)工作區(qū)打開STUD.DBF和SC.DBF,在1號(hào)工作區(qū)內(nèi)查看當(dāng)前記錄的學(xué)號(hào)、姓名、性別、出生日期、課程號(hào)、成績等字段內(nèi)容。
SELECT A
USE STUD &&在一號(hào)工作區(qū)中打開STUD
SELECT B
USE SC &&在二號(hào)工作區(qū)中打開SC
SELECT A &&選擇1號(hào)工作區(qū)為當(dāng)前工作區(qū)
DISPLAY 學(xué)號(hào),姓名,性別,出生日期,B->課程號(hào),SC.成績16.表的關(guān)聯(lián)
(1)關(guān)聯(lián)的概述所謂表文件的關(guān)聯(lián)是把當(dāng)前工作區(qū)中打開的表與另一個(gè)工作區(qū)中打開的表進(jìn)行邏輯連接,而不生成新的表。當(dāng)前工作區(qū)的表和另一工作區(qū)中的打開表建立關(guān)聯(lián)后,當(dāng)前工作區(qū)是表的記錄指針移動(dòng)時(shí),被關(guān)聯(lián)工作區(qū)的表記錄指針也將自動(dòng)相應(yīng)移動(dòng),以實(shí)現(xiàn)對(duì)多個(gè)表的同時(shí)操作。
在多個(gè)表中,必須有一個(gè)表為關(guān)聯(lián)表,此表常稱為父表,而其他的表則稱為被關(guān)聯(lián)表,常稱為子表。在兩個(gè)表之間建立關(guān)聯(lián),必須以某一個(gè)字段為標(biāo)準(zhǔn),該字段稱為關(guān)鍵字段。表文件的關(guān)聯(lián)可分為一對(duì)一關(guān)聯(lián)、一對(duì)多關(guān)聯(lián)和多對(duì)多關(guān)聯(lián)。
(2)表文件關(guān)聯(lián)的建立
1)一對(duì)一關(guān)聯(lián)的建立
、佗冖邰苊罘绞
【格式】SET RELATION TO[<關(guān)鍵字段表達(dá)式>|<數(shù)值表達(dá)式>][INTO<別名>|<工作區(qū)號(hào)>][ADDITIVE]
【功能】將當(dāng)前工作區(qū)的表文件與<別名>(或工作區(qū)號(hào))指定的工作區(qū)中的表文件按<關(guān)鍵字段表達(dá)式>或<數(shù)值表達(dá)式>建立關(guān)聯(lián)。
【說明】
·當(dāng)用<關(guān)鍵字段表達(dá)式>建立關(guān)聯(lián)時(shí),關(guān)鍵字必須是兩個(gè)表文件共有字段,且別名表文件已按關(guān)鍵字段建立了索引文件,并已指定關(guān)鍵字段為主索引。
·當(dāng)父表文件的記錄指針移動(dòng)時(shí),子表文件的記錄指針根據(jù)主索引文件指向關(guān)鍵字段值與父表文件相同的記錄。如果子表中沒有與關(guān)鍵字段值相同的記錄,記錄指針指向文件尾,EOF()為.T.。
·當(dāng)按<數(shù)值表達(dá)式>建立關(guān)聯(lián)時(shí),別名表不需要打開索引文件,兩個(gè)表文件按照記錄號(hào)相聯(lián)系,父表文件的記錄指針移動(dòng)時(shí),子表文件的記錄指針移至與數(shù)值表達(dá)式相等的記錄上。若找不到此記錄,記錄指針指向文件尾,EOF()為.T.。
·ADDITIVE:表示當(dāng)前表與其他工作區(qū)表己有的關(guān)聯(lián)仍有效,實(shí)現(xiàn)一個(gè)表和多個(gè)表之間的關(guān)聯(lián);否則取消當(dāng)前表與其他工作區(qū)表已有的關(guān)聯(lián),當(dāng)前表只能與一個(gè)表建立關(guān)聯(lián)。
·SET RELATION TO則表示取消當(dāng)前工作區(qū)與其他工作區(qū)的關(guān)聯(lián)。
【例1】將表文件STUD.DBF和SC.DBF以學(xué)號(hào)為關(guān)鍵字段建立關(guān)聯(lián)。
SELECT 2 &&選擇工作區(qū)2
USE SC &&打開表文件SC.DBF
INDEX O N學(xué)號(hào) TAG 學(xué)號(hào) &&建立學(xué)號(hào)標(biāo)識(shí)
SET ORDER TO TAG 學(xué)號(hào) &&指定學(xué)號(hào)為主索引
SELECT 1 &&選擇工作區(qū)1
USE STUD &&打開表文件STUD.DBF
SET RELATION TO 學(xué)號(hào) INTO 2 &&建立一對(duì)一關(guān)聯(lián)
【例2】將表文件STUD.DBF和SC.DBF按記錄號(hào)建立關(guān)聯(lián)。
SELECT 2 &&選擇工作區(qū)2
USE SC &&打開表文件SC.DBF
SELECT 1 &&選擇工作區(qū)1
USE STUD &&打開表文件STUR.DBF
SET RELATION TO RECNO() INTO 217.設(shè)置參照完整性
用來控制數(shù)據(jù)庫中數(shù)據(jù)一致性的規(guī)則,也是用來控制不同表的主關(guān)鍵字和外部關(guān)鍵字之間關(guān)系的規(guī)則。
18.表的聯(lián)接
包括內(nèi)部聯(lián)接和外部聯(lián)接,其中外部聯(lián)接又包括左聯(lián)接、右聯(lián)接和完全聯(lián)接。
例題
(1)Visual FoxPro中的參照完整性規(guī)則包括____。
A.更新規(guī)則 B.刪除規(guī)則 C.插入規(guī)則 D.以上答案均正確
【解析】本題考查的知識(shí)點(diǎn)是參照完整性的規(guī)則包含的內(nèi)容。在VisualFoxPro中,參照完整性規(guī)則包括更新規(guī)則、刪除規(guī)則、插入規(guī)則。因此正確答案為D。
【答案】D
(2)在Visual FoxPro中,要建次參照完整性,必須首先建立____。
【解析】本題考查的知識(shí)點(diǎn)是建立參照完整性的前提。在VisualFoxPro中,參照完整性與表之間的聯(lián)系有關(guān),它是指:當(dāng)插入、刪除或修改一個(gè)表中的數(shù)據(jù)時(shí),通過參照引用相互關(guān)聯(lián)的另一個(gè)表中的數(shù)據(jù)未檢查對(duì)表的數(shù)據(jù)操作是否正確。
【答案】表之間的關(guān)系
(3)執(zhí)行下列命令序列后,XY3的指針指向第____條記錄,XY2指向第--條記錄。
SELECT 2
USE XY3
SELECT 3
USE XY2
SELECT 2
SKIP 2
A.1,2 B.1,1 C.3,1 D.2,1
【解析】本題考查的知識(shí)點(diǎn)是SELECT命令的使用。SELECT命令用未指定工作區(qū),SELECT 2即指定2工作區(qū)。本題中因?yàn)闆]建立關(guān)聯(lián),因此工作區(qū)2的指針從第l條記錄移到第3條記錄,并不會(huì)影響工作區(qū)3的指針。
【答案】C
相關(guān)推薦:2011年計(jì)算機(jī)等級(jí)考試二級(jí)VFP基礎(chǔ)教程匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |