參考完整性概觀

參考完整性為一規則系統,可確保關聯資料表中資料列間的關聯性是正確的,且可避免不慎刪除或變更關聯資料。

注意事項注意事項

新的資料表設計工具版本會為採用 SQL Server 2012 格式的資料庫顯示。本主題說明的舊版資料表設計工具可與採用 SQL Server 舊版格式的資料庫搭配使用。

在新版本中,您可以透過圖形介面或直接在指令碼窗格變更資料表定義。如果使用圖形介面,資料表的定義就會自動在指令碼窗格中更新。若要在指令碼窗格中套用 SQL 程式碼,請選擇 [更新] 按鈕。如需新版本的詳細資訊,請參閱如何:使用資料表設計工具建立資料庫物件

程序

如果符合下列所有條件,您可以設定參考完整性:

  • 主索引鍵資料表的相符資料行為主索引鍵或具有唯一條件約束。

  • 在外部資料表中的關聯資料行,具有相同的資料型別和大小。

強制使用參考完整性時,您必須遵守下列規則:

  • 如果關聯資料表的主索引鍵沒有該值存在,您將無法在關聯資料表的外部索引鍵資料行中輸入值。 不過,您可以在外部索引鍵資料行中輸入 null 值。 例如,您無法將某項工作指派給未在 employee 資料表中出現的員工,但您可以在 employee 資料表的 job_id 資料行中輸入 null 值,以表示某員工並未指派到工作。

  • 如果關聯資料表中存在相符的資料列,您將無法刪除主索引鍵資料表的資料列。 例如,如果接獲工作指派的員工出現在 employee 資料表的資料列中,您將無法從 jobs 資料表中刪除該資料列。

  • 如果該資料列具有關聯資料列,您將無法變更主索引鍵資料表中的主索引鍵值。 例如,如果在員工資料表中出現具有該 job_id 的員工,您就無法變更工作資料表中資料列的 job_id 值。

請參閱

參考

外部索引鍵關聯性對話方塊

其他資源

使用關聯性

資料庫物件