资源描述
,按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,*,*,Ch06 建立資料庫的關聯,資料庫管理,1,Ch06 建立資料庫的關聯資料庫管理1,本章大綱,本章內容包含課本第章:,建立資料庫關聯圖,資料的參考完整性,編輯資料庫關聯圖,子資料工作表的使用,資料表分析精靈分割資料表,2,本章大綱本章內容包含課本第章:2,建立資料庫關聯圖,在關聯式資料庫中,各資料表之間的關係稱為關聯性(Relationships),這是資料表之間,記錄與記錄的關係。,關聯有三種:一對一、一對多和多對多關聯性。,3,建立資料庫關聯圖在關聯式資料庫中,各資料表之間的關係稱為關,在Access建立關聯性的方法,在,Access,多個資料表之間建立關聯性的方法有,2,種,如下所示:,暫時性關聯性,:,在查詢物件建立關聯性,其目的是便於查詢資料,而且只有在使用查詢物件時才有效,所以稱為暫時性關聯性。,永久性關聯性,:,在資料庫關聯圖編輯視窗建立的關聯性稱為永久性關聯性,因為這種資料表關係是永久存在,不論在查詢、表單和報表中都可以使用,而且會考量資料參考完整性。,4,在Access建立關聯性的方法在Access多個資料表之間建,建立一對一關聯性-說明,一對一關聯性是指資料表,A,的每一筆記錄,只能在資料表,B,中擁有一筆對應記錄,同樣的,資料表,B,中的每一筆記錄也只能在資料表,A,中有一筆對應記錄。,因為目前學校只有一個社團,所以在,【,社團活動成員,】,資料表的記錄都是一對一對應到,【,學生資料表,】,。事實上,一對一關聯性並不常見,因為在資料表每一筆記錄的欄位就是一種一對一關聯性,,如果資料表使用一對一關聯性,通常都是為了資料保密因素,將部分欄位分割成另一個資料表,。,5,建立一對一關聯性-說明一對一關聯性是指資料表A的每一筆記錄,,建立一對一關聯性-圖例,6,建立一對一關聯性-圖例6,建立一對多關聯性,-,說明,一對多關聯性是指在資料表A的每一筆記錄,對應到資料表B的多筆記錄,但是在資料表B中的每一筆記錄只能在資料表A中有一筆對應的記錄。,學校的每門課程都只有一位教授開課,所以【教授資料表】的記錄【E0201】可以對應【課程資料表】的3筆記錄,反之【課程資料表】的每一筆記錄只能對應【教授資料表】的一筆記錄。,7,建立一對多關聯性-說明一對多關聯性是指在資料表A的每一筆記錄,建立一對多關聯性,-,圖例,8,建立一對多關聯性-圖例8,建立一對多關聯性,-,範例,一對多關聯性是最常見的關聯性,通常需要使用表格輸入多筆資料的情況,大多屬於一對多關聯性,一些常見範例,如下所示:,一位客戶可以有多筆訂單,且每一筆訂單一定屬於一位客戶。,一個供應商可以供應多種商品,且每一個商品只擁有一個供應商。,9,建立一對多關聯性-範例一對多關聯性是最常見的關聯性,通常需要,建立多對多關聯性-說明,多對多關聯性是指資料表,A,的記錄對應資料表,B,的多筆記錄,而且,B,資料表的記錄也一樣對應資料表,A,的多筆記錄。多對多關聯性需要使用第,3,個資料表(稱為結合資料表),建立,2,個一對多關聯性,此時結合資料表的主索引鍵需要包含其它,2,個資料表的外來鍵(,Foreign Key,)。,【,學生資料表,】,的記錄,【S0201】,可以對應,【,選課資料表,】,的,4,筆記錄,反之,【,課程資料表,】,的記錄,【CS101】,也可以對應到,【,選課資料表,】,的多筆記錄,,【,選課資料表,】,是一個結合資料表。,10,建立多對多關聯性-說明多對多關聯性是指資料表A的記錄對應資料,建立多對多關聯性,-,圖例,11,建立多對多關聯性-圖例11,建立多對多關聯性-範例,多對多關聯性的一些常見範例,如下所示:,一個產品是由多種零件組成,每一種零件可以使用多種不同的產品。,一張訂單可以有多種商品,每一種商品可以屬於多張訂單。,12,建立多對多關聯性-範例多對多關聯性的一些常見範例,如下所示:,資料的參考完整性,資料的參考完整性是一種規則,其目的是確保關聯資料表中記錄的正確性,讓使用者不能隨便刪除或變更相關聯的記錄。簡單的說,就是保證在關聯資料表的記錄,不會成為孤兒。例如:刪除【學生資料表】的學生資料時,是否連此學生的選課資料也一併刪除,如果不刪除,選課資料的記錄就會成為孤兒。,13,資料的參考完整性資料的參考完整性是一種規則,其目的是確保關聯,資料參考完整性的條件,Access,替關聯資料表提供強迫參考完整性,能夠幫助我們維護參考完整性,不過在,Access,建立關聯性時,需要遵守一些事項,如下所示:,關聯資料表都屬於,Access,資料格式的資料表,也就是儲存成,.mdb,格式的檔案。,關聯資料表對應的欄位是主索引鍵或唯一索引。,關聯欄位擁有相同資料類型。,14,資料參考完整性的條件Access替關聯資料表提供強迫參考完整,資料參考完整性的規則,-1,當建立關聯性時,如果有設定使用強迫參考完整性,,Access,將會使用一些規則來維護資料表的記錄,以滿足參考完整性。,以一對多關聯性為例,,【,教授資料表,】,是主資料表,,【,課程資料表,】,是外來鍵的關聯資料表,如下所示:,在關聯資料表的外來鍵欄位不能輸入在主資料表中不存在的值。,15,資料參考完整性的規則-1當建立關聯性時,如果有設定使用強迫參,資料參考完整性的規則,-2,例如:,【,課程資料表,】,的,【,教授編號,】,欄不可以輸入一個不存在於,【,教授資料表,】,的,【,教授編號,】,,因為如果沒有這位教授,要如何開這門課。,如果關聯資料表在主資料表存在對應記錄,在主資料表不能刪除此筆記錄。,例如:如果,【,課程資料表,】,的課程有指定教授,在,【,教授資料表,】,就不能刪除這位教授的記錄。,如果主資料表的記錄擁有相關聯的記錄,則不能在主資料表變更主索引鍵欄位的值。,例如:如果,【,課程資料表,】,的課程有指定教授,在,【,教授資料表,】,就不能修改這位教授的,【,教授編號,】,。,16,資料參考完整性的規則-2例如:【課程資料表】的【教授編號】欄,強迫參考完整性的選項說明,-1,在建立資料表關聯性時,當勾選【強迫參考完整性】後,在其下另有2個額外選項,如下圖所示:,17,強迫參考完整性的選項說明-1在建立資料表關聯性時,當勾選【強,強迫參考完整性的選項說明,-2,上述各選項的說明,如下所示:,重疊顯示更新相關欄位:,是否同時更新關聯資料表的相關聯欄位,如果勾選,表示當修改,【,教授資料表,】,的,【,教授編號,】,時,同時更新,【,課程資料表,】,中對應的教授編號,以維護資料表的關聯性。,重疊顯示刪除相關欄位:,是否同時刪除關聯資料表的相關聯欄位,如果勾選,表示當刪除,【,教授資料表,】,的,【,教授編號,】,時,同時刪除,【,課程資料表,】,中對應教授編號的記錄。,18,強迫參考完整性的選項說明-2上述各選項的說明,如下所示:18,編輯關聯性,在建立好關聯性後,我們可以編輯關聯性的相關設定,例如:取消【重疊顯示更新相關欄位】的選項。,19,編輯關聯性在建立好關聯性後,我們可以編輯關聯性的相關設定,例,刪除關聯性,資料表如果不再需要關聯性,我們可以在資料庫關聯圖視窗刪除資料表間指定的關聯性。,20,刪除關聯性資料表如果不再需要關聯性,我們可以在資料庫關聯圖,隱藏或刪除資料表,在資料庫關聯圖視窗如果有沒有使用的資料表或是關聯圖太過龐大,我們可以在關聯圖隱藏不重要的資料表,如果資料表沒有建立關聯性,就是在資料庫關聯圖刪除指定的資料表。,21,隱藏或刪除資料表在資料庫關聯圖視窗如果有沒有使用的資料表,子資料工作表的使用,Access的資料工作表也可以檢視關聯資料表,這是使用子資料工作表來開啟,它和一般資料工作表擁有相同功能,只是顯示記錄為相關聯的記錄資料。,在Access建立資料表的關聯性後,例如:一對多關聯性,此時一是顯示在資料工作表,多就是顯示在子資料工作表。,22,子資料工作表的使用Access的資料工作表也可以檢視關聯資料,展開和摺疊子資料工作表,在第,11-1,節建立,3,種關聯性後,我們都已經開啟子資料工作表顯示相關聯的記錄資料。因為當建立好資料表間的關聯性,在資料工作表的每一筆記錄前,就會出現,+,或,-,號,可以展開和摺疊子資料工作表。,23,展開和摺疊子資料工作表在第11-1節建立3種關聯性後,我們都,插入子資料工作表,在第11-4-1節的範例中,子資料工作表顯示的是選課資料,如果想顯示學生的社團成員資料,我們可以插入其它子資料工作表。,24,插入子資料工作表在第11-4-1節的範例中,子資料工作表顯示,刪除子資料工作表,當資料工作表根本不需要子資料工作表時,我們可以將子資料工作表完全的移除。,25,刪除子資料工作表當資料工作表根本不需要子資料工作表時,我們可,資料表分析精靈分割資料表,Access的資料表分析精靈能夠幫助我們將現成資料表進行分割,以便找出資料表中的重複記錄,避免儲存空間的浪費和產生錯誤,也就是執行正規化分析。,26,資料表分析精靈分割資料表Access的資料表分析精靈能夠幫助,練習一,課本,p.11-37,實作題,27,練習一課本p.11-37實作題27,
展开阅读全文