當前位置:首頁 » 操作系統 » 關系資料庫數據完整性規則

關系資料庫數據完整性規則

發布時間: 2022-07-14 21:47:03

① 什麼是關系資料庫的三個完整性有哪五個約束條件

實體完整性約束、參照完整性約束、用戶自定義完整性約束。
五個約束條件:非空、唯一、主碼、外碼、檢查。

② 什麼是資料庫完整性,關系資料庫中完整性控制有幾個方面,分別通過什麼機制保證

關系的完整性約束通常包括域完整性,實體完整性、參照完整性和用戶定義完整性。
1、域完整性是保證資料庫欄位取值的合理性,是最簡單、最基本的約束。在當今的關系DBMS中,一般都有域完整性約束檢查功能。
2、實體完整性,作用是指在傳輸、存儲信息或數據的過程中,確保信息或數據不被未授權的篡改或在篡改後能夠被迅速發現。按實體完整性規則要求,主屬性不得取空值,如主關鍵字是多個屬性的組合,則所有主屬性均不得取空值。
3、參照完整性,作用是定義建立關系之間聯系的主關鍵字與外部關鍵字引用的約束條件。關系資料庫中通常都包含多個存在相互聯系的關系,關系與關系之間的聯系是通過公共屬性來實現的。根據實體完整性要求,主關鍵字不得取空值。
4、用戶定義完整性作用是根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件。這一約束機制一般不應由應用程序提供,而應有由關系模型提供定義並檢驗,用戶定義完整性主要包括欄位有效性約束和記錄有效性。

③ 在關系資料庫中存在的完整性規則有什麼

3.1 sql 中的完整性約束

SQL把各種完整性約束作為資料庫模式定義的一部分。既有效防止了對資料庫的意外破壞,提高了完整性檢測的效率,又可以減輕編程人員的負擔。

SQL對三種不同完整性約束的設置及檢測,採取了不同的方式加以實現。下面分別介紹。

3.1.1 實體完整性和主碼

實體完整性規定,主碼的任何屬性都不能為空,因為,概念模型中實體和聯系都是可區分的,而且它們以碼為唯一性標識。如果,主碼的屬性值可以為空,則意味著在概念模型中存在著不以碼為唯一性標識的實體。這顯然是前後矛盾的。

那麼怎樣保證實體完整性呢?SQL中實體完整性是通過主碼來實現的。一旦某個屬性或屬性組被定義為主碼,該主碼的每個屬性就不能為空值,並且在關系中不能出現主碼值完全相同的兩個元組。

主碼的定義是在Create Table 語句中使用 Primary Key關鍵字來實現的。方法有兩種:

a) 在屬性定義後加上關鍵字 Primary Key;

b) 在屬性表定義後加上額外的定義主碼的子句:Primary Key(<主碼屬性名表>)

④ 關系資料庫中,關系的完整性約束包括哪幾種,它們分別有什麼作用

關系的完整性主要包括域完整性、實體完整性和參照完整性三種。
1.域完整性
域完整性是對數據表中欄位屬性的約束,它包括欄位的值域、欄位的類型及欄位的有效規則等約束,它是由確定關系結構時所定義的欄位的屬性決定的。
2.實體完整性
實體完整性是對關系中的記錄唯一性,也就是主鍵的約束。准確地說,實體完整性是指關系中的主屬性值不能為Null且不能有相同值。
3.參照完整性
參照完整性是對關系資料庫中建立關聯關系的數據表間數據參照引用的約束,也就是對外鍵的約束。准確地說,參照完整性是指關系中的外鍵必須是另一個關系的主鍵有效值,或者是NULL。

⑤ 什麼是資料庫的關系完整性

關系的究整性
關系模型的完整性規則是對關系的某種約束條件。關系模型中可以有三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系的兩個不變性,應該由關系系統自動支持。

一、實體完整性(Entity Integrity)
規則2.1 實體完整性規則 若屬性A是基本關系R的主屬性,則屬性A不能取空值。
例如在關系「SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)」中,「研究生姓名POSTGRADUATE」屬性為主碼(假設研究生不會重名),則「研究生姓名」不能取空值。
實體完整性規則規定基本關系的所有主屬性都不能取空值,而不僅是主碼整體不能取空值。例如學生選課關系「選修(學號,課程號,成績)」中,「學號、課程號」為主碼,則「學號」和「課程號」兩個屬性都不能取空值。
對於實體完整性規則說明如下:
(1)實體完整性規則是針對基本關系而言的。一個基本表通常對應現實世界的一個實體集。例如學生關系對應於學生的集合。
(2)現實世界中的實體是可區分的,即它們具有某種唯一性標識。
(3)相應地,關系模型中以主碼作為唯一性標識。
(4)主碼中的屬性即主屬性不能取空值。所謂空值就是「不知道」或「無意義」的值。如果主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性。

二、參照完整性(Referential Integrity)
現實世界中的實體之間往往存在某種聯系,在關系模型中實體及實體間的聯系都是用關系來描述的。這樣就自然存在著關系與關系間的引用。先來看三個例子。
例1 學生實體和專業實體可以用下面的關系表示,其中主碼用下劃線標識:
學生(學號,姓名,性別,專業號,年齡)
專業(專業號,專業名)
這兩個關系之間存在著屬性的引用,即學生關系引用了專業關系的主碼「專業號」。顯然,學生關系中的「專業號」值必須是確實存在的專業的專業號,即專業關系中有該專業的記錄。這也就是說,學生關系中的某個屬性的取值需要參照專業關系的屬性取值。
規則2.2 參照完整性規則 若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對於R中每個元組在F上的值必須為:
·或者取空值(F的每個屬性值均為空值);
·或者等於S中某個元組的主碼值。
三、用戶定義的完整性(User-defined Integrity)
任何關系資料庫系統都應該支持實體完整性和參照完整性。除此之外,不同的關系資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件,用戶定義的完整性就是針對某一具體關系資料庫的約束條件。它反映某一具體應用所涉及的數據必須滿足的語義要求。例如某個屬性必須取唯一值、某些屬性值之間應滿足一定的函數關系、某個屬性的取值范圍在 0~100之間等。關系模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不要由應用程序承擔這一功能。

⑥ 舉例說明關系資料庫提供的三類數據完整性約束控制

完整性規則:
1、實體完整性:若A是基本關系R的主屬性,怎A不能取空值。
比如表A(a,b,c)中,若a是主碼,則a不能為空值。
2、參照完整性:若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼相對應,則對於R中每個月組在F上的值取之允許兩種可能,或者為空值,或者等於S中某個元組的主碼值。
比如:表A(a,b,c),表B(c,a,d)如果兩關系間存在屬性引用,那麼表B中的a的值只有兩個可能,要麼等於表A中的某個記錄的值,要麼就為空。
3、用戶定義的完整性:
就是由用戶自定義的約束啦,
就像sql語句check (price between 3000 and 7000)
這類就是。

⑦ 關系型資料庫必須遵循的三個完整性規則

實體完整性規則:主鍵約束
域完整性規則:欄位類型等范圍,bit欄位只能為1或0,int欄位只能為整數等,
引用完整性規則:外鍵約束等關聯約束

具體的資料庫設計,等你熟悉了上面的內容後,你就可以自己設計了,不但你自己可以設計,還可以進行靈活的修改,授人魚不如授人漁,^_^

⑧ 關系模型的數據完整性包含哪些內容

1、實體完整性

實體完整性要求每個表都有唯一標識符,每一個表中的主鍵欄位不能為空或者重復的值。

2、參照完整性

參照完整性要求關系中不允許引用不存在的實體。設定相應的更新刪除插入規則來更新參考表。

3、用戶自定義完整性

用戶自定義完整性是針對某一具體關系資料庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。

也就是說:某個表你設置這一列為null,not null,default,check等。包括:非空約束、唯一約束、檢查約束、主鍵約束 、外鍵約束。

(8)關系資料庫數據完整性規則擴展閱讀:

關系模型的數據完整性約束的實施:

實現完整性約束的方法依類別不同而不同。完整性約束可以分為兩大類:靜態約束和動態約束。

靜態約束 靜態約束是對資料庫狀態的約束,有可分為固定約束、隱含約束和顯示約束。[1]

固定約束 是數據模型固有的約束,如關系的屬性是原子的,即滿足INF的約束。固有約束在DBMS實現時已經考慮。

隱含約束 指隱含於數據模式中的約束,一般用數據定義語言(DDL)語句說明,並存於數據目錄中。例如,域完整性約束、實體完整性以及參照完整性約束,都由相應的DDL語句說明。

⑨ 關系資料庫的三個完整性約束是什麼各是什麼含義

可分為三種類型:與表有關的約束、域(Domain)約束、斷言(Assertion)。

1、與表有關的約束:是表中定義的一種約束。可在列定義時定義該約束,此時稱為列約束,也可以在表定義時定義約束,此時稱為表約束。包括列約束(表約束+NOTNULL)和表約束(PRIMARYKEY、foreignkey、check、UNIQUE)。

2、域(Domain)約束:在域定義中被定義的一種約束,它與在特定域中定義的任何列都有關系。

3、斷言(Assertion):在斷言定義時定義的一種約束,它可以與一個或多個表進行關聯。不必與特定的列綁定,可以理解為能應用於多個表的check約束,因此必須在表定義之外獨立創建斷言。

(9)關系資料庫數據完整性規則擴展閱讀:

完整性約束中包含四個完整性,即域完整性,實體完整性、參照完整性和用戶定義完整性。

1、域完整性為保證資料庫欄位取值的合理性。屬性值應是域中的值,這是關系模式規定了的。除此之外,一個屬性能否為NULL,這是由語義決定的,也是域完整性約束的主要內容。

2、實體完整性,指關系的主關鍵字不能重復也不能取「空值"。一個關系對應現實世界中一個實體集。現實世界中的實體是可以相互區分、識別的,也即它們應具有某種惟一性標識。

3、參照完整性,定義建立關系之間聯系的主關鍵字與外部關鍵字引用的約束條件。關系資料庫中通常都包含多個存在相互聯系的關系,關系與關系之間的聯系是通過公共屬性來實現的。

4、用戶定義完整性,則是根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件。

熱點內容
crv哪個配置性價比高2021 發布:2024-09-17 04:07:51 瀏覽:35
wincc圖形編譯在哪裡 發布:2024-09-17 03:58:26 瀏覽:977
androidubuntu 發布:2024-09-17 03:50:27 瀏覽:701
識夢源碼 發布:2024-09-17 03:50:18 瀏覽:26
諾基亞密碼忘了打什麼電話 發布:2024-09-17 03:27:09 瀏覽:555
樹深度優先演算法 發布:2024-09-17 03:26:58 瀏覽:472
跳轉頁源碼 發布:2024-09-17 03:13:05 瀏覽:543
html文件上傳表單 發布:2024-09-17 03:08:02 瀏覽:785
聊天軟體編程 發布:2024-09-17 03:00:07 瀏覽:726
linuxoracle安裝路徑 發布:2024-09-17 01:57:29 瀏覽:688