- 數(shù)據(jù)庫(kù)應(yīng)用技術(shù):Visual FoxPro 6.0上機(jī)指導(dǎo)與練習(xí)
- 魏茂林主編
- 2563字
- 2018-12-27 18:40:26
實(shí)訓(xùn)7 工作區(qū)的使用
跟我做
實(shí)訓(xùn)要求
- 掌握多工作區(qū)使用的方法
- 掌握建立表間臨時(shí)關(guān)系的方法
- 掌握建立表間永久關(guān)系的方法
- 學(xué)會(huì)設(shè)置參照完整性規(guī)則
實(shí)例1 分別在1、2、3工作區(qū)打開“圖書”表、“讀者”表和“借閱”表,并選擇第1工作區(qū)為當(dāng)前工作區(qū)。
打開數(shù)據(jù)庫(kù)表可以在“數(shù)據(jù)工作期”按順序打開。下面介紹使用命令方式打開上述數(shù)據(jù)庫(kù)表。
鍵入命令:
OPEN DATABASE Books &&打開“Books”數(shù)據(jù)庫(kù) SELECT 1 USE 圖書 SELECT 2 USE 讀者 SELECT 3 USE 借閱
選擇1號(hào)工作區(qū):
SELECT 1
或
SELECT 圖書
兩個(gè)命令是等價(jià)的。
也可以使用USE命令直接指定在哪個(gè)工作區(qū)打開表。例如:
OPEN DATABASE Books &&打開“Books”數(shù)據(jù)庫(kù) USE 圖書 IN 1 USE 讀者 IN 2 USE 借閱 IN 3
當(dāng)前的工作區(qū)是1區(qū)。在USE命令中使用ALIAS短語可以指定別名。
實(shí)例2 在實(shí)例1打開3個(gè)表的基礎(chǔ)上,訪問表中的數(shù)據(jù)。
鍵入命令:
? 書名,B->姓名,借閱.圖書ID &&當(dāng)前工作區(qū)是1區(qū)
屏幕顯示:
Windows 7應(yīng)用基礎(chǔ) 東邪 T0002
實(shí)例3 使用SET RELATION命令建立“讀者”表和“借閱”表之間的關(guān)系。
對(duì)于“讀者”表,前面已經(jīng)按“借書證號(hào)”建立了主索引,索引名為“借書證號(hào)”;對(duì)于“借閱”表,已經(jīng)按“借書證號(hào)”建立了普通索引,索引名為“借書證號(hào)”。因此,在兩個(gè)表之間可以通過“借書證號(hào)”建立關(guān)系。
鍵入命令:
CLOSE DATABASE OPEN DATABASE Books &&打開“Books”數(shù)據(jù)庫(kù) CLEAR ALL USE 讀者 IN 0 ORDER 借書證號(hào) USE 借閱 IN 0 ORDER 借書證號(hào) SELECT 1 SET RELATION TO 借書證號(hào) INTO 借閱 &&以“借書證號(hào)”為關(guān)鍵字與“借閱”表建立關(guān)系
分別打開“讀者”表和“借閱”表的瀏覽窗口,將鼠標(biāo)指針指向“讀者”表中不同的記錄,可以觀察到“借閱”表中記錄的變化,如圖2-22所示。

圖2-22 “讀者”表和“借閱”表記錄關(guān)聯(lián)
實(shí)例4 以“圖書”表和“借閱”表的“圖書ID”字段為關(guān)鍵字,建立兩表之間的一對(duì)多關(guān)系。
在“表設(shè)計(jì)器”中檢查“圖書”表已按“圖書ID”建立了主索引,索引名為“圖書編號(hào)”,“借閱”表已按“圖書ID”建立了普通索引。
操作步驟:
(1)在項(xiàng)目管理器窗口中,選擇“Books”數(shù)據(jù)庫(kù),單擊“修改”按鈕,打開“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口。
(2)選擇“圖書”表中的索引名“圖書編號(hào)”,將其拖到“借閱”表中對(duì)應(yīng)的索引“圖書id”上。此時(shí),可以看到它們之間出現(xiàn)一條連線,表示在兩個(gè)表之間建立了一對(duì)多關(guān)系,如圖2-23所示。

圖2-23 建立的一對(duì)多關(guān)系
建立表間關(guān)系后,如果要編輯已建立的關(guān)系,在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”窗口,用鼠標(biāo)右鍵單擊表之間的連線,此時(shí)彈出快捷菜單,選擇“刪除關(guān)系”、“編輯關(guān)系”或“編輯參照完整性”命令等,刪除或編輯對(duì)應(yīng)的關(guān)系。
實(shí)例5 設(shè)置“圖書”表和“借閱”表的參照完整性:當(dāng)在“借閱”表插入記錄時(shí),如果“圖書”表(父表)中不存在對(duì)應(yīng)的圖書ID關(guān)鍵字的記錄,則禁止插入記錄。
在實(shí)例4兩表建立一對(duì)多關(guān)系的基礎(chǔ)上,根據(jù)要求,設(shè)置參照完整性的“插入規(guī)則”。
操作步驟:
(1)如果兩個(gè)表沒有建立關(guān)系,首先建立兩表間的一對(duì)多關(guān)系。
(2)執(zhí)行清理數(shù)據(jù)庫(kù)操作。
(3)打開“參照完整性生成器”對(duì)話框,在“插入規(guī)則”選項(xiàng)卡中選擇“限制”選項(xiàng),即在插入記錄時(shí)檢查相關(guān)的“圖書”表記錄是否存在,如果不存在則禁止插入借閱記錄。
練一練
1.填空題
(1)在Visual FoxPro 6.0中,最多同時(shí)能打開______個(gè)數(shù)據(jù)庫(kù)表或自由表。
(2)使用USE命令在不同工作區(qū)打開已經(jīng)打開的表,應(yīng)選擇短語______。
(3)假設(shè)當(dāng)前工作區(qū)是1區(qū),執(zhí)行命令“USE 讀者 IN 3”后,則當(dāng)前工作區(qū)是______區(qū)。
(4)建立表間臨時(shí)關(guān)系的命令是____________。
(5)數(shù)據(jù)庫(kù)表之間的一對(duì)多關(guān)系通過父表的______索引和子表的______索引實(shí)現(xiàn)。
(6)在2號(hào)工作區(qū)打開數(shù)據(jù)表xs.dbf,并設(shè)置別名為student,應(yīng)輸入的命令是:
USE xs______2______student
(7)在Visual FoxPro中,要設(shè)置參照完整性規(guī)則,必須事先建立表之間的______關(guān)系。
2.選擇題
(1)如果在2號(hào)工作區(qū)打開了“圖書”表后,又進(jìn)入了另一工作區(qū),當(dāng)要從別的工作區(qū)返回到2號(hào)工作區(qū)時(shí),可以使用命令( )。
A.SELECT 2 B.SELECT B C.SELECT 圖書 D.以上都可以
(2)執(zhí)行下列命令序列后,F(xiàn)ILE3所在的工作區(qū)是( )。
CLOSE DATABASE SELECT 0 USE FILE1 SELECT 0 USE FILE2 SELECT 0 USE FILE3
A.第1區(qū) B.第2區(qū) C.第3區(qū) D.第4區(qū)
(3)在Visual FoxPro的數(shù)據(jù)工作期窗口,使用SET RELATION命令可以建立兩個(gè)表之間的關(guān)聯(lián),這種關(guān)聯(lián)是( )。
A.永久性關(guān)聯(lián) B.永久性關(guān)聯(lián)或臨時(shí)性關(guān)聯(lián)
C.臨時(shí)性關(guān)聯(lián) D.永久性關(guān)聯(lián)和臨時(shí)性關(guān)聯(lián)
(4)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,建立兩個(gè)表之間的一對(duì)多關(guān)系是通過以下索引實(shí)現(xiàn)的( )。
A.“一方”表的主索引或候選索引,“多方”表的普通索引
B.“一方”表的主索引,“多方”表的普通索引或候選索引
C.“一方”表的普通索引,“多方”表的主索引或候選索引
D.“一方”表的普通索引,“多方”表的候選索引或普通索引
(5)參照完整性的更新規(guī)則中不包括的選項(xiàng)是( )。
A.級(jí)聯(lián) B.限制 C.忽略 D.更新
(6)Visual FoxPro 6.0中的參照完整性規(guī)則不包括( )。
A.更新規(guī)則 B.刪除規(guī)則 C.約束規(guī)則 D.插入規(guī)則
(7)在Visual FoxPro中設(shè)置參照完整性時(shí),要設(shè)置成:當(dāng)更改父表中的主關(guān)鍵字段或候選關(guān)鍵字段時(shí),自動(dòng)更新相關(guān)子表中的對(duì)應(yīng)值,應(yīng)在“更新規(guī)則”選項(xiàng)卡中選擇( )。
A.忽略 B.限制 C.級(jí)聯(lián) D.忽略或限制
(8)如果指定參照完整性的刪除規(guī)則為“級(jí)聯(lián)”,則當(dāng)刪除父表中的記錄時(shí)( )。
A.系統(tǒng)自動(dòng)備份父表中被刪除記錄到一個(gè)新表中
B.若子表中有相關(guān)記錄,則禁止刪除父表中記錄
C.會(huì)自動(dòng)刪除子表中所有相關(guān)記錄
D.不做參照完整性檢查,刪除父表記錄與子表無關(guān)
(9)表之間的臨時(shí)關(guān)系是在兩個(gè)打開的表之間建立的,如果兩個(gè)表有一個(gè)關(guān)閉后,則該臨時(shí)關(guān)系( )。
A.轉(zhuǎn)化為永久關(guān)系 B.永久保留
C.臨時(shí)保留 D.消失
(10)參照完整性的作用是 ( )。
A.字段數(shù)據(jù)的輸入控制 B.記錄中相關(guān)字段之間的數(shù)據(jù)有效性控制
C.表中數(shù)據(jù)的完整性控制 D.相關(guān)表之間的數(shù)據(jù)一致性控制
(11)如已在學(xué)生表和成績(jī)表之間按學(xué)號(hào)建立永久關(guān)系,現(xiàn)要設(shè)置參照完整性:當(dāng)在成績(jī)表中添加記錄時(shí),凡是學(xué)生表中不存在的學(xué)號(hào)不允許添加,則該參照完整性應(yīng)設(shè)置為( )。
A.更新級(jí)聯(lián) B.更新限制
C.插入級(jí)聯(lián) D.插入限制
動(dòng)手做
1.在B工作區(qū)打開“讀者”表,在F工作區(qū)打開“借閱”表。
2.分別在“數(shù)據(jù)工作期”和使用SET RELATION命令以“借書證號(hào)”為關(guān)鍵字建立“讀者”表和“借閱”表的關(guān)聯(lián),并瀏覽每個(gè)讀者的“借書證號(hào)”、“姓名”、“出生日期”、“借書日期”和“圖書ID”字段的內(nèi)容。
3.在E工作區(qū)打開“圖書”表,使用SET RELATION命令與F工作區(qū)的“借閱”表以“圖書ID”為關(guān)鍵字建立關(guān)聯(lián)。
4.在數(shù)據(jù)庫(kù)設(shè)計(jì)器中設(shè)置:“圖書”表與“借閱”表的“圖書ID”建立一對(duì)多關(guān)系,“讀者”表與“借閱”表的“借書證號(hào)”建立一對(duì)多關(guān)系。
5.編輯“圖書”表與“借閱”表間關(guān)系的參照完整性規(guī)則,設(shè)置“刪除規(guī)則”中的“級(jí)聯(lián)”。
- 亮劍.NET:.NET深入體驗(yàn)與實(shí)戰(zhàn)精要
- 課課通計(jì)算機(jī)原理
- ArchiCAD 19:The Definitive Guide
- 軟件架構(gòu)設(shè)計(jì)
- 來吧!帶你玩轉(zhuǎn)Excel VBA
- Hands-On Data Science with SQL Server 2017
- 數(shù)據(jù)庫(kù)原理與應(yīng)用技術(shù)學(xué)習(xí)指導(dǎo)
- Associations and Correlations
- RedHat Linux用戶基礎(chǔ)
- INSTANT Heat Maps in R:How-to
- Mastering Geospatial Analysis with Python
- 工業(yè)機(jī)器人入門實(shí)用教程
- Hands-On Microservices with C#
- 局域網(wǎng)組建與使用完全自學(xué)手冊(cè)
- 傳感器與檢測(cè)技術(shù)