字段級規(guī)則:
一種與字段相關(guān)的有效性規(guī)則,在插入或修改字段值時被激活,多用于數(shù)據(jù)輸入正確性的檢驗。
為字段設(shè)置驗證規(guī)則的方法:
.在表設(shè)計器中選定要建立規(guī)則的字段名。
.在“規(guī)則”方框旁邊選擇“…”按鈕。
.在表達式生成器中設(shè)置有效性表達式,并選擇“確定”。
.在“信息”框中,鍵入用引號括起的錯誤信息。
.在“默認值”框中,鍵入合理的初值。
.注意不同類型數(shù)據(jù)的表示方法。
.選擇“確定”
記錄級規(guī)則:
一種與記錄相關(guān)的有效性規(guī)則,當(dāng)插入或修改記錄時激活,常用來檢驗數(shù)據(jù)輸入和正確性。記錄被刪除時不使用有效性規(guī)則。記錄級規(guī)則在字段級規(guī)則之后和觸發(fā)器之前激活,在緩沖更新時工作。
觸發(fā)器:
在一個插入、更新或刪除操作之后運行的記錄級事件代碼。不同的事件可以對應(yīng)不同的動作。它們常用于交叉表的完整性。
(3) 在數(shù)據(jù)庫中添加表
方法1:從數(shù)據(jù)庫菜單中選擇添加表,從打開對話框中選擇所需的表并確定之。
方法2:右擊數(shù)據(jù)庫設(shè)計器窗口,從快捷菜單中選擇添加表。
方法3:單擊數(shù)據(jù)庫設(shè)計器工具欄的添加按鈕。
注意:
一個數(shù)據(jù)表在同一時間內(nèi)只能屬于一個數(shù)據(jù)庫,已隸屬于其它數(shù)據(jù)庫的表不能直接被添加進來,需先將其移出數(shù)據(jù)庫還原成自由表。
(4) 創(chuàng)建并添加視圖
視圖用于顯示一個或多個表中的記錄,并能夠更新源表中的數(shù)據(jù),視圖只有在數(shù)據(jù)庫中才能存在。
方法1:從數(shù)據(jù)庫菜單中選擇新遠程視圖或新本地視圖
方法2:右擊數(shù)據(jù)庫設(shè)計器窗口,從快捷菜單中選擇新遠程視圖或新本地視圖
方法3:單擊數(shù)據(jù)庫設(shè)計器工具欄的新遠程視圖或新本地視圖按鈕
(5) 在數(shù)據(jù)庫中操作表和視圖
可以利用數(shù)據(jù)庫設(shè)計器工具欄很方便地進行下列操作:
瀏覽: 在瀏覽窗口中顯示表或視圖的內(nèi)容。
修改: 調(diào)出表設(shè)計器或視圖設(shè)計器對表或視圖進行修改。
移去:使表從數(shù)據(jù)庫中還原成自由表。對視圖移去相當(dāng)于刪除。
刪除:從磁盤上徹底刪除數(shù)據(jù)表和視圖,并且無法回收。
(6) 在表之間建立永久性關(guān)系
永久關(guān)系:
是數(shù)據(jù)庫表之間的一種關(guān)系,不僅運行時存在,而且一直保留。表之間的永久關(guān)系是通過索引建立的。
一對多關(guān)系:
表之間的一種關(guān)系,在這種關(guān)系中,主表中的每一個記錄與相關(guān)表中的多個記錄相關(guān)聯(lián)(每一個主關(guān)鍵字值在相關(guān)表中可出現(xiàn)多次)。
一對一關(guān)系:
表之間的一種關(guān)系,在這種關(guān)系中,主表中的每一個記錄只與相關(guān)表中的一個記錄相關(guān)聯(lián)。
創(chuàng)建表間的永久關(guān)系:
在數(shù)據(jù)庫設(shè)計器中,選擇想要關(guān)聯(lián)的索引名,然后把它拖到相關(guān)表的索引名上,所拖動的父表索引必須是一個主索引或候選索引。建立好關(guān)系后,這種關(guān)系在數(shù)據(jù)庫設(shè)計器中會顯示為一條連接兩個表的直線。
注意:需先建立索引然后才能建立關(guān)系。
刪除表間的永久關(guān)系:
在數(shù)據(jù)庫設(shè)計器中,單擊兩表間的關(guān)系線。關(guān)系線變粗,表明已選擇了該關(guān)系,按下 delete 鍵。
編輯關(guān)系:
單擊所需關(guān)系線,右擊鼠標(biāo),從快捷菜單中選擇編輯關(guān)系,在編輯關(guān)系對話框中改選其它相關(guān)表索引名或修改參照完整性規(guī)則。
參照完整性(RI):
控制數(shù)據(jù)一致性,尤其是不同表的主關(guān)鍵字和外部關(guān)鍵字之間關(guān)系的規(guī)則。Visual FoxPro 使用用戶自定義的字段級和記錄級規(guī)則完成參照完成性規(guī)則。
(7) 在表之間建立臨時關(guān)系
臨時關(guān)系:
是在打開的數(shù)據(jù)表之間用 set relation命令建立的臨時關(guān)系,或是在數(shù)據(jù)工作期窗口建立。建立了臨時關(guān)系后,子表的指針會隨主表記錄指針的移動。表被關(guān)閉后,關(guān)系自動解除。
臨時關(guān)系與永久關(guān)系的聯(lián)系與區(qū)別:
聯(lián)系:
(1)都必須明確建立關(guān)系的兩張表之間確實在客觀上存在著一種關(guān)系(一對多或一對一關(guān)系)。
(2)永久關(guān)系在許多場合可以作為默認的臨時關(guān)系。
區(qū)別:
(1)臨時關(guān)系是用來在打開的兩張表之間控制相關(guān)表之間記錄的訪問;而永久關(guān)系主要是用來存儲相關(guān)表之間的參照完整性,附帶地可以作為默認的臨時關(guān)系或查詢中默認的聯(lián)接條件。
(2)臨時關(guān)系在表打開之后使用set relation命令建立,隨表的關(guān)閉而解除;永久關(guān)系永久地保存在數(shù)據(jù)庫中而不必在每次使用表時重新創(chuàng)建。
(3)臨時關(guān)系可以在自由表之間、庫表之間或自由表與庫表之間建立,而永久關(guān)系只能在庫表之間建立。
(4)臨時關(guān)系中一張表不能有兩張主表(除非這兩張主表是通過子表的同一個主控索引建立的臨時關(guān)系),永久關(guān)系則不然。
4. 用命令方式操作數(shù)據(jù)庫
常用命令一覽表
命令格式 |
功能 | |
create database 庫文件名 | 創(chuàng)建新的數(shù)據(jù)庫文件 | |
open database 庫文件名 | 打開指定的庫文件 | |
close database | 關(guān)閉當(dāng)前的數(shù)據(jù)庫和數(shù)據(jù)表 | |
close all | 關(guān)閉所有的數(shù)據(jù)庫和數(shù)據(jù)表,并把工作區(qū)1置為當(dāng)前工作區(qū),同時還關(guān)閉一些窗口 | |
modify database | 修改當(dāng)前庫文件結(jié)構(gòu) | |
delete database 庫文件名 | 刪除指定的庫文件 | |
open database 庫文件名
add table 表名 |
在數(shù)據(jù)庫中添加表 | |
open database 庫文件名
remove table 表名 |
將表從數(shù)據(jù)庫中移去 | |
open database 庫文件名
remove table 表文件名 delete |
將表從數(shù)據(jù)庫中移去并從盤上刪除 | |
use 庫文件名 !表名
browse |
“!”表示引用一個不在當(dāng)前數(shù)據(jù)庫中的表 | |
Set relation to 關(guān)系表達式 into 區(qū)號 | 別名 | 建立表之間的臨時關(guān)系 | |
Set relation to | 刪除表之間的臨時關(guān)系 | |
alter table 子表名 add foreign key 索引關(guān)鍵字 tag 索引標(biāo)識 references 父表名 [tag 索引標(biāo)識 ] | 創(chuàng)建永久關(guān)系 | |
alter table 子表名 drop foreign key tag 索引標(biāo)識 | 刪除永久關(guān)系 |