參考完整性概觀
參考完整性為一規則系統,可確保關聯資料表中資料列間的關聯性是正確的,且可避免不慎刪除或變更關聯資料。
注意事項 |
---|
新版資料表設計工具用於處理採用 SQL Server 2012 格式的資料庫。本主題說明的舊版資料表設計工具可與採用 SQL Server 舊版格式的資料庫搭配使用。 在新版本中,您可以透過圖形介面或直接在指令碼窗格變更資料表定義。如果使用圖形介面,資料表的定義就會自動在指令碼窗格中更新。若要在指令碼窗格中套用 SQL 程式碼,請選擇 [更新] 按鈕。如需新版本的詳細資訊,請參閱如何:使用資料表設計工具建立資料庫物件。 |
程序
如果符合下列所有條件,您可以設定參考完整性:
主索引鍵資料表的相符資料行為主索引鍵或具有唯一條件約束。
在外部資料表中的關聯資料行,具有相同的資料型別和大小。
強制使用參考完整性時,您必須遵守下列規則:
如果關聯資料表的主索引鍵沒有該值存在,您將無法在關聯資料表的外部索引鍵資料行中輸入值。不過,您可以在外部索引鍵資料行中輸入 null 值。例如,您無法將某項工作指派給未在 employee 資料表中出現的員工,但您可以在 employee 資料表的 job_id 資料行中輸入 null 值,以表示某員工並未指派到工作。
如果關聯資料表中存在相符的資料列,您將無法刪除主索引鍵資料表的資料列。例如,如果接獲工作指派的員工出現在 employee 資料表的資料列中,您將無法從 jobs 資料表中刪除該資料列。
如果該資料列具有關聯資料列,您將無法變更主索引鍵資料表中的主索引鍵值。例如,如果在員工資料表中出現具有該 job_id 的員工,您就無法變更工作資料表中資料列的 job_id 值。