在資料庫模型圖中保留參照完整性 (機器翻譯)

附註: 資料庫模型圖僅適用於某些版本的 Visio。 如需詳細資訊,請參閱找不到資料庫模型功能?

瞭解參照完整性規則

參照完整性規則會讓資料庫使用者不小心破壞相關資料行之間的對應。

假設您有一個名為「書籍」的資料庫, 名為 [標題] 和 [作者] 兩個數據表。 出於這個範例的目的, 每個標題只有一個作者, 但每個作者可以有多個標題, 而建立稱為一對多關聯的專案。 關聯「一」端的資料表稱為父資料表。 「多」端的資料表稱為子資料工作表

若要收集每一本書及其作者的相關資訊, 查詢會使用鍵來將 Titles 表中的每一本書與 [Authors] 資料表中的作者相符。 父資料表 (作者) 必須有唯一識別每個資料列的主鍵。 [Titles] 資料表必須有一個欄, 其中包含每個標題的作者。 此欄稱為外鍵。 主鍵會識別每個作者, 而外鍵會識別哪個作者撰寫了哪些書籍。

如果使用者變更了父資料表中的作者作家, 而沒有更新 Titles 表中的 AuthorID, 就不會再有有效的作者。

您可以設定參照完整性規則來執行您想要的動作, 而不必變更兩個數據表中的作者。 您可以選擇讓資料庫模型在父資料表中變更或刪除某個按鍵時, 採取特定動作。

附註: [父項] 和 [子級] 是用來代表類別中的內容, 這些專案是由 [父項至類別]、[類別] 和 [類別] 子圖形所建立。 如需類別的詳細資訊, 請參閱在資料庫模型圖中定義類別

針對參照完整性設定動作

  1. 按兩下您要設定參照動作的關聯。

  2. 在 [資料庫屬性] 視窗的 [類別] 底下, 按一下 [參照動作]。

  3. 按一下您希望資料庫針對子資料工作表中對應值所採取的動作。 您可以從下列動作中選擇:

    • 無動作     當父資料表的主鍵變更或刪除時, 子資料工作表的外鍵中對應的值會保持不變。

    •     當父資料表的主鍵變更或刪除時, 會變更或刪除子資料工作表外鍵中對應的值, 以符合主鍵。

    • 設定 Null     當父資料表的主鍵變更或刪除時, 子資料工作表的外鍵中對應的值會設定為 Null。

    • 設定預設值     當父資料表的主鍵變更或刪除時, 子資料工作表的外鍵中對應的值會設定為您選擇的預設值。

    • 請勿強制執行     這個動作會關閉這個關聯的參照完整性規則。

附註: 如果停用 [設定 Null ] 和 [設定預設值] 選項, 可能是關聯的 [資料庫屬性] 視窗 [其他] 索引標籤上的關聯性設定為 [選擇性]。

設定欄的預設值

若要使用 [設定預設值] 動作, 您必須為欄提供預設值。

  1. 按兩下圖表中的資料表, 以開啟 [資料庫屬性] 視窗。

  2. 在 [類別] 底下, 按一下 [], 按一下您要為其建立預設值的欄, 然後按一下 [編輯]。

  3. 在 [欄屬性] 對話方塊的 [定義] 索引標籤上, 輸入預設值。

使用符號顯示參照完整性

您可以設定檔選項, 在模型中的關聯線旁邊隱藏或顯示參照完整性符號。

參照完整性符號中的字母代表什麼意思?

參照完整性符號會顯示以冒號分隔的兩個字母之間的關聯, 其格式為 [在父資料表中採取的動作]: [在子資料工作表中所做的結果]。 例如, d:C 表示在父資料表中刪除某個專案時, 會將變更級聯至子資料工作表。

父資料表中的動作以小寫字母表示:

  • 美國    父資料表中的資料會更新。

  • 希望    父資料表中的資料會被刪除。

子資料工作表中的結果會以大寫字母表示:

  • R 無動作    請勿變更子資料工作表。

  • C 級聯     複製子資料工作表中的變更。

  • D 設定預設值    插入您先前在子資料工作表中為該資料行設定的預設值。

  • N 設定 Null     將子資料工作表設定為 Null。

  • 空白     請勿在這個關聯上強制執行參照完整性。

附註: 這些設定會影響實際資料庫中的行為, 而不是在模型中。 在您從現有資料庫中反向工程的模型中, 您可以瞭解資料庫的設計與參照完整性。 在從頭開始建立的模型中, 您可以使用這些設定來記錄您想要模型化的資料庫行為。

在 Visio 2010 中顯示參照完整性

  1. 在 [資料庫] 索引標籤的 [管理] 群組中,按一下 [顯示選項]。

  2. 在 [資料庫關聯圖] 索引標籤的 [顯示] 底下, 選取 [參照動作] 核取方塊。

找不到資料庫模型功能?

有些版本的 Visio 沒有 [資料庫模型圖] 範本。

Visio 標準版不包含資料庫模型圖範本。

Visio 專業版和進階版支援資料庫模型圖範本的反向工程功能 (也就是使用現有資料庫以在 Visio 中建立模型),但不支援正向工程 (也就是使用 Visio 資料庫模型來產生 SQL 程式碼)。

附註: 您可以在適用於企業架構的 Visio 中找到資料庫模型功能的完整套件,包括反向工程和正向工程。 適用於企業架構的 Visio 隨附於 MSDN 進階版訂閱,可在 Visual Studio 專業版和 Visual Studio Team System 角色型版本中使用。

如果您使用的是 Visio Online 方案 2 , 且想要瞭解如何將現有資料庫工程到資料庫模型中, 請參閱將現有資料庫反向工程一主題。

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×