1. 程式人生 > >1-3範式,bcnf,關系模型完整性約束

1-3範式,bcnf,關系模型完整性約束

範式 部分函數 所有 拆分 應該 數據庫字段 ren 參照完整性 應用

1範式-所有屬性都不可拆分-主要要自己的業務需求

2範式-不存在非主屬性對碼的部分函數依賴

3範式-不存在非主屬性對碼的部分函數依賴,傳遞函數依賴

bcnf-不存在主屬性對碼的部分函數依賴,傳遞函數依賴

碼:在“碼”的定義中,除 K 之外的所有屬性應該看成是一個集合 U(也就是一個整體),也就是說,只有 K 能夠完全函數決定 U 中的每一個屬性,那麽 K 才是碼。如果 K 只是能夠完全函數決定 U 中的一部分屬性,而不能完全函數決定另外一部分屬性,那麽 K 不是碼。

主屬性:碼的每一個屬性;

非主屬性:除主屬性外的屬性;

前提:應用範式的前提是要在意關系模型的完整性,

關系模型的完整性:1-域完整性約束

域完整性是保證數據庫字段取值的合理性。

        2-實體完整性約束

實體完整性(Entity integrity)是指關系的主關鍵字不能重復也不能取“空值"。

        3-參照完整性約束

參照完整性(Referential Iintigrity)是定義建立關系之間聯系的主關鍵字與外部關鍵字引用的約束條件。參照完整性主要指主表不能任意刪除或修改,從表不能任意添加。

        4-用戶定義完整性

1-3範式,bcnf,關系模型完整性約束