資料庫完整性規則 (Integrity Constraints) 是用來確保資料正確性、一致性與可靠性的核心機制。關聯式資料庫中主要包含以下三大基本規則:
(1)實體完整性規則(Entity Integrity Rule)
(2)參考完整性規則(Referential Integrity Rule)
這是要確保特定欄位 (Column) 內的資料必須符合預設的格式與條件。
這是確保資料表中的每一筆紀錄 (Row) 都能靠主鍵被唯一識別。
規則:每個資料表都必須有一個主鍵 (Primary Key)。
限制:主鍵的值必須具備【唯一性】,且絕不可為空值 (NULL)。
(2)參考完整性規則(Referential Integrity Rule)
指在兩個資料表中,次要資料表的外鍵(FK)的資料欄位值,一定要存在於主要資料表的主鍵(PK)中的資料欄位值。這是要確保不同資料表之間的資料關聯性正確無誤。
規則:資料表之間的連結依賴於外鍵 (Foreign Key)。
限制:外鍵的值必須對應到另一個資料表中的主鍵,或者是空值 (NULL)。
這能防止系統出現「孤立資料」(例如:刪除了部門,但該部門底下的員工依然存在)。
(3)值域完整性規則(Domain Integrity Rule)
(3)值域完整性規則(Domain Integrity Rule)
這是要確保特定欄位 (Column) 內的資料必須符合預設的格式與條件。
規則:限制欄位的資料型態、預設值或範圍。
限制:同一資料行中的資料屬性必須要相同。
例如:年齡欄位不可輸入文字、日期欄位必須符合格式,或數值欄位必須大於零。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其實以上說的,有點廢話!
「主鍵必須要具有【唯一性】並且也不可以為空值 (NULL)」,不符合這個條件,還叫資料庫嗎?
兩個資料庫透過主鍵與外鍵關聯,「次要資料表的外鍵(FK)的資料欄位值,一定要存在於主要資料表的主鍵(PK)中的資料欄位值」,不符合這個條件,怎麼關聯?
「單一資料表中,同一資料行中的資料屬性必須要相同」,同個資料行如果資料屬性可以不同,那真的是見鬼了吧?
所以說,資料庫的三個完整性規則,大概是為了考試題目出題用的吧?
其實以上說的,有點廢話!
「主鍵必須要具有【唯一性】並且也不可以為空值 (NULL)」,不符合這個條件,還叫資料庫嗎?
兩個資料庫透過主鍵與外鍵關聯,「次要資料表的外鍵(FK)的資料欄位值,一定要存在於主要資料表的主鍵(PK)中的資料欄位值」,不符合這個條件,怎麼關聯?
「單一資料表中,同一資料行中的資料屬性必須要相同」,同個資料行如果資料屬性可以不同,那真的是見鬼了吧?
所以說,資料庫的三個完整性規則,大概是為了考試題目出題用的吧?

0 留言