2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Visual FoxPro,講授 鐘 丹,江蘇省普通高校計(jì)算機(jī)等級(jí)考試教程,第 四 章,數(shù)據(jù)庫(kù)的創(chuàng)建和使用,一、數(shù)據(jù)庫(kù)的基本概念,數(shù)據(jù)庫(kù)的概念:數(shù)據(jù)庫(kù)是一個(gè)容器,是許多相關(guān)的 數(shù)據(jù)庫(kù)表及其關(guān)系的集合數(shù)據(jù)庫(kù)的功能:存儲(chǔ)一系列表,在表間建立關(guān)系, 設(shè)置屬性和數(shù)據(jù)有效性規(guī)則使相關(guān)

2、 聯(lián)的表協(xié)同工作。庫(kù)文件類型:每創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)都將產(chǎn)生三個(gè) 文件:數(shù)據(jù)庫(kù)文件.dbc,關(guān)聯(lián)的數(shù)據(jù)庫(kù) 備注文件.dct,關(guān)聯(lián)的數(shù)據(jù)庫(kù)索引文 件.dcx,設(shè)計(jì)一個(gè)完善、高效和結(jié)構(gòu)優(yōu)化的數(shù)據(jù)庫(kù),是創(chuàng)建以數(shù)據(jù)庫(kù)為基礎(chǔ)的信息系統(tǒng)中必不可

3、少的重要環(huán)節(jié),VFP的主要操作對(duì)象就是數(shù)據(jù)庫(kù)(庫(kù)表),數(shù)據(jù)庫(kù)的創(chuàng)建:界面方式:1、 在“項(xiàng)目管理器”中創(chuàng)建,創(chuàng)建的庫(kù)在項(xiàng)目中 2 、通過(guò)“新建”按鈕或“文件”—“新建”來(lái)創(chuàng)建,創(chuàng) 建的庫(kù)不在項(xiàng)目中命令方式:用create database [databasename|?]VFP數(shù)據(jù)庫(kù)的組成數(shù)據(jù)庫(kù)表:從屬于某個(gè)數(shù)據(jù)庫(kù)的表,與自由表相比具有許多

4、 擴(kuò)展功能和管理特性注:庫(kù)表與庫(kù)之間的相關(guān)性是通過(guò)庫(kù)表文件(.dbf)和庫(kù)文 件(.dbc)之間的雙向鏈接來(lái)實(shí)現(xiàn)的,雙向鏈接包括前 鏈和后鏈;前鏈保存在庫(kù)中,后鏈保存在表中 視圖(view):把分散在相關(guān)表中的數(shù)據(jù)通過(guò)聯(lián)接條件將它們收集到一起,構(gòu)成一張?zhí)摫?,視圖就是這樣一種虛表類型。連接(connection)存儲(chǔ)過(guò)程,二、數(shù)據(jù)庫(kù)的創(chuàng)建,打開(kāi)一個(gè)庫(kù):界面方式:新建一個(gè)數(shù)據(jù)

5、庫(kù),保存后會(huì)自動(dòng)打開(kāi)在打開(kāi)一個(gè)數(shù)據(jù)庫(kù)表時(shí),系統(tǒng)也會(huì)自動(dòng)的打開(kāi)相應(yīng)的庫(kù)在“項(xiàng)目管理器”中用“打開(kāi)”或“修改”按鈕命令方式:注意點(diǎn):P84Open database [databaseName][exclusive|shared][noupdate][validate]設(shè)置當(dāng)前數(shù)據(jù)庫(kù)在“常用”工具欄“數(shù)據(jù)庫(kù)下拉列表”中選擇利用set database to databaseName命令來(lái)進(jìn)行設(shè)置,三、數(shù)據(jù)庫(kù)的使用,檢查數(shù)據(jù)庫(kù)的

6、有效性:若用戶移動(dòng)了數(shù)據(jù)庫(kù)文件(.dbc,.dct,.dcx)或與數(shù)據(jù)庫(kù)相關(guān)聯(lián)的表文件,則這些文件的相對(duì)路徑會(huì)改變,那么有可能破壞VFP關(guān)聯(lián)庫(kù)和表的雙向鏈接,就需要重建鏈接或檢查有效性,使用命令:Validata database [recover][to printer|to file filename]修改庫(kù):?jiǎn)?dòng)庫(kù)設(shè)計(jì)器:“修改”按鈕 MODIFY DATABASE關(guān)閉庫(kù):“項(xiàng)

7、目管理器”—“關(guān)閉”按鈕 close database [all]命令 刪除庫(kù):“項(xiàng)目管理器”—“移去”按鈕,概念:數(shù)據(jù)字典是指存儲(chǔ)在數(shù)據(jù)庫(kù)中,用于描述所管理的表和對(duì)象的數(shù)據(jù);存儲(chǔ)在數(shù)據(jù)字典中的信息稱之為元數(shù)據(jù)(Metadata),換言之,其記錄的是關(guān)于數(shù)據(jù)的數(shù)據(jù)。數(shù)據(jù)字典的功能:創(chuàng)建和指定以下內(nèi)容表中字段的標(biāo)題、注釋、默認(rèn)值、輸入掩碼和顯示格式,以及表單中的默認(rèn)控件表的主索引關(guān)鍵

8、字長(zhǎng)表名和表注釋字段級(jí)和記錄級(jí)有效性規(guī)則存儲(chǔ)過(guò)程插入、更新和刪除事件觸發(fā)器,四、VFP數(shù)據(jù)字典概述,五、數(shù)據(jù)庫(kù)表,庫(kù)表的創(chuàng)建 :界面方式:選中“項(xiàng)目管理器”—“數(shù)據(jù)庫(kù)”—“表”,新建按鈕“數(shù)據(jù)庫(kù)設(shè)計(jì)器”—“數(shù)據(jù)庫(kù)設(shè)計(jì)器工具欄”—“新建表”在數(shù)據(jù)庫(kù)打開(kāi)時(shí),“文件”—“新建”或“新建”按鈕命令方式:在數(shù)據(jù)庫(kù)打開(kāi)時(shí),利用create table-SQL語(yǔ)句來(lái)創(chuàng)建表,此時(shí)若在命令中不使用free子句,則創(chuàng)建的為庫(kù)表注意:在

9、利用命令創(chuàng)建庫(kù)表時(shí),可以使用name子句定義長(zhǎng) 表名(表名長(zhǎng)度可超過(guò)128個(gè)字符),數(shù)據(jù)庫(kù)表具有自由表的所有功能,對(duì)自由表適用的所有操作也同樣適用于數(shù)據(jù)庫(kù)表,庫(kù)表還另外擴(kuò)展了數(shù)據(jù)管理和控制等功能,庫(kù)表的字段擴(kuò)展屬性 :字段顯示屬性:只要求會(huì)根據(jù)給出的條件進(jìn)行設(shè)置字段格式:用于指定字段顯示時(shí)的格式,包括瀏覽窗口、表單和報(bào)表中顯示時(shí)的大小寫(xiě)和樣式等,可用的格式字母代號(hào)見(jiàn) 表4-1輸入掩碼:用于指定字段中輸入數(shù)據(jù)的格式

10、,可用的掩碼字符見(jiàn) 表4-2字段的標(biāo)題和注釋:標(biāo)題和注釋是為了使表具有更好的可讀性和可理解性,不是必需的;在“項(xiàng)目管理器”中選中字段,窗口下部的狀態(tài)欄會(huì)顯示字段注釋,數(shù)據(jù)庫(kù)表除了具有自由表的屬性之外,還可以設(shè)置一些擴(kuò)展屬性;這些屬性在“表設(shè)計(jì)器”中設(shè)置,并作為數(shù)據(jù)字典保存在數(shù)據(jù)庫(kù)中,字段級(jí)驗(yàn)證:用來(lái)限定字段的取值及取值范圍,包括有效性規(guī)則,有效性信息以及默認(rèn)值字段有效性規(guī)則:用來(lái)控制輸入到字段中的數(shù)據(jù)的取值范圍,是一個(gè)邏輯表達(dá)

11、式,且當(dāng)前字段包含在表達(dá)式當(dāng)中;當(dāng)輸入數(shù)據(jù)時(shí),系統(tǒng)根據(jù)表達(dá)式進(jìn)行驗(yàn)證,若結(jié)果為.t.,則接收輸入的值;否則,拒絕輸入的值,并且顯示一個(gè)提示框字段有效性信息:它是有效性規(guī)則的說(shuō)明,是一個(gè)字符表達(dá)式,是在拒絕輸入值時(shí)顯示的提示框中的說(shuō)明信息默認(rèn)值:向一張數(shù)據(jù)庫(kù)表中添加新記錄時(shí)所指定的最初的值稱為該字段的默認(rèn)值,它必須是一個(gè)與字段類型相同的表達(dá)式,適當(dāng)?shù)脑O(shè)置默認(rèn)值可以減少輸入的工作量字段的默認(rèn)控件類型:作用是指定在使用“表單向?qū)А鄙杀?/p>

12、單或從數(shù)據(jù)環(huán)境中將字段拖放到表單上時(shí),與字段相對(duì)應(yīng)的控件類,相關(guān)例題,還可以利用命令來(lái)進(jìn)行擴(kuò)展屬性的設(shè)置:Create table 表名 (字段名 類型(寬度)[default 表達(dá)式][check 表達(dá)式][error ‘提示信息’]……)Alter table 表名 alter column 字段名 [set defa 表達(dá)式][set check 表達(dá)式][error ‘提示信息’]例1:在數(shù)據(jù)庫(kù)中創(chuàng)建表CJ_TEMP1,給

13、XH字段設(shè)置默認(rèn)值980000,給CJ字段設(shè)置驗(yàn)證規(guī)則0<=CJ<=100,驗(yàn)證信息為:成績(jī)必須在0~100之間例2:給已經(jīng)在數(shù)據(jù)庫(kù)中的表CJ設(shè)置字段屬性:XH字段的默認(rèn)值為980000,CJ字段的驗(yàn)證規(guī)則為:0<=CJ<=100,驗(yàn)證信息為:成績(jī)必須在0~100之間,庫(kù)表的表屬性 :例長(zhǎng)表名和表注釋:長(zhǎng)表名:創(chuàng)建表時(shí),若不做任何規(guī)定則表文件名就是表名;若設(shè)置了長(zhǎng)表名屬性,則該數(shù)據(jù)庫(kù)在任何場(chǎng)合均以長(zhǎng)表名代替

14、表文件名使用 在“表設(shè)計(jì)器”—“表”卡片—“表名”中設(shè)置,也可在使用create table命令創(chuàng)建庫(kù)表時(shí)用Name子句來(lái)設(shè)置(如前述)表注釋:表的說(shuō)明信息,在“表設(shè)計(jì)器”—“表”卡片中進(jìn)行設(shè)置;設(shè)置后在“項(xiàng)目管理器”中選中相應(yīng)的表,可在窗口的下部狀態(tài)欄中看到表的注釋,數(shù)據(jù)庫(kù)表不僅可以設(shè)置字段的擴(kuò)展屬性,還可以為表設(shè)置一些屬性,如長(zhǎng)表名、記錄級(jí)驗(yàn)證、觸發(fā)器等,這些屬性在“表設(shè)計(jì)器”中設(shè)置,也保存在數(shù)據(jù)字典中,記錄級(jí)驗(yàn)證:用于

15、定義記錄級(jí)校驗(yàn)規(guī)則,包括了記錄的有效性規(guī)則和有效性信息注意比較字段級(jí)驗(yàn)證和記錄級(jí)驗(yàn)證的區(qū)別記錄有效性規(guī)則和信息的設(shè)置類似于字段有效性規(guī)則和信息的設(shè)置,也可在create table時(shí)利用check子句來(lái)進(jìn)行設(shè)置或在alter table時(shí)利用set check子句來(lái)進(jìn)行設(shè)置注意比較利用命令進(jìn)行字段驗(yàn)證設(shè)置和記錄驗(yàn)證設(shè)置的區(qū)別表觸發(fā)器:是綁定在表上的邏輯表達(dá)式,是表在進(jìn)行插入、更新或刪除記錄是的檢驗(yàn)規(guī)則觸發(fā)器分為三種:插入、更新

16、、刪除觸發(fā)器的返回值為.t.或.f.,若為.t.,則允許該操作執(zhí)行;否則,就,不允許該操作執(zhí)行觸發(fā)器可在“表設(shè)計(jì)器”—“表”卡片中設(shè)置,也可通過(guò)create trigger on來(lái)設(shè)置觸發(fā)器,通過(guò)delete trigger on來(lái)刪除觸發(fā)器,庫(kù)表的索引:前述有關(guān)自由表索引的一切內(nèi)容均適用于庫(kù)表,但庫(kù)表多出一個(gè)主索引設(shè)置主索引時(shí)必須注意:主索引必須是一個(gè)候選索引,即記錄的值必須唯一主索引對(duì)每張庫(kù)表都只有一個(gè),庫(kù)表的添加和移去:

17、向庫(kù)中添加表是指將自由表添加到庫(kù)中,使自由表成為數(shù)據(jù)庫(kù)表,本質(zhì)上是建立了庫(kù)表和庫(kù)之間的雙向鏈接;而從庫(kù)中移去表,則是刪除了庫(kù)表和庫(kù)之間的雙向鏈接添加:“項(xiàng)目管理器”—“添加”“數(shù)據(jù)庫(kù)設(shè)計(jì)器”—“工具欄”—“添加”按鈕在數(shù)據(jù)庫(kù)打開(kāi)并為當(dāng)前庫(kù)時(shí),用add table 表名 來(lái)添加注意:一張表只能添加到一個(gè)庫(kù)中去移去:“項(xiàng)目管理器”中選中表—“移去”“庫(kù)設(shè)計(jì)器”中選中表—“工具欄”—“移去”按鈕在數(shù)據(jù)庫(kù)打開(kāi)并為當(dāng)前庫(kù)時(shí),用r

18、emove table 表名來(lái)移去,有關(guān)庫(kù)和庫(kù)表的幾點(diǎn)說(shuō)明:盡可能使用數(shù)據(jù)庫(kù)表,因它存在這一些約束條件可以使用!來(lái)指定數(shù)據(jù)庫(kù)(在打開(kāi)多個(gè)庫(kù)時(shí))移動(dòng)和復(fù)制庫(kù)文件時(shí)要考慮到相應(yīng)庫(kù)表的位置,以防出現(xiàn)前、后鏈的錯(cuò)誤不要輕易的從庫(kù)中移去表做過(guò)多次修改庫(kù)結(jié)構(gòu)、庫(kù)表結(jié)構(gòu)的操作后,要進(jìn)行“數(shù)據(jù)庫(kù)清理”,以防出現(xiàn)錯(cuò)誤和數(shù)據(jù)的冗余在刪除庫(kù)后,應(yīng)該有一個(gè)FREE TABLE 表名的命令若多次移動(dòng)、刪除了庫(kù)或庫(kù)表,應(yīng)使用validate d

19、atabase recover命令重建雙向聯(lián)接,六、永久關(guān)系和參照完整性,表之間的關(guān)系:三種關(guān)系一對(duì)一關(guān)系:甲表的每一個(gè)記錄在乙表中只能對(duì)應(yīng)一個(gè)記錄,而乙表中的每一個(gè)記錄在甲表中也只能有一個(gè)記錄與之對(duì)應(yīng)一對(duì)多關(guān)系:設(shè)有甲乙兩張表,如果甲表中的任意一個(gè)記錄在乙表中可以有幾個(gè)記錄與之對(duì)應(yīng),而乙表中的每個(gè)記錄在甲表中就有一個(gè)記錄與之對(duì)應(yīng),則稱甲乙兩張表之間存在一對(duì)多關(guān)系,并稱甲表為“父表”,乙表為“子表”多對(duì)多關(guān)系:若甲表的一個(gè)記錄在

20、乙表中可以對(duì)應(yīng)多個(gè)記錄,而乙表中的一個(gè)記錄在甲表中也可以對(duì)應(yīng)多個(gè)記錄,則稱這兩張表具有多對(duì)多關(guān)系,數(shù)據(jù)庫(kù)中,用戶可以為存在一對(duì)多關(guān)系的兩張表創(chuàng)建永久性關(guān)系,且基于永久性關(guān)系可以創(chuàng)建這兩張表之間的數(shù)據(jù)完整性規(guī)則,紐帶表:在使用中,多對(duì)多關(guān)系不能直接被使用;遇到多對(duì)多的情況,必須建立第三張表,把一個(gè)多對(duì)多關(guān)系分解為兩個(gè)一對(duì)多關(guān)系;這第三張表就稱為紐帶表,紐帶表中要存儲(chǔ)兩張父表的主關(guān)鍵字分析并確定表之間的關(guān)系: 分析每張表,并確定它

21、們之間的關(guān)系,必要時(shí)可以在表中添加字段或者創(chuàng)建一張新表來(lái)明確關(guān)系;要求會(huì)根據(jù)給出的條件判定表之間的關(guān)系,特別是要能夠找出紐帶表,表之間的永久性關(guān)系:永久性關(guān)系:是在數(shù)據(jù)庫(kù)表之間的一種關(guān)系,這種關(guān)系不僅在運(yùn)行時(shí)存在,而且一直保留;擁有永久性關(guān)系的表必須在數(shù)據(jù)庫(kù)中;永久性關(guān)系是根據(jù)表的索引來(lái)建立的補(bǔ)充:臨時(shí)關(guān)系:是在打開(kāi)的表之間在“數(shù)據(jù)工作期”窗口中設(shè)置,,還可以用set relation命令建立臨時(shí)性關(guān)系(P111 例4.13),它不

22、保存,運(yùn)行結(jié)束時(shí)就結(jié)束。永久性關(guān)系的作用:在“查詢/視圖設(shè)計(jì)器”中,自動(dòng)作為默認(rèn)聯(lián)接條件作為表單和報(bào)表的默認(rèn)關(guān)系,在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中顯示出來(lái)用來(lái)存儲(chǔ)參照完整性信息,創(chuàng)建永久性關(guān)系的操作:確定兩張具有一對(duì)多/一對(duì)一關(guān)系的表建立主表的主索引或候選索引若為一對(duì)多關(guān)系,則在子表中以主表的主關(guān)鍵字作為該表的外部關(guān)鍵字建立普通索引;若為一對(duì)一關(guān)系,則在子表中以與主表相同的關(guān)鍵字建立主索引或候選索引在“庫(kù)設(shè)計(jì)器”中,將主表的主索引

23、或候選索引標(biāo)識(shí)拖放到子表相同的索引標(biāo)識(shí)上,則完成了永久關(guān)系的設(shè)置在“庫(kù)設(shè)計(jì)器”中,可以建立、刪除或編輯庫(kù)表之間的永久關(guān)系:刪除—單擊連線,DEL 編輯—雙擊連線,參照完整性:p102定義:用來(lái)控制數(shù)據(jù)的一致性,尤其是控制數(shù)據(jù)庫(kù)相關(guān)表之間的主關(guān)鍵字和外部關(guān)鍵字之間數(shù)據(jù)一致性的規(guī)則參照完整性的一般要求:三個(gè)規(guī)則子表中的每一個(gè)記錄在對(duì)應(yīng)的主表中必須有一個(gè)父記錄在子表中插入記錄時(shí),其外部

24、關(guān)鍵字必須是父表主關(guān)鍵字值中的一個(gè)在父表中刪除記錄時(shí),與該記錄相關(guān)的子表中的記錄必須全部刪除設(shè)置參照完整性:雙擊連線——單擊“參照完整性”按鈕右擊連線——“編輯參照完整性”,參照完整性設(shè)置規(guī)則: 表 例一般我們使用“更新”、“刪除”級(jí)聯(lián),“插入”限制,但要會(huì)根據(jù)給出的條件對(duì)照規(guī)則表設(shè)置參照完整性。VFP完整性綜述:主要使用前兩類,系統(tǒng)自動(dòng)實(shí)體完整性:字段級(jí)和記錄級(jí)有效性驗(yàn)證參照完整性:表之間數(shù)據(jù)的一致性用戶自

25、定義完整性:用戶通過(guò)編寫(xiě)代碼來(lái)控制數(shù)據(jù) 的完整性,數(shù)據(jù)庫(kù)操作常用函數(shù):DBC()與DBUSED()前者返回當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)的完整文件名,該函數(shù)無(wú)參數(shù)后者返回指定的數(shù)據(jù)庫(kù)文件是否已打開(kāi),若打開(kāi)則為T(mén),未打開(kāi)為F,該函數(shù)的參數(shù)為數(shù)據(jù)庫(kù)名(C型)DBGETPROP(名稱,類型,屬性) DBSETPROP(名稱,類型,屬性,表達(dá)式)類型有:DATABASE

26、,TABLE,F(xiàn)IELD,VIEW屬性有:Caption標(biāo)題,Comment注釋,DefaultValue默認(rèn)值,Path路徑,PrimaryKey主索引,RuleExpression有效性驗(yàn)證規(guī)則,RuleText有效性驗(yàn)證信息,DeleteTrigger刪除觸發(fā)器,InsertTrigger插入觸發(fā)器,UpdateTrigger更新觸發(fā)器,,庫(kù)表的字段格式代號(hào)表,,庫(kù)表的字段輸入掩碼代號(hào)表,,按照下述設(shè)置JS表的字段屬性,,1)為

27、GH字段設(shè)置標(biāo)題工號(hào),并刪除輸入時(shí)的前后空格,在輸入時(shí)第1位為字母,后四位為數(shù)字,加注釋:主關(guān)鍵字2)為XB字段設(shè)置標(biāo)題性別,并將默認(rèn)值設(shè)置為男,設(shè)置驗(yàn)證規(guī)則:性別必須為男或女;并且寫(xiě)入相應(yīng)的驗(yàn)證信息3)為XDH字段設(shè)置標(biāo)題系代號(hào),要求在輸入時(shí)只能輸入數(shù)字不能輸入其他的值4)為GZRQ字段設(shè)置標(biāo)題工作日期,并將默認(rèn)值設(shè)置為當(dāng)前的日期,按照下述設(shè)置JS表的表屬性,給JS表設(shè)置長(zhǎng)表名:教師基本情況表給JS表添加注釋:這個(gè)表介紹了教師

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論