何時方須使用(強迫參考完整)?

字號:

『強迫參考完整性』是關聯(lián)屬性之一,建立關聯(lián)時,此項預設值為不使用狀態(tài)。
    『強迫參考完整性』的意義是,在一對多關聯(lián)時,如客戶及訂單資料表均有『客戶編號』欄位,其中『客戶』為一:『訂單』為多。所以在啟動『強迫參考完整性』時,『訂單』數(shù)據(jù)表的『客戶編號』欄位中所含之值,不能是不存在于『客戶』數(shù)據(jù)表的『客戶編號』,也就是只允許為現(xiàn)有客戶輸入新訂單記錄,所以『強迫參考完整性』等于是在兩個相關聯(lián)的數(shù)據(jù)表間進行驗證,查看數(shù)據(jù)是否正確。不過,有時這樣的檢查動作反而會造成困擾,例如在應用系統(tǒng)設計階段,可能常會用『貼上』功能,將舊數(shù)據(jù)庫的記錄轉換至新數(shù)據(jù)表內,此時只可先新增一對多關聯(lián)中『一』的數(shù)據(jù)表,再新增『多』數(shù)據(jù)表,若反過來操作,會發(fā)生貼上錯誤,因完整性驗證結果不合法,并將無法貼上的數(shù)據(jù)儲存在『貼上錯誤』數(shù)據(jù)表內。
    說明:除了『強迫參考完整性』外,關聯(lián)屬性尚有『級聯(lián)更新相關記錄』及『級聯(lián)刪除相關記錄』。前者表示在啟動時,若在『一』的數(shù)據(jù)表更改關聯(lián)欄位的值,ACCESS亦會更新『多』數(shù)據(jù)表的關聯(lián)欄位值,例如將為A001者改為A010,則在『訂單』數(shù)據(jù)表中『客戶編號』所有原為A001者亦將改為A010;后者即表示在『一』的數(shù)據(jù)表刪除記錄后,亦將刪除在『多』的數(shù)據(jù)表內與該記錄關聯(lián)的記錄