第3章-Visual-FoxPro數(shù)據(jù)庫(kù)及其操作_第1頁(yè)
第3章-Visual-FoxPro數(shù)據(jù)庫(kù)及其操作_第2頁(yè)
第3章-Visual-FoxPro數(shù)據(jù)庫(kù)及其操作_第3頁(yè)
第3章-Visual-FoxPro數(shù)據(jù)庫(kù)及其操作_第4頁(yè)
第3章-Visual-FoxPro數(shù)據(jù)庫(kù)及其操作_第5頁(yè)
已閱讀5頁(yè),還剩67頁(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)介

第3章VisualFoxPro數(shù)據(jù)庫(kù)及其操作

1/71頁(yè)本章教學(xué)要求:掌握數(shù)據(jù)庫(kù)和表的建立,對(duì)表的基本操作。3.1VisualFoxPro數(shù)據(jù)庫(kù)和表的建立3.2建立數(shù)據(jù)庫(kù)表3.3表的基本操作3.4索引3.5數(shù)據(jù)完整性3.6自由表3.7多表的同時(shí)使用3.8排序23.1VisualFoxPro數(shù)據(jù)庫(kù)及其建立

在VisualFoxPro中,數(shù)據(jù)庫(kù)可以說(shuō)是一個(gè)邏輯上的概念和手段,它通過(guò)一組系統(tǒng)文件將相互關(guān)聯(lián)的數(shù)據(jù)庫(kù)表及其相關(guān)的數(shù)據(jù)庫(kù)對(duì)象統(tǒng)一進(jìn)行組織和管理。

33.1VisualFoxPro數(shù)據(jù)庫(kù)及其建立

3.1.1基本概念

數(shù)據(jù)庫(kù)是具有邏輯關(guān)系的一組表的集合,表是庫(kù)中的成員。

VisualFoxPro數(shù)據(jù)庫(kù)以文件的形式保存在計(jì)算機(jī)的磁盤上,數(shù)據(jù)庫(kù)文件的擴(kuò)展名為.dbc,與之相關(guān)地還有一個(gè)擴(kuò)展名為.dct的數(shù)據(jù)庫(kù)備注(Memo)文件和一個(gè)擴(kuò)展名為.dcx的數(shù)據(jù)庫(kù)索引文件。一個(gè)數(shù)據(jù)庫(kù)文件可以包含一個(gè)或多個(gè)表、表間的關(guān)聯(lián)、視圖和存儲(chǔ)過(guò)程等。43.1VisualFoxPro數(shù)據(jù)庫(kù)及其建立

3.1.2建立數(shù)據(jù)庫(kù)

建立數(shù)據(jù)庫(kù)的三種方法1.在項(xiàng)目管理器中建立數(shù)據(jù)庫(kù)(1)在項(xiàng)目管理器中選擇“數(shù)據(jù)”選項(xiàng)卡中的“數(shù)據(jù)庫(kù)”,單擊“新建”按鈕。(2)單擊“新建數(shù)據(jù)庫(kù)”按鈕后,彈出“創(chuàng)建”對(duì)話框;在“數(shù)據(jù)庫(kù)名”文本框中輸入新建的數(shù)據(jù)庫(kù)名。(3)單擊“保存”按鈕即可完成數(shù)據(jù)庫(kù)的建立,并打開(kāi)“數(shù)據(jù)庫(kù)設(shè)計(jì)器”。

5

建立數(shù)據(jù)庫(kù)的三種方法(續(xù))2.利用“文件”->“新建”命令建立數(shù)據(jù)庫(kù)

(1)單擊“文件”→“新建”菜單命令或者選擇工具欄中的“新建”按鈕;(2)在“文件類型”選項(xiàng)組中選中“數(shù)據(jù)庫(kù)”單選按鈕。(3)單擊“新建文件”按鈕,在“創(chuàng)建”對(duì)話框中輸入要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)文件的名字。(4)單擊“保存”按鈕,即創(chuàng)建數(shù)據(jù)庫(kù)并且打開(kāi)該數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)設(shè)計(jì)器。

6

建立數(shù)據(jù)庫(kù)的三種方法(續(xù))3.用命令方式建立數(shù)據(jù)庫(kù)

命令格式:CREATEDATABASE<數(shù)據(jù)庫(kù)文件名>

73.1.3使用數(shù)據(jù)庫(kù)

1.在項(xiàng)目管理器中打開(kāi)數(shù)據(jù)庫(kù)在項(xiàng)目管理器窗口下切換到“數(shù)據(jù)”選項(xiàng)卡,然后選擇其中要打開(kāi)的數(shù)據(jù)庫(kù),再單擊窗口右側(cè)的“修改”命令按鈕,則彈出該數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)設(shè)計(jì)器。2.利用“文件”->“打開(kāi)”命令打開(kāi)數(shù)據(jù)庫(kù)

單擊“文件”→“打開(kāi)”菜單命令或者選擇工具欄中的“打開(kāi)”按鈕。在“文件類型”下拉列表框中選擇“數(shù)據(jù)庫(kù)(*.dbc)”。

83.用命令方式打開(kāi)數(shù)據(jù)庫(kù)打開(kāi)數(shù)據(jù)庫(kù)的命令是:OPENDATABASE。命令格式:OPENDATABASE<數(shù)據(jù)庫(kù)文件名>

[EXCLUSIVE|SHARED][NOUPDATE][VALIDATE]只讀方式9

設(shè)置當(dāng)前數(shù)據(jù)庫(kù)

VisualFoxPro在同一時(shí)刻可以打開(kāi)多個(gè)數(shù)據(jù)庫(kù),但在同一時(shí)刻只有一個(gè)當(dāng)前數(shù)據(jù)庫(kù)。指定當(dāng)前數(shù)據(jù)庫(kù)的命令如下:

SETDATABASETO<數(shù)據(jù)庫(kù)名字>其中“數(shù)據(jù)庫(kù)名字”是一個(gè)已經(jīng)打開(kāi)的數(shù)據(jù)庫(kù)的名字。如果不指定該參數(shù),即輸入命令:

SETDATABASETO此時(shí)使得所有打開(kāi)的數(shù)據(jù)庫(kù)都不是當(dāng)前數(shù)據(jù)庫(kù)(注意:所有的數(shù)據(jù)庫(kù)都沒(méi)有關(guān)閉,只是都不是當(dāng)前數(shù)據(jù)庫(kù))。另外,也可以通過(guò)標(biāo)準(zhǔn)工具欄中的數(shù)據(jù)庫(kù)下拉列表來(lái)選擇、指定當(dāng)前數(shù)據(jù)庫(kù)。

103.1.4修改數(shù)據(jù)庫(kù)

在VisualFoxPro中修改數(shù)據(jù)庫(kù)實(shí)際是打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器來(lái)進(jìn)行操作,可以在數(shù)據(jù)庫(kù)設(shè)計(jì)器中完成各種數(shù)據(jù)庫(kù)對(duì)象的建立、修改和刪除等操作。1.在項(xiàng)目管理器中打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器在項(xiàng)目管理器窗口下切換到“數(shù)據(jù)”選項(xiàng)卡,然后選擇其中要修改的數(shù)據(jù)庫(kù),再單擊窗口右側(cè)的“修改”命令按鈕,則彈出該數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)設(shè)計(jì)器。112.利用“文件”->“打開(kāi)”命令打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器

單擊“文件”→“打開(kāi)”菜單命令或者選擇工具欄中的“打開(kāi)”按鈕。在“文件類型”下拉列表框中選擇“數(shù)據(jù)庫(kù)(*.dbc)”。

123.用命令方式打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器修改數(shù)據(jù)庫(kù)的命令是:MODIFYDATABASE。命令格式:MODIFYDATABASE<數(shù)據(jù)庫(kù)文件名>

[NOWAIT][NOEDIT]133.1.5刪除數(shù)據(jù)庫(kù)

1.使用項(xiàng)目管理器刪除數(shù)據(jù)庫(kù)在項(xiàng)目管理器窗口下切換到“數(shù)據(jù)”選項(xiàng)卡,然后選擇其中要?jiǎng)h除的數(shù)據(jù)庫(kù),再單擊窗口右側(cè)的“移去”命令按鈕。142.用命令刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)的命令是:DELETEDATABASE。命令格式:DELETEDATABASE<數(shù)據(jù)庫(kù)文件名>[DELETETABLES][RECYCLE]將數(shù)據(jù)庫(kù)文件放入回收站刪除數(shù)據(jù)庫(kù)及其表153.1.6關(guān)閉數(shù)據(jù)庫(kù)

兩種方法:

1.利用“文件”->“關(guān)閉”命令關(guān)閉打開(kāi)的數(shù)據(jù)庫(kù)單擊“文件”→“關(guān)閉”菜單命令可以關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)。

2.用命令關(guān)閉數(shù)據(jù)庫(kù)關(guān)閉數(shù)據(jù)庫(kù)的命令是:CLOSEDATABASE。命令格式:

CLOSEDATABASE[ALL]關(guān)閉所有打開(kāi)的數(shù)據(jù)庫(kù)163.2建立數(shù)據(jù)庫(kù)表

在VisualFoxPro中,數(shù)據(jù)表對(duì)應(yīng)著關(guān)系,即二維表格。

VisualFoxPro的數(shù)據(jù)表也以文件的形式保存在計(jì)算機(jī)的磁盤上,數(shù)據(jù)表文件的擴(kuò)展名為.dbf。一個(gè)數(shù)據(jù)表由若干記錄(元組)構(gòu)成。173.2建立數(shù)據(jù)庫(kù)表

3.2.1在數(shù)據(jù)庫(kù)中建立表

在VisualFoxPro中,表分為自由表和數(shù)據(jù)庫(kù)表兩種類型:自由表是指那些沒(méi)有加入到任何數(shù)據(jù)庫(kù)中的表。數(shù)據(jù)庫(kù)表是指那些已經(jīng)加入到相應(yīng)數(shù)據(jù)庫(kù)中的表。183.2.1在數(shù)據(jù)庫(kù)中建立表

使用項(xiàng)目管理器來(lái)建立數(shù)據(jù)庫(kù)表

要為數(shù)據(jù)庫(kù)新建表,首先要進(jìn)入到該數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)設(shè)計(jì)器界面,方法是:在項(xiàng)目管理器窗口下切換到“數(shù)據(jù)”選項(xiàng)卡選擇其中要新建表的那個(gè)數(shù)據(jù)庫(kù)單擊窗口右側(cè)的“修改”命令按鈕,則彈出該數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)設(shè)計(jì)器在菜單欄中選擇“數(shù)據(jù)庫(kù)”菜單單擊其中的“新建表”命令(或者在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口的空白處右擊鼠標(biāo),并在彈出“數(shù)據(jù)庫(kù)”快捷菜單中選擇“新建表”命令)參見(jiàn)P100相關(guān)內(nèi)容193.2.2修改表結(jié)構(gòu)

使用項(xiàng)目管理器來(lái)修改數(shù)據(jù)庫(kù)表

方法:在項(xiàng)目管理器窗口下切換到“數(shù)據(jù)”選項(xiàng)卡選擇其中要修改的那個(gè)表所屬的數(shù)據(jù)庫(kù),并選中該數(shù)據(jù)庫(kù)中要修改的那個(gè)表單擊窗口右側(cè)的“修改”命令按鈕,則彈出該數(shù)據(jù)庫(kù)表的表設(shè)計(jì)器。使用數(shù)據(jù)庫(kù)設(shè)計(jì)器修改數(shù)據(jù)庫(kù)表方法:進(jìn)入要修改的那個(gè)表所屬的數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口選中要修改的那個(gè)表單擊“數(shù)據(jù)庫(kù)”菜單,并單擊其中的“修改”命令(或者在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口中右擊要修改的那個(gè)表,在彈出快捷菜單中選擇“修改”命令。則彈出該表的表設(shè)計(jì)器)203.2.2修改表結(jié)構(gòu)

使用命令修改數(shù)據(jù)庫(kù)表

命令格式:

MODIFYSTRUCTURE213.3表的基本操作

Visual表的基本操作,其中包括增加記錄、刪除記錄、修改記錄、顯示記錄以及查詢定位。223.3表的基本操作

3.3.1使用瀏覽窗口操作表

1.打開(kāi)瀏覽窗口如果交互對(duì)表中的數(shù)據(jù)進(jìn)行操作,那么最簡(jiǎn)單、方便的方法就是使用Browse瀏覽器。打開(kāi)瀏覽器的常用方法有以下幾種:(1)在項(xiàng)目管理器中將數(shù)據(jù)庫(kù)展開(kāi)至表,選擇要操作的表,單擊“瀏覽”按鈕。(2)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中選擇要操作的表,選擇“數(shù)據(jù)庫(kù)”→“瀏覽”命令;或者右擊要操作的表,從彈出的快捷菜單中選擇“瀏覽”命令。(3)命令方式下,首先用USE命令打開(kāi)要操作的表,然后輸入BROWSE命令。

233.3.2增加記錄的命令

1.APPEND命令

命令格式:

APPEND[BLANK

]2.INSERT命令命令格式:

INSERT[BEFORE][BLANK]

243.3.3刪除記錄的命令

邏輯刪除和物理刪除。1.邏輯刪除命令格式:

DELETE[范圍][FOR<條件>]

2.恢復(fù)被邏輯刪除記錄的命令命令格式:

RECALL[范圍][FOR<條件>]253.3.3刪除記錄的命令

3.物理刪除帶有刪除標(biāo)記的記錄命令格式:

PACK[MEMO][DBF]命令說(shuō)明:

MEMO表示從備注文件中刪除未使用的空間,但不從表中刪除帶有刪除標(biāo)記的記錄。

DBF表示從表中刪除帶有標(biāo)記的記錄,但不影響備注文件。

263.3.3刪除記錄的命令

4.物理刪除表中的全部記錄

命令格式:ZAP273.3.4修改記錄的命令

用REPLACE命令修改記錄數(shù)據(jù)

REPLACE命令直接用指定表達(dá)式的值來(lái)修改記錄。

命令格式:

REPLACE[范圍]<字段名1>WITH<表達(dá)式1>[,<字段名2>WITH<表達(dá)式2>]…[For<條件>]例:①useXSreplace姓名with“張曉軍”,是否團(tuán)員with.T.for姓名=“張小軍”②useXSreplaceall總分with政治+數(shù)學(xué)+外語(yǔ)&&計(jì)算學(xué)生總分修改表的所有記錄修改滿足指定條件的記錄283.3.5顯示記錄的命令

顯示數(shù)據(jù)記錄的命令是LIST和DISPLAY。

命令格式:LIST/DISPLAY[[FIELDS]Fieldlist][FOR<條件>][OFF][TOPRINTER[PROMPT]|TOFILEFileName]293.3.6查詢定位的命令

1.GO和GOTO命令——絕對(duì)定位可以用GO、GOTO命令直接定位,GO和GOTO命令是等價(jià)的。命令格式:GOn|TOP|BOTTOMGOTOn|TOP|BOTTOM例3.5用GO命令直接定位記錄。USEXS &&打開(kāi)"學(xué)生"表GOTOP &&將記錄指針定位在表的第一條記錄上GOBOTTOM&&將記錄指針定位在表的最后一條記錄上表的第一個(gè)記錄表的最后一個(gè)記錄303.3.6查詢定位的命令

2.SKIP命令——相對(duì)定位命令格式:SKIP[nRecords]例3.6用SKIP命令定位記錄。USEXS &&打開(kāi)"學(xué)生"表SKIP3?RECNO() &&顯示第4條記錄SKIP2?RECNO() &&顯示第6條記錄SKIP-2?RECNO() &&顯示第4條記錄313.3.6查詢定位的命令

3.LOCATE命令LOCATE是按條件定位記錄位置的命令。命令格式:LOCATE[范圍]FOR<條件>例:使用LOCATE的定位。USEXSLOCATEFOR總分>=240CONTINUE323.4索引

3.4.1索引的概念

索引本質(zhì)上是一張為了方便查找數(shù)據(jù)而設(shè)置的對(duì)照表。例如,書本的目錄就是為了方便大家查找書本中的相關(guān)內(nèi)容而設(shè)置的一張“章節(jié)內(nèi)容”和“頁(yè)碼”的對(duì)照表。數(shù)據(jù)表的索引本質(zhì)上是一張根據(jù)數(shù)據(jù)表創(chuàng)建的對(duì)照表。使用索引的目的是為了對(duì)數(shù)據(jù)表進(jìn)行排序,從而實(shí)現(xiàn)數(shù)據(jù)的快速查找。可以對(duì)同一數(shù)據(jù)表按不同的列(字段)建立多個(gè)索引,也可以對(duì)同一數(shù)據(jù)表的同一個(gè)列(字段)建立多個(gè)索引。同一數(shù)據(jù)表的全部索引被保存在計(jì)算機(jī)的磁盤上的一個(gè)文件中,這就是復(fù)合索引文件,復(fù)合索引文件的擴(kuò)展名為.CDX。333.4.1索引的概念

索引文件必須和對(duì)應(yīng)的數(shù)據(jù)表一起使用,而不能單獨(dú)使用。在每一個(gè)索引均可以設(shè)置升序或降序

。VFP中,索引可分為主索引、候選索引、普通索引和唯一索引4種類型。

341.主索引主索引是一種設(shè)定為主關(guān)鍵字的索引,其值在一個(gè)表中具有唯一性,不允許出現(xiàn)重復(fù)值。它強(qiáng)調(diào)的“不允許出現(xiàn)重復(fù)值”是指建立主索引的字段值不允許重復(fù)。

一個(gè)表只能有一個(gè)主關(guān)鍵字,所以一個(gè)表只能創(chuàng)建一個(gè)主索引。只有數(shù)據(jù)庫(kù)表才能建立主索引,自由表不能建立主索引。

352.候選索引候選索引和主索引一樣,要求字段值具有唯一性。建立候選索引的字段可以看做候選關(guān)鍵字,所以一個(gè)表可以建立多個(gè)候選索引。363.普通索引普通索引允許字段中出現(xiàn)重復(fù)值。在數(shù)據(jù)庫(kù)表和自由表中均可為一個(gè)表建立多個(gè)普通索引。374.唯一索引唯一索引中的“唯一”是指允許表中索引項(xiàng)的唯一,而不是字段值的唯一。38索引示例39索引示例關(guān)鍵字值(學(xué)號(hào))記錄的物理地址(記錄號(hào))9921101799211022992110339921104499211055992110669921107740索引示例關(guān)鍵字值(姓名)記錄的物理地址(記錄號(hào))曹伯6郝愛(ài)萍7李建2林勇軍5王君望3王林4張瑞雪141索引示例關(guān)鍵字值(年齡)記錄的物理地址(記錄號(hào))185193197201204206212423.4.2在表設(shè)計(jì)器中建立索引

1.打開(kāi)表設(shè)計(jì)器的方法(1)在項(xiàng)目管理器中打開(kāi)表設(shè)計(jì)器

方法:在項(xiàng)目管理器窗口下切換到“數(shù)據(jù)”選項(xiàng)卡選擇其中要修改的那個(gè)表所屬的數(shù)據(jù)庫(kù)選中該數(shù)據(jù)庫(kù)中要修改的那個(gè)表單擊窗口右側(cè)的“修改”命令按鈕,則彈出該數(shù)據(jù)庫(kù)表的表設(shè)計(jì)器。(2)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中打開(kāi)表設(shè)計(jì)器方法:進(jìn)入要修改的那個(gè)表所屬的數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口選中要修改的那個(gè)表單擊“數(shù)據(jù)庫(kù)”菜單,并單擊其中的“修改”命令(或者在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口中右擊要修改的那個(gè)表,在彈出快捷菜單中選擇“修改”命令。則彈出該表的表設(shè)計(jì)器)43(3)使用命令打開(kāi)表設(shè)計(jì)器

命令格式:

MODIFYSTRUCTURE443.4.2在表設(shè)計(jì)器中建立索引

2.創(chuàng)建索引

建立索引的操作步驟如下:(1)在表設(shè)計(jì)器界面下單擊的“索引”選項(xiàng)卡,然后單擊“插入”按鈕,這時(shí)會(huì)在界面中出現(xiàn)一個(gè)新行;(2)在“索引名”列中輸入所需的索引名;(3)在“索引類型”下拉列表框中選擇所需的索引類型;(4)單擊“表達(dá)式”列右側(cè)的按鈕打開(kāi)表達(dá)式生成器;(5)在表達(dá)式生成器中輸入索引表達(dá)式,單擊“確定”按鈕。(6)關(guān)閉表設(shè)計(jì)器窗口,保存結(jié)果。

453.4.3利用命令方式建立索引

命令格式:INDEXON〈索引表達(dá)式〉TAG〈索引名〉[ASCENDING|DESCENDING][UNIQUE|CANDIDATE]例3.7建立索引:打開(kāi)學(xué)生表XS,以“數(shù)學(xué)”字段創(chuàng)建一個(gè)名為“sx_cj”的索引。USEXSINDEXON數(shù)學(xué)TAGxs_cj463.4.4使用索引

設(shè)置、關(guān)閉主控索引(1)設(shè)置主控索引命令:setordertotag<索引名>(2)關(guān)閉主控索引命令:setorderto473.4.5使用SEEK快速定位483.4.4使用索引

刪除索引

>>當(dāng)不再需要使用某個(gè)索引時(shí),可以刪除它。

>>既可以在表設(shè)計(jì)器中刪除索引,也可以用命令來(lái)刪除索引。刪除索引的命令有以下兩種格式:命令格式1:DELETETAG<索引標(biāo)識(shí)名1>[,<索引標(biāo)識(shí)名2>]…命令格式2:DELETETAGALL例:刪除索引。USEXSDELETETAGsx_cj493.5數(shù)據(jù)完整性

在數(shù)據(jù)庫(kù)中數(shù)據(jù)完整性是指保證數(shù)據(jù)正確的特性。數(shù)據(jù)完整性一般包括實(shí)體完整性、域完整性和參照完整性等,VisualFoxPro提供了實(shí)現(xiàn)這些完整性的方法和手段。503.5數(shù)據(jù)完整性

3.5.1實(shí)體完整性與主關(guān)鍵字

實(shí)體完整性:是對(duì)關(guān)系中的記錄唯一性,也就是主關(guān)鍵字的約束。具體來(lái)說(shuō),實(shí)體完整性是指關(guān)系中的主關(guān)鍵字不能為“空”值且不能有相同值。在VFP中,實(shí)體完整性是通過(guò)設(shè)置主關(guān)鍵字或候選關(guān)鍵字來(lái)實(shí)現(xiàn)的。513.5數(shù)據(jù)完整性

3.5.2域完整性與約束規(guī)則

域完整性:是對(duì)數(shù)據(jù)表中字段屬性的約束,它包括字段的值域、字段的類型及字段的有效規(guī)則等約束。域完整性是通過(guò)以下幾個(gè)方面來(lái)實(shí)現(xiàn)的:(1)限定字段的取值類型和取值范圍;(2)設(shè)置域約束規(guī)則。域約束規(guī)則也稱作字段有效性規(guī)則,它用于檢驗(yàn)輸入數(shù)據(jù)的正確性。

523.5.2域完整性與約束規(guī)則

設(shè)置字段有效性規(guī)則設(shè)置字段有效性規(guī)則通常是在表設(shè)計(jì)器中進(jìn)行,“字段”選項(xiàng)卡中定義字段有效性規(guī)則的項(xiàng)目有“規(guī)則”、“信息”和“默認(rèn)值”這3項(xiàng)。具體的步驟如下:(1)進(jìn)入數(shù)據(jù)庫(kù)表的表設(shè)計(jì)器后,單擊要定義字段有效性規(guī)則的字段;(2)分別輸入“規(guī)則”、“信息”及“默認(rèn)值”等項(xiàng)目;字段有效性規(guī)則的項(xiàng)目可以直接輸入,也可以單擊文本框旁邊的按鈕打開(kāi)表達(dá)式生成器來(lái)生成相應(yīng)的表達(dá)式。

533.5數(shù)據(jù)完整性

3.5.3參照完整性與表之間的關(guān)聯(lián)表之間的關(guān)聯(lián):一個(gè)數(shù)據(jù)庫(kù)包含的各個(gè)表中,有一些表之間存在著某種邏輯上的聯(lián)系,為了反映這種聯(lián)系,就需要建立這些表之間的關(guān)聯(lián)。通常,存在邏輯上的聯(lián)系的兩個(gè)表有公共字段(相同的某個(gè)字段),這兩個(gè)表之間的關(guān)聯(lián)就是按照這它們的公共字段值相等來(lái)建立的。參照完整性:參照完整性與表之間的關(guān)聯(lián)有關(guān),其含義是:當(dāng)插入、刪除或修改一個(gè)表的數(shù)據(jù)時(shí),通過(guò)參照引用與之關(guān)聯(lián)的另一個(gè)表的數(shù)據(jù),來(lái)檢查對(duì)該表的數(shù)據(jù)操作是否正確。

543.5.3參照完整性與表之間的關(guān)聯(lián)1.建立表之間的永久聯(lián)系(關(guān)聯(lián))建立數(shù)據(jù)庫(kù)表之間的永久聯(lián)系(關(guān)聯(lián))需要在數(shù)據(jù)庫(kù)設(shè)計(jì)器中進(jìn)行操作。首先,需要在要建立關(guān)聯(lián)的兩個(gè)數(shù)據(jù)庫(kù)表中按這兩個(gè)表的公共字段分別建立主索引和普通索引。父表——以公共字段建立了主索引的那個(gè)表子表——以公共字段建立了普通索引的那個(gè)表553.5.3參照完整性與表之間的關(guān)聯(lián)1.建立表之間的永久聯(lián)系(關(guān)聯(lián))下面通過(guò)建立數(shù)據(jù)庫(kù)表之間永久聯(lián)系(關(guān)聯(lián))的實(shí)例來(lái)介紹建立數(shù)據(jù)庫(kù)表之間永久聯(lián)系(關(guān)聯(lián))的方法和步驟。假設(shè)在學(xué)校管理數(shù)據(jù)庫(kù)中有學(xué)生表、成績(jī)表、課程表。(1)學(xué)生表含有字段為學(xué)號(hào)、姓名、性別,以學(xué)號(hào)建立主索引。(2)成績(jī)表含有字段為學(xué)號(hào)、成績(jī)、課程號(hào),以學(xué)號(hào)建立普通索引。(3)課程表含有字段為成績(jī)、課程號(hào)、學(xué)號(hào),以課程號(hào)、學(xué)號(hào)建立普通索引。56

在這3個(gè)表中,學(xué)生表和成績(jī)表是一對(duì)多的聯(lián)系,連接字段是“學(xué)號(hào)”。學(xué)生表和課程是一對(duì)多的聯(lián)系,連接字段是“課程號(hào)”。

建立學(xué)生和成績(jī)之間的一對(duì)多聯(lián)系選中學(xué)生表中的主索引“學(xué)號(hào)”,按住鼠標(biāo)左鍵拖動(dòng)鼠標(biāo)到成績(jī)表的“學(xué)號(hào)”索引上,鼠標(biāo)指針會(huì)變成小矩形狀,釋放鼠標(biāo)。這樣就在學(xué)生表和成績(jī)表之間建立了一對(duì)多的聯(lián)系。

573

.5.3參照完整性與表之間的關(guān)聯(lián)2.設(shè)置參照完整性

通常設(shè)置參照完整性需借助VFP的參照完整性生成器來(lái)完成。在建立參照完整性之前必須首先清理數(shù)據(jù)庫(kù)。所謂清理數(shù)據(jù)庫(kù)就是物理刪除數(shù)據(jù)庫(kù)各個(gè)表中已經(jīng)標(biāo)有刪除標(biāo)記的記錄。清理數(shù)據(jù)庫(kù)的具體操作步驟如下:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在主菜單欄上出現(xiàn)“數(shù)據(jù)庫(kù)”菜單;選擇“數(shù)據(jù)庫(kù)”→“清理數(shù)據(jù)庫(kù)”命令。該操作等同于執(zhí)行命令PACKDATABASE。

583.5.3參照完整性與表之間的關(guān)聯(lián)2.設(shè)置參照完整性

設(shè)置參照完整性的具體操作步驟:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在主菜單欄上出現(xiàn)“數(shù)據(jù)庫(kù)”菜單;選擇“數(shù)據(jù)庫(kù)”→“編輯參照完整性”命令?;蚴怯覔舯碇g的聯(lián)系,從彈出的快捷菜單中選擇“編輯參照完整性”命令參照完整性規(guī)則具體見(jiàn)P116593.6自由表

3.6.1數(shù)據(jù)庫(kù)表與自由表所謂自由表,就是那些不屬于任何數(shù)據(jù)庫(kù)的表。自由表和數(shù)據(jù)庫(kù)表之間可以相互轉(zhuǎn)化。即可以將自由表添加到數(shù)據(jù)庫(kù)中,使之成為數(shù)據(jù)庫(kù)表;也可以將數(shù)據(jù)庫(kù)表移出數(shù)據(jù)庫(kù),使之成為自由表。603.6自由表

1.使用項(xiàng)目管理器創(chuàng)建自由表操作步驟如下。(1)打開(kāi)項(xiàng)目管理器,切換到“數(shù)據(jù)”選項(xiàng)卡;(2)選擇“自由表”項(xiàng),單擊“新建”按鈕,彈出“新建表”對(duì)話框;(3)單擊“新建表”按鈕可以打開(kāi)表設(shè)計(jì)器創(chuàng)建自由表。613.6.1數(shù)據(jù)庫(kù)表與自由表2.利用菜單方式創(chuàng)建自由表操作步驟如下:(1)選擇“文件”→“新建”菜單命令,打開(kāi)“新建”對(duì)話框;(2)在“文件類型”選項(xiàng)組中選擇“表”;(3)單擊“新建文件”按鈕,打開(kāi)表設(shè)計(jì)器對(duì)話框建立自由表。3.利用命令方式創(chuàng)建自由表命令格式:

CREATE<表文件名>|?62!注意:利用菜單方式(“文件”→“新建”命令)和CREATE命令創(chuàng)建的表默認(rèn)均是自由表,要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)表應(yīng)使用項(xiàng)目管理器或是第四章中講到的“CREATETABLE”命令。633.6.2將自由表添加到數(shù)據(jù)庫(kù)中把自由表添加到數(shù)據(jù)庫(kù)中可以使用以下3種方法:1.使用項(xiàng)目管理器添加自由表操作步驟如下:(1)在項(xiàng)目管理器中將要使用的數(shù)據(jù)庫(kù)展開(kāi)至表,選擇“表”;(2)單擊“添加”按鈕,調(diào)出“打開(kāi)”對(duì)話框,從中選擇要添加的自由表。643.6.2將自由表添加到數(shù)據(jù)庫(kù)中2.使用數(shù)據(jù)庫(kù)設(shè)計(jì)器添加自由表操作步驟如下:(1)打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,選擇“數(shù)據(jù)庫(kù)”→“添加表”菜單命令,彈出“打開(kāi)”對(duì)話框;(2)在“打開(kāi)”對(duì)話框中選擇要添加的自由表。3.利用命令方式添加自由表命令格式:ADDTABLE<表文件名>[NAMELongTableName]給表指定一個(gè)長(zhǎng)表名(最多可以有128個(gè)字符)653.6.3從數(shù)據(jù)庫(kù)中移去表將自由表移出數(shù)據(jù)庫(kù)可以利用項(xiàng)目管理器、數(shù)據(jù)庫(kù)設(shè)計(jì)器和命令方式3種方法:

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論