數(shù)據(jù)庫三種完整性約束 什么是數(shù)據(jù)庫的完整性約束條件?
什么是數(shù)據(jù)庫的完整性約束條件?數(shù)據(jù)完整性約束是指為了防止不符合要求的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,當(dāng)用戶插入、修改、刪除數(shù)據(jù)時(shí),DBMS會(huì)根據(jù)一定的約束自動(dòng)監(jiān)控?cái)?shù)據(jù),使不符合要求的數(shù)據(jù)不能進(jìn)入數(shù)據(jù)庫,從而保證數(shù)據(jù)庫
什么是數(shù)據(jù)庫的完整性約束條件?
數(shù)據(jù)完整性約束是指為了防止不符合要求的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,當(dāng)用戶插入、修改、刪除數(shù)據(jù)時(shí),DBMS會(huì)根據(jù)一定的約束自動(dòng)監(jiān)控?cái)?shù)據(jù),使不符合要求的數(shù)據(jù)不能進(jìn)入數(shù)據(jù)庫,從而保證數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)是正確的,有效且兼容。
數(shù)據(jù)庫完整性約束包括以下類型:
1)表相關(guān)約束:表中定義的約束。約束可以在列定義時(shí)定義,稱為列約束,也可以在表定義時(shí)定義,稱為表約束。
2)域約束:在域定義中定義的約束。它與特定域中定義的任何列相關(guān)。
3)斷言:在斷言定義時(shí)定義的約束,可以與一個(gè)或多個(gè)表相關(guān)聯(lián)。
數(shù)據(jù)完整性約束有哪幾種?
關(guān)系的完整性約束通常包括域完整性、實(shí)體完整性、引用完整性和用戶定義完整性。
1. 域完整性是保證數(shù)據(jù)庫字段值合理性的最簡(jiǎn)單、最基本的約束。在當(dāng)今的關(guān)系數(shù)據(jù)庫管理系統(tǒng)中,域完整性約束檢查是普遍可用的。
2. 實(shí)體完整性是指在信息或數(shù)據(jù)的傳輸和存儲(chǔ)過程中,信息或數(shù)據(jù)不被未經(jīng)授權(quán)的人篡改或篡改后能被迅速發(fā)現(xiàn)。根據(jù)實(shí)體完整性規(guī)則的要求,primary屬性不能為空。如果primary關(guān)鍵字是多個(gè)屬性的組合,則所有primary屬性都不能為null。
3. 引用完整性用于定義建立關(guān)系的主關(guān)鍵字和外部關(guān)鍵字引用的約束。關(guān)系數(shù)據(jù)庫通常包含許多相互關(guān)聯(lián)的關(guān)系,它們之間的關(guān)系是通過公共屬性來實(shí)現(xiàn)的。根據(jù)實(shí)體完整性的要求,主鍵不能為空。
4. 自定義完整性的功能是根據(jù)應(yīng)用環(huán)境的要求和實(shí)際需要,對(duì)特定應(yīng)用所涉及的數(shù)據(jù)提出約束。一般來說,這個(gè)約束機(jī)制不應(yīng)該由應(yīng)用程序提供,而應(yīng)該由關(guān)系模型定義和測(cè)試。用戶定義的完整性主要包括字段有效性約束和記錄有效性約束。擴(kuò)展數(shù)據(jù):關(guān)系完整性模型。關(guān)系完整性模型中常見的關(guān)系操作包括:選擇、投影、連接、并、交、差等查詢操作,以及添加、刪除、修改操作。查詢的表達(dá)能力是最重要的部分。關(guān)系運(yùn)算的特點(diǎn)是集合運(yùn)算的方式,即運(yùn)算對(duì)象和結(jié)構(gòu)是集合的。此操作模式也是采集模式。相應(yīng)地,非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作模式是一次一條記錄。早期的關(guān)系運(yùn)算能力通常用代數(shù)或邏輯的方式表示,分別稱為關(guān)系代數(shù)和關(guān)系微積分。關(guān)系代數(shù)用關(guān)系運(yùn)算來表示查詢請(qǐng)求的方式。關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算在表達(dá)能力上是等價(jià)的。關(guān)系語言是一種高度非過程性的語言。用戶不需要請(qǐng)求DBA為其建立特殊的訪問路徑。訪問路徑的選擇是通過數(shù)據(jù)庫管理系統(tǒng)的優(yōu)化機(jī)制來完成的。此外,用戶還可以在不依賴循環(huán)結(jié)構(gòu)的情況下完成數(shù)據(jù)操作。
什么叫完整性約束?其主要作用是什么?
數(shù)據(jù)完整性約束是一組完整性規(guī)則。它定義了數(shù)據(jù)模型必須遵循的語義約束,并規(guī)定了內(nèi)部數(shù)據(jù)必須滿足的語義約束以及根據(jù)數(shù)據(jù)模型構(gòu)造的數(shù)據(jù)庫中數(shù)據(jù)之間的關(guān)系。為了防止不合格數(shù)據(jù)進(jìn)入數(shù)據(jù)庫,當(dāng)用戶插入、修改、刪除數(shù)據(jù)時(shí),DBMS會(huì)根據(jù)一定的約束條件自動(dòng)監(jiān)控?cái)?shù)據(jù),使不合格數(shù)據(jù)不能進(jìn)入數(shù)據(jù)庫,從而保證數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)正確、有效、兼容。