關(guān)系數(shù)據(jù)庫模型 關(guān)系數(shù)據(jù)庫完整性有哪些?
關(guān)系數(shù)據(jù)庫完整性有哪些?實(shí)體表的完整性。主要用于保證操作的數(shù)據(jù)(記錄)不為空、唯一、不重復(fù)。換句話說,實(shí)體完整性要求每個(gè)關(guān)系表都有且只有一個(gè)主鍵,并且每個(gè)主鍵值必須是唯一的,不能為空或重復(fù)。由于主鍵是
關(guān)系數(shù)據(jù)庫完整性有哪些?
實(shí)體表的完整性。主要用于保證操作的數(shù)據(jù)(記錄)不為空、唯一、不重復(fù)。換句話說,實(shí)體完整性要求每個(gè)關(guān)系表都有且只有一個(gè)主鍵,并且每個(gè)主鍵值必須是唯一的,不能為空或重復(fù)。
由于主鍵是實(shí)體數(shù)據(jù)(記錄)的唯一標(biāo)識(shí)符,如果primary屬性為空,則關(guān)系中會(huì)有不可識(shí)別的實(shí)體數(shù)據(jù)(記錄),這與實(shí)體的定義相矛盾。對(duì)于非主屬性,可以使用空值。因此,這個(gè)規(guī)則被稱為實(shí)體完整性規(guī)則
域完整性意味著數(shù)據(jù)庫表中的列必須滿足某些數(shù)據(jù)類型或約束。約束條件包括取值范圍、精度等。表中的check、外鍵約束和default、notnull定義屬于域完整性類別。
3. 引用完整性
引用完整性是表間規(guī)則。在更新、插入或刪除記錄時(shí),如果只更改其中一條記錄,則會(huì)影響數(shù)據(jù)的完整性。例如,刪除父表的記錄后,子表的相應(yīng)記錄不會(huì)被刪除,導(dǎo)致這些記錄被稱為隔離記錄。在表之間更新、插入和刪除數(shù)據(jù)的完整性稱為引用完整性。
在關(guān)系數(shù)據(jù)庫中,關(guān)系之間的關(guān)系是通過公共屬性實(shí)現(xiàn)的。這個(gè)公共屬性通常是一個(gè)表的主鍵和另一個(gè)表的外鍵。引用完整性體現(xiàn)在兩個(gè)方面:實(shí)現(xiàn)表與表之間的關(guān)系,外鍵的值必須是另一個(gè)表的主鍵的有效值,或者是“空”值。
4. 自定義完整性
自定義完整性是對(duì)數(shù)據(jù)表中字段屬性的限制。用戶定義的完整性規(guī)則也稱為域完整性規(guī)則。約束包括字段范圍、字段類型和有效規(guī)則,由確定關(guān)系結(jié)構(gòu)時(shí)定義的字段屬性決定。