參照完整性 (Referential Integrity) 是資料庫管理中的一個重要概念,旨在確保資料的正確性和一致性。具體來說,參照完整性是指在關聯資料庫中,確保外鍵 (foreign key) 的值必須存在於被參照表(參照關係)的主鍵 (primary key) 或候選鍵 (candidate key) 中。這樣可以防止孤立的或不一致的資料出現,確保資料庫的整體一致性。
參照完整性強制要求資料庫中某些表之間的關聯關係有效。例如,如果一張訂單表 (Order) 參照了一張客戶表 (Customer),那麼每個訂單記錄中的客戶 ID 必須在客戶表中存在。這樣,資料庫系統可以防止插入無效的訂單記錄(即,訂單中提到的客戶在客戶表中不存在),並且防止刪除或更新客戶表中的記錄,從而使訂單表中的外鍵變成無效。
在關聯模型中,參照完整性通常通過以下方式來表示和維護:
外鍵約束 (Foreign Key Constraint):
SQL 語句範例:
CREATE TABLE Customer ( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(100) );
CREATE TABLE Order ( OrderID INT PRIMARY KEY, OrderDate DATE, CustomerID INT, FOREIGN KEY (CustomerID) REFERENCES Customer(CustomerID) );
在這個範例中:
資料庫系統在進行下列操作時會自動維護參照完整性:
插入 (INSERT):
更新 (UPDATE):
刪除 (DELETE):
總結來說,參照完整性確保了關聯資料庫中不同表之間的數據關聯的有效性,通過外鍵約束等機制來維護資料的一致性和正確性。