關系型數據庫的四大特性? 完整性約束提供一種手段保證當授權用戶對數據庫修改時不會破壞數據的一緻性因此,完整性約束防止的是對數據的破壞關系模型的完整性規則是對關系的某種約束條件關系的完整性共分為三類:實體完整性、引用完整性和用戶定義完整性,我來為大家講解一下關于關系型數據庫的四大特性?跟着小編一起來看一看吧!
完整性約束提供一種手段保證當授權用戶對數據庫修改時不會破壞數據的一緻性。因此,完整性約束防止的是對數據的破壞。關系模型的完整性規則是對關系的某種約束條件。關系的完整性共分為三類:實體完整性、引用完整性和用戶定義完整性
【1】實體完整性
實體完整性規則規定基本關系的所有主關鍵字對應的主屬性都不能取空值,例如,學生選課的關系選課(學号,課程号,成績)中,學号和課程号共同組成為主關鍵字,則學号和課程号兩個屬性都不能為空。因為沒有學号的成績或沒有課程号的成績都是不存在的。
對于實體完整性,有如下規則:
1、實體完整性規則針對基本關系。一個基本關系表通常對應一個實體集,例如,學生關系對應學 生集合。
2、現實世界中的實體是可以區分的,它們具有一種唯一性質的标識。例如,學生的學号,教師的職工号等。
在關系模型中,主關鍵字作為唯一的标識,且不能為空
【2】引用完整性
在現實生活中的實體之間總是存在着某種聯系,在關系模型中實體與實體之間的聯系都是用關系來描述的,這樣就存在關系與關系之間的引用。例如,有學生實體和班級兩個實體集合:
學生(學号,姓名,性别,年齡,班級編号)其中學号為主碼
班級(班級編号,學生數量,班主任姓名),其中班級編号為主碼
這兩個關系之間存在着屬性的引用,即學生關系引用了班級關系的主關鍵字“班級編号”,顯然,學生關系中的“班級編号”值必須是在班級表中确實存在的班級的班級編号,即班級關系中有該班級的記錄。這說明學生關系中某個屬性的取值要參照班級關系的屬性取值。在這種情況下,"班級編号"不是學生關系的主關鍵字,但是卻是班級關系的主碼,則稱"班級編号"是學生關系的外關鍵字
引用完整性就是定義外關鍵字與主關鍵字之間的引用規則。如果要删除被引用的對象,那麼也要删除引用它的所有對象,或者把引用值設置為空(如果允許的話)。例如,前面的學生和班級關系中,删除某個班級元組之前,必須先删除相應的引用該班級的學生元組。這就是引用完整性
【3】用戶定義完整性
用戶自定義完整性指針對某一具體關系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。
例如某個屬性必須取唯一值,某個非主屬性也不能取空值,某個屬性的取值範圍在0-100之間等
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!