外部索引鍵關聯性對話方塊 (Visual Database Tools)

使用這個對話方塊,建立或修改資料庫中資料表之間的關聯性。在外部索引鍵關聯性中,FOREIGN KEY 條件約束會搭配 PRIMARY KEY 或 UNIQUE 條件約束,以在指定的資料表強制使用參考完整性。例如,您可以在 Order_Details 資料表的 ProductID 資料行放入 FOREIGN KEY 條件約束,以確保該資料行的輸入值與 Products 資料表的 ProductID 資料行中的現有值相符。

[!附註]

如果已發行要複寫的資料表,則必須使用 ALTER TABLETransact-SQL 陳述式或 SQL Server 管理物件 (SMO) 變更結構描述。使用 [資料表設計師] 或 [資料庫圖表設計工具] 變更結構描述時,會嘗試卸除並重新建立資料表。您無法卸除已發行的物件,因此結構描述變更將會失敗。

若要存取此對話方塊,請開啟具有外部索引鍵之資料表的資料表定義,在資料表定義方格上按一下滑鼠右鍵,再按 [關聯性]。

選項

  • 選取的關聯性
    列出現有的關聯性。選取關聯性,在右邊方格中顯示其屬性。如果清單是空的,表示此資料表沒有定義關聯性。

  • 加入
    建立新的關聯性。[資料表及資料行規格] 必須在關聯性生效之前設定。

  • 刪除
    在 [選取的關聯性] 清單中刪除選取的關聯性。若要刪除加入的關聯性,請使用此按鈕移除該關聯性。

  • 一般類別目錄
    展開以顯示 [檢查建立或重新啟用時的現有資料] 以及 [資料表及資料行規格]。

  • 檢查建立或重新啟用時的現有資料
    在建立或重新啟用條件約束之前,依照條件約束驗證資料表中所有現有的資料。

  • 資料表及資料行規格分類
    展開以顯示哪些資料表的哪些資料行,在關聯性中做為外部索引鍵和主要 (或唯一) 索引鍵。若要編輯或定義這些值,請按一下屬性欄位右邊的省略符號按鈕 ([])。

  • 外部索引鍵基底資料表
    顯示所選取的關聯性中,哪些資料表包含有做為外部索引鍵的資料行。

  • 外部索引鍵資料行
    顯示所選取的關聯性中,哪些資料行做為外部索引鍵。

  • 主/唯一索引鍵基底資料表
    顯示所選取的關聯性中,哪些資料表包含有做為主要 (或唯一) 索引鍵的資料行。

  • 主/唯一索引鍵資料行
    顯示所選取的關聯性中,哪些資料行做為主要 (或唯一) 索引鍵。

  • 識別分類
    展開以顯示 [名稱] 和 [描述] 的屬性欄位。

  • 名稱
    顯示關聯性的名稱。在建立新的關聯性時,會根據 [資料表設計師] 作用中視窗的資料表,給予預設的名稱。您可以隨時變更名稱。

  • 描述
    描述關聯性。若要寫入更詳細的描述,請按一下 [描述],再按屬性欄位右邊的省略符號 [(…)]。如此便可提供較大的區域以寫入文字。

  • 資料表設計師分類
    展開以顯示 [檢查建立或重新啟用時的現有資料] 和 [強制複寫] 的資訊。

  • 強制複寫
    指示當複寫代理程式在此資料表上執行插入、更新或刪除時,是否要強制使用條件約束。如需詳細資訊,請參閱<使用 NOT FOR REPLICATION 控制條件約束、識別和觸發程序>。

  • 強制使用外部索引鍵條件約束
    指定變更關聯性中的資料行資料時,如果變更會破壞外部索引鍵關聯性的完整性,是否允許執行。如果不允許這樣的變更,請選擇 [],如果允許,請選擇 []。

  • INSERT 和 UPDATE 規格分類
    展開以顯示關聯性之 [刪除規則] 和 [更新規則] 的資訊。

  • 刪除規則
    指定當使用者嘗試刪除與外部索引鍵關聯性相關的資料列時,應該採取什麼動作:

    • 沒有動作:錯誤訊息會告知使用者不允許執行刪除,並且會回復 DELETE 命令。

    • 串聯:刪除包含與外部索引鍵關聯性相關之資料的所有資料列。如果資料表要包含在使用邏輯記錄的合併式發行集中,請勿指定 CASCADE。如需有關邏輯記錄的詳細資訊,請參閱<使用邏輯記錄分組相關資料列的變更>。

    • 設為 Null:如果資料表的所有外部索引鍵資料行都可以接受 null 值,就可以將值設為 null。不適用於 SQL Server 2000。

    • 設為預設值:如果資料表的所有外部索引鍵資料行都具有為其所定義的預設值,就可以將值設為資料行所定義的預設值。不適用於 SQL Server 2000。

  • 更新規則
    指定當使用者嘗試更新與外部索引鍵關聯性相關的資料列時,應該採取什麼動作:

    • 沒有動作:錯誤訊息會告知使用者不允許執行更新,並且會還原 UPDATE 命令。

    • 串聯:更新包含與外部索引鍵關聯性相關之資料的所有資料列。如果資料表要包含在使用邏輯記錄的合併式發行集中,請勿指定 CASCADE。如需有關邏輯記錄的詳細資訊,請參閱<使用邏輯記錄分組相關資料列的變更>。

    • 設為 Null:如果資料表的所有外部索引鍵資料行都可以接受 null 值,就可以將值設為 null。不適用於 SQL Server 2000。

    • 設為預設值:如果資料表的所有外部索引鍵資料行都具有為其所定義的預設值,就可以將值設為資料行所定義的預設值。不適用於 SQL Server 2000。