




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,復(fù) 習(xí),永久關(guān)系 內(nèi)連接 外連接 數(shù)據(jù)完整性 實體完整性 域完整性 參照完整性,2,習(xí)題1,數(shù)據(jù)庫表可以設(shè)置字段有效性規(guī)則,字段有效性規(guī)則屬于 A實體完整性范疇 B參照完整性范疇 C數(shù)據(jù)一致性范疇 D域完整性范疇,3,習(xí)題2,如果指定參照完整性的刪除規(guī)則為“級聯(lián)”,則當(dāng)刪除父表中的記錄時 A系統(tǒng)自動備份父表中被刪除記錄到一個新表中 B若子表中有相關(guān)記錄,則禁止刪除父表中的記錄 C會自動刪除子表中所有相關(guān)記錄 D不做參照完整性檢查,刪除父表記錄與子表無關(guān),4,2.7 數(shù)據(jù)庫的多表操作,5,工作區(qū)問題,VFP系統(tǒng)允許在32767個工作區(qū)中打開并操作數(shù)據(jù) 同一時刻一個工作區(qū)只能打開一個數(shù)據(jù)表文件
2、 同一個數(shù)據(jù)表文件不允許同時在多個工作區(qū)打開,但在其它工作區(qū)中被關(guān)閉之后,可以在任意一個工作區(qū)中被打開 在任意時刻,只有一個工作區(qū)是當(dāng)前工作區(qū),用戶只能在當(dāng)前工作區(qū)對打開的當(dāng)前表進行操作,6,工作區(qū)問題(續(xù)),各工作區(qū)中打開的數(shù)據(jù)表彼此相互獨立(指針不受影響),就是每個工作區(qū)打開的數(shù)據(jù)表文件均有各自的記錄指針,對某一區(qū)進行與其他區(qū)無關(guān)的操作時,其他區(qū)指針不發(fā)生變化 數(shù)據(jù)庫表的工作區(qū)由數(shù)據(jù)庫指定;自由表的工作區(qū)由用戶設(shè)定 如不指定和特別設(shè)定,系統(tǒng)默認(rèn):總是在第一個工作區(qū)中打開數(shù)據(jù)表文件,7,工作區(qū)的標(biāo)記方法,每一個工作區(qū)可用工作區(qū)號或別名來標(biāo)識 編號: 用 1-32767 分別順序標(biāo)記不同的工作
3、區(qū) 別名 用 A-J共10個字母做為別名,表示第 1-10 號工作區(qū) 使用打開的數(shù)據(jù)表的文件名作為別名 用戶自己定義工作區(qū)別名 USE ALIAS ,8,工作區(qū)選擇命令,當(dāng)系統(tǒng)啟動時,1號工作區(qū)是當(dāng)前工作區(qū) 選擇需要使用的工作區(qū)作為當(dāng)前工作區(qū)的命令格式: SELECT 工作區(qū)編號 | 別名 | 0 特殊說明 Select 0表示自動選擇工作區(qū)編號最小的空閑的工作區(qū)作為當(dāng)前工作區(qū),9,例題1: 如果在1號工作區(qū)內(nèi)打開了數(shù)據(jù)表文件“學(xué)生”,別名為xs。若要把該數(shù)據(jù)庫表文件設(shè)成當(dāng)前工作區(qū),可以使用哪些命令? Select A Select 1 Select xs Select 學(xué)生,10,例題2:
4、Select 1 Select 0 Select 0 問:順序執(zhí)行以上三條語句后當(dāng)前工作區(qū)是幾號?,11,例題3: Select 1 Select B Use 成績表 Select 0 Select 0 問:順序執(zhí)行以上三條語句后當(dāng)前工作區(qū)是幾號?,12,練習(xí)題,在執(zhí)行如下命令時,K3表將在_打開。 SELECT 1 USE K1 SELECT 3 USE K2 SELECT 0 USE K3,A.第0工作區(qū) B.第1工作區(qū) C.第2工作區(qū) D.第3工作區(qū),13,在指定工作區(qū)打開表,在打開表時指定在哪一個工作區(qū)中打開的命令 USE IN 工作區(qū)編號 例:use 學(xué)生 in 3 注意:只能為數(shù)字
5、編號,14,關(guān)閉表,Close all 關(guān)閉在所有工作區(qū)打開了的表、表單和索引文件。 Use in 工作區(qū)號|別名 關(guān)閉指定工作區(qū)的表,15,特殊問題,非當(dāng)前工作區(qū)數(shù)據(jù)表中字段的表示方法 工作區(qū)別名. 字段名或工作區(qū)別名-字段名 A.姓名 或 A-姓名 學(xué)生表.姓名 或 學(xué)生表-姓名,16,多表操作問題,VFP支持在不同的工作區(qū)打開并使用不同的數(shù)據(jù)表 多表操作的意義在于 同時使用在不同工作區(qū)中打開的表文件中的數(shù)據(jù)記錄 對于多表操作而言:只有當(dāng)前工作區(qū)中數(shù)據(jù)表可以進行讀寫操作;非當(dāng)前工作區(qū)中數(shù)據(jù)只能讀取而不能寫入,17,多工作區(qū)互訪的例,假設(shè)兩個關(guān)系 TEST1(姓名,班級,出生日期,總分) T
6、EST2(姓名,班級,數(shù)學(xué),語文,總分),又假設(shè):記錄數(shù)相同; 相對應(yīng)的記錄位置相同,18,多工作區(qū)互訪的例,Use test1 in 1 Use test2 in 2 Go 3,Sele 1 Go 3 Disp 姓名,B-數(shù)學(xué),B-語文,總分,19,多工作區(qū)互訪的例說明,多工作區(qū)互訪的實現(xiàn)是建立在相同記錄“相對應(yīng)”的基礎(chǔ)上的。 本例中的“對應(yīng)”是依靠在不同的工作區(qū)中,“人工”調(diào)整記錄指針實現(xiàn)的 如果不進行調(diào)整則會出現(xiàn)下一頁的情況,20,這就需要進行多表的關(guān)聯(lián),21,數(shù)據(jù)表的關(guān)聯(lián),所謂表文件的關(guān)聯(lián)是把當(dāng)前工作區(qū)中打開的表與另一個工作區(qū)中打開的表進行邏輯連接,而不生成新的表。 當(dāng)前工作區(qū)的表和另
7、一工作區(qū)中的表建立關(guān)聯(lián)后,在當(dāng)前工作區(qū)中移動表的記錄指針時,被關(guān)聯(lián)的數(shù)據(jù)表的記錄指針也隨之移動 這里的關(guān)聯(lián)是邏輯的關(guān)聯(lián),稱為表之間的臨時關(guān)系,22,命令方式:建立和解除關(guān)聯(lián),建立關(guān)聯(lián)的命令 SET RELATION TO ; INTO | 解除關(guān)聯(lián)的命令 SET RELATION TO &解除所有的關(guān)聯(lián) SET RELATION OFF INTO | &解除指定的關(guān)聯(lián),23,例題4:將表文件 學(xué)生.DBF 和成績.DBF以學(xué)號為關(guān)鍵字段建立關(guān)聯(lián) SELECT 2 &選擇工作區(qū)2 USE 成績 &打開表 成績 INDEX ON 學(xué)號 TAG 學(xué)號 &建立學(xué)號標(biāo)識 SET ORDER TO TAG
8、 學(xué)號 &指定學(xué)號為主控索引 SELECT 1 &選擇工作區(qū)1 USE 學(xué)生 & 打開表 學(xué)生 SET RELATION TO 學(xué)號 INTO 2 &建立一對一關(guān)聯(lián),24,例題5:將表文件學(xué)生.DBF 和成績.DBF按數(shù)值表達式建立關(guān)聯(lián) SELECT 2 &選擇工作區(qū)2 USE 成績 &打開表 成績 SELECT 1 &選擇工作區(qū)1 USE 學(xué)生 & 打開表 學(xué)生 SET RELATION TO RECNO() INTO 2 &建立一對一關(guān)聯(lián),25, 選擇【窗口】-【數(shù)據(jù)工作期】, 彈出數(shù)據(jù)工作期窗口,菜單方式:建立關(guān)聯(lián)的步驟,26,選擇“打開”按鈕,彈出打開對話框。選擇需要打開的表,單擊“確
9、定”。 需要多張表,則多次單擊上一頁中的“打開”,菜單方式:建立關(guān)聯(lián)的步驟,27,在“別名”列表中選擇主表,再單擊“關(guān)系”按鈕 然后再在別名列表中選擇子表。,菜單方式:建立關(guān)聯(lián)的步驟,28,如果子表文件未指定主控索引,系統(tǒng)會打開 “設(shè)置索引順序”對話框,以指定子表的主控索引。選擇一個索引,單擊“確定”,菜單方式:建立關(guān)聯(lián)的步驟,29,指定主控索引后,系統(tǒng)彈出“表達式生成器”對話框,在字段列表框中選擇關(guān)聯(lián)關(guān)鍵字段,然后單擊“確定”按鈕,返回數(shù)據(jù)工作期窗口。,菜單方式:建立關(guān)聯(lián)的步驟,30,此時在數(shù)據(jù)工作期窗口的右側(cè)列表框中出現(xiàn)了子表,在父表和子表之間有一單線相連,說明在兩表之間已建立了一對一關(guān)聯(lián)
10、。,菜單方式:建立關(guān)聯(lián)的步驟,31, 選擇【窗口】-【數(shù)據(jù)工作期】, 彈出數(shù)據(jù)工作期窗口。此時能看到已建立的關(guān)聯(lián) 選中“關(guān)系”列表中需要解除關(guān)聯(lián)的關(guān)系中的任一表名,單擊“關(guān)閉”按鈕,即可解除兩表之間的關(guān)聯(lián)關(guān)閉表就會解除臨時關(guān)系,菜單方式:解除關(guān)聯(lián),32,關(guān)于命令說明,子表必須按“關(guān)聯(lián)字表達式”索引 如果子表的索引是普通索引,就有可能出現(xiàn)多個與關(guān)鍵字的值相同的情況,那么我們該如何找到與關(guān)鍵字相同的其他記錄呢?這種情況又是怎么樣的呢? 這種情況其實就是一對多的關(guān)系,33,一對多關(guān)聯(lián)的建立,命令方式: SET SKIP TO , . 將當(dāng)前表文件與其他工作區(qū)中的表文件建立一對多關(guān)聯(lián)。 說明 先用SE
11、T RELATION TO命令建立了一對一的關(guān)聯(lián),然后才能將一對一的關(guān)聯(lián)進一步定義成一對多的關(guān)聯(lián)。 當(dāng)前工作區(qū)表記錄指針移動時,別名表文件的記錄指針指向第一個與關(guān)鍵字表達式值相匹配的記錄,若找不到相匹配的記錄,則記錄指針指向文件尾部,EOF()為.T.。,34,當(dāng)父表中的一個記錄與子庫的多個記錄匹配時,在父表中顯示星號行,使用SKIP命令,父表的指針在星號行移動,而子表的指針同時向前移動,指向下一個與父表相匹配的記錄;重復(fù)使用SKIP命令,直至在子表中沒有與父表當(dāng)前記錄相匹配的記錄后,父表的指針才真正向前發(fā)生移動。 無任何選擇項的SET SKIP TO命令將取消一對多的關(guān)聯(lián)(一對一的關(guān)聯(lián)仍然存
12、在)。,理解skip,35,菜單方式 選擇【窗口】-【數(shù)據(jù)工作期】,彈出的數(shù)據(jù)工作期窗口; 按前所述的步驟,建立一對一關(guān)聯(lián); 先選定主表,單擊“一對多”按鈕,系統(tǒng)彈出創(chuàng)建一對多關(guān)系對話框;,一對多關(guān)聯(lián)的建立,36, 在“創(chuàng)建一對多關(guān)系”對話框的子表別名列表框中,選擇子表別名,單擊“移動”按鈕,子表別名將出現(xiàn)在選定別名列表框中;單擊“確定”按鈕,完成子表別名的指定,并返回到數(shù)據(jù)工作期窗口。,一對多關(guān)聯(lián)的建立,37, 完成上述工作后,在數(shù)據(jù)工作期窗口的右側(cè)列表框中在父表和子表之間有一雙線相連,說明在兩表之間已建立了一對多關(guān)聯(lián) 。,一對多關(guān)聯(lián)的建立,38,數(shù)據(jù)表關(guān)聯(lián)的特點,數(shù)據(jù)表的關(guān)聯(lián)是一種臨時的關(guān)系;不能保存;相關(guān)聯(lián)的數(shù)據(jù)表關(guān)閉后將自動解除 數(shù)據(jù)表的關(guān)聯(lián)是一種邏輯的連接;而非物理的連接 數(shù)據(jù)表的關(guān)聯(lián)的目的是實現(xiàn)“指針隨動” 與“永久關(guān)系”的意義和作用機制完全不同(永久關(guān)系是建立在雙方的索引上的),39,舉例 教材P82 例2.33,Sele 2 Use 成績 Index on 學(xué)號 tag 學(xué)號 Sele 1 Use 學(xué)生 Set rela to 學(xué)號 into B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 退役重武器測試題及答案
- 2023-2024學(xué)年山西省太原市迎澤區(qū)三年級(上)期末數(shù)學(xué)試卷(含答案)
- 小黑子考試試題及答案
- 2025年消防設(shè)施操作員之消防設(shè)備高級技能押題練習(xí)試題A卷含答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備中級技能能力檢測試卷B卷附答案
- 2023年全國翻譯專業(yè)資格(水平)考試英語三級筆譯實務(wù)試題真題及答案
- 配電柜知識培訓(xùn)課件
- 卸妝膏護膚知識培訓(xùn)課件
- 小紅船讀后感
- 市場營銷策略制定服務(wù)協(xié)議
- 電氣安全安全管理程序
- 銷盤摩擦磨損試驗機設(shè)計
- 長江流域氣候變化影響脆弱性和適應(yīng)性
- 《中國古代文學(xué)史——第四編:隋唐五代文學(xué)》PPT課件(完整版)
- 人教版數(shù)學(xué)八年級下冊全冊說課稿(PPT版)(共21張PPT)課件
- 政府采購法專題課件(PPT 33頁)
- 材料大課堂鈦合金(課堂PPT)
- NRC蛋雞飼養(yǎng)標(biāo)準(zhǔn)
- 項目總工崗位職責(zé)
- 最新-路面標(biāo)線技術(shù)交底
- 醫(yī)院卒中質(zhì)量控制考核方案
評論
0/150
提交評論