国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫原理與應(yīng)用期末復(fù)習(xí)大綱

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)庫原理與應(yīng)用期末復(fù)習(xí)大綱。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

數(shù)據(jù)庫原理與應(yīng)用期末復(fù)習(xí)大綱

1. 數(shù)據(jù)庫系統(tǒng)組成。

? 數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS)是采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理 系統(tǒng)(及相關(guān)使用工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。

? 數(shù)據(jù)庫系統(tǒng)是引入了數(shù)據(jù)庫及時(shí)的計(jì)算機(jī)系統(tǒng),一般由數(shù)據(jù)庫,支持?jǐn)?shù)據(jù)庫運(yùn)行的軟硬件,數(shù)據(jù)庫管理系統(tǒng) (及其開發(fā)工具)、應(yīng)用程序、數(shù)據(jù)庫管理員和用戶組成。

數(shù)據(jù)庫系統(tǒng)的硬件平臺及數(shù)據(jù)庫:

  1. 硬件
  2. 數(shù)據(jù)庫

軟件:

  1. 數(shù)據(jù)庫管理系統(tǒng)
  2. 操作系統(tǒng)
  3. 高級語言和應(yīng)用開發(fā)工具

人員:

  1. 數(shù)據(jù)庫管理員
  2. 系統(tǒng)分析員和數(shù)據(jù)庫設(shè)計(jì)人員
  3. 應(yīng)用程序員
  4. 用戶

2. 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)、外模式/模式映像、模式/內(nèi)模式映像。

? 數(shù)據(jù)庫系統(tǒng)采用三級模式結(jié)構(gòu),三級模式之間形成了兩級映像,從而實(shí)現(xiàn)了較高的數(shù)據(jù)獨(dú)立柱(三級模式/ 兩級映像

? 三級模式:

* 外模式:也稱為子模式或者用戶模式,它是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式通常是模式的子集。一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。外模式是保證數(shù)據(jù)庫安全性的一個(gè)有力措施。由于它是用戶的數(shù)據(jù)視圖,如果不同用戶在應(yīng)用需求,看待數(shù)據(jù)的方式,對數(shù)據(jù)保密的要求等方面存在差異,則他們的外模式描述是不同的,既然數(shù)據(jù)是來自同一數(shù)據(jù)庫,但在外模式中的結(jié)構(gòu)、類型、長度、保密級等都可以不同。因此用戶根據(jù)不同請求,看到的結(jié)果是不同的,并且每個(gè)用戶看到的結(jié)果對應(yīng)外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)對他們來說是不可見的。DBMS通過DML對數(shù)據(jù)記錄進(jìn)行操作
*  模式:模式也稱為概念模式或邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征描述,它是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,既不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體應(yīng)用程序無關(guān)。模式實(shí)際上是數(shù)據(jù)庫中數(shù)據(jù)在邏輯上的視圖。一個(gè)數(shù)據(jù)庫只有一個(gè)模式。數(shù)據(jù)庫的模式以某一種數(shù)據(jù)模型為基礎(chǔ),同時(shí)考慮了所有用戶的需求,并將這些需求有機(jī)地結(jié)合成一個(gè)邏輯整體。DBMS通過DDL定義數(shù)據(jù)的模式,同時(shí)還需要定義數(shù)據(jù)之間的聯(lián)系及相關(guān)的安全性,完整性約束條件。
* 內(nèi)模式:內(nèi)模式也稱為存儲(chǔ)模式,它是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的底層描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。例如,記錄的存儲(chǔ)方式是順序存儲(chǔ)、按照B+樹結(jié)構(gòu)存儲(chǔ)還是按照Hash方法存儲(chǔ);索引按照什么方式組織;數(shù)據(jù)是否壓縮存儲(chǔ),是否加密;數(shù)據(jù)的存儲(chǔ)記錄有何規(guī)定等。一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。

? 兩級映像:

  • 外模式/模式映像:定義了該外模式與模式之間的對應(yīng)關(guān)系。對于每一個(gè)外模式,數(shù)據(jù)庫系統(tǒng)都有一個(gè)外模式/模式映像。這些映像定義通常包含在各自外模式的描述中。當(dāng)模式改變時(shí),由數(shù)據(jù)庫管理員對各個(gè)外模式/模式的映像作相應(yīng)改變,外模式可以保持不變,從而不必修改應(yīng)用程序,實(shí)現(xiàn)數(shù)據(jù)的邏輯獨(dú)立性。如在模式中增加新的記錄類型(只要不破壞原有記錄類型之間的聯(lián)系型);在原有記錄類型之間增加新的聯(lián)系;在某些記錄類型中增加新的數(shù)據(jù)項(xiàng)。
  • 模式/內(nèi)模式映像。數(shù)據(jù)庫中只有一個(gè)模式,也只有一個(gè)內(nèi)模式,所以模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對應(yīng)關(guān)系。該映像定義通常包含在模式描述中。當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了,由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像作相應(yīng)改變,可以使模式保持不變,從而保證數(shù)據(jù)的物理獨(dú)立性。如改變存儲(chǔ)設(shè)備或引進(jìn)新的存儲(chǔ)設(shè)備;改變數(shù)據(jù)的存儲(chǔ)位置;改變存儲(chǔ)記錄的體積;改變數(shù)據(jù)組織方式。

3. SQL語言中,創(chuàng)建、修改、刪除一個(gè)表的命令。

創(chuàng)建表:

CREATE TABLE Student

(Sno CHAR(10) NOT NULL,

? PRIMARY KEY(Sno),

? Sname CHAR(10),

? Ssex CHAR(2),

? Sage INT,

? Sdept CHAR(20),

Foregin KEY(Sno) reference Student(Sno)

修改表:

ALTER TABLE Student

? ADD Room CHAR(8) NULL

ALTER TABLE Student

? ALTER COLUMN Room CHAR(6)

ALTER TABLE Student

? DROP COLUMN Room

刪除表:

DROP TABLE Test[restrict|cascade]前者限制刪除的表不能被其他表引用,如果存在依賴則不能刪除。后者無限制,刪除基本表的同時(shí),相關(guān)的依賴依賴對象也會(huì)一起刪除。

4. 關(guān)系R和S進(jìn)行自然連接的條件。

當(dāng)“=”時(shí)連接運(yùn)算稱為等值連接。它是從關(guān)系R和S的廣義笛卡爾積中選取A,B屬性值相等的元組。

自然連接是特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性,并且在結(jié)果中把重復(fù)的屬性列去掉。

一般連接運(yùn)算是從行的角度進(jìn)行運(yùn)算的,但自然連接還需要去掉重復(fù)的列,所以同時(shí)從行和列的角度進(jìn)行運(yùn)算

自然連接和等值連接的差別如下:

  • 自然連接要求相等的分量必須具有相同的屬性名,等值連接則不要求
  • 自然連接要求把重復(fù)的屬性名去掉,等值連接卻不需要這樣做。

5. 選擇、投影、并、交、差運(yùn)算。交不是基本的關(guān)系代數(shù)運(yùn)算,交可以被差運(yùn)算取代。

選擇、投影、并、交、差運(yùn)算。交不是基本的關(guān)系代數(shù)運(yùn)算,交可以被差運(yùn)算取代。

6.關(guān)系數(shù)據(jù)庫三個(gè)完整性、實(shí)體完整性約束通過主碼來實(shí)現(xiàn),參照完整性約束可以通過外碼來實(shí)現(xiàn)。

關(guān)系模型中允許定義三類完整性約束:實(shí)體完整性約束,參照完整性約束,用戶定義的完整性約束。其中實(shí)體完整性是規(guī)定表的每一行在表中是唯一的實(shí)體。參照完整性是指兩個(gè)表的主關(guān)鍵字和外關(guān)鍵字的數(shù)據(jù)應(yīng)該一致,保證了表之間的數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無意義的數(shù)據(jù)在數(shù)據(jù)庫中擴(kuò)散。這兩個(gè)約束是由關(guān)系系統(tǒng)自動(dòng)支持的。用戶定義的完整性是針對某個(gè)特定關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用必須滿足的語義要求;

7. 超碼、候選碼、主碼、外碼。

  • 超碼:是一個(gè)或多個(gè)屬性的集合,這些屬性可以讓我們在一個(gè)實(shí)體集中唯一地標(biāo)識一個(gè)實(shí)體。一個(gè)關(guān)系可能有多個(gè)超碼。如果K是一個(gè)超碼,那么K的任意超集也是超碼,也就是說如果K是超碼,那么所有包含K的集合也是超碼。
  • 候選碼:是從超碼中選出的,自然地,候選碼也是一個(gè)或多個(gè)屬性的集合。一個(gè)關(guān)系可能有多個(gè)候選碼。候選碼是最小超碼,它們的任意真子集都不能成為超碼。例如,如果K是超碼,那么所有包含K的集合都不能是候選碼;如果K、J都不是超碼,那么K和J組成的集合(K,J)有可能是候選碼。
  • 主碼:是從多個(gè)候選碼中任意選出的一個(gè),如果候選碼只有一個(gè),那么該候選碼就是主碼。雖然說主碼的選擇是比較隨意的,但在實(shí)際開發(fā)中還是要靠一定的經(jīng)驗(yàn),不然開發(fā)出來的系統(tǒng)會(huì)出現(xiàn)很多問題。一般來說主碼都應(yīng)該選擇那些從不或者極少變化的屬性。
  • 外碼:在關(guān)系K中的屬性或?qū)傩越M若在另一個(gè)關(guān)系J中作為主碼使用,則稱該屬性或?qū)傩越M為K的外碼。K的外碼和J中的主碼必須定義在相同的域上,允許使用不同的屬性名。

8. SELECT查詢語句中的通配符。

select * :*表示所有列

9. 視圖的定義與視圖的作用。

視圖(View)是從一個(gè)或者多個(gè)基本表(或視圖)中導(dǎo)出的表。它與基本表不同,是一個(gè)虛表。數(shù)據(jù)庫中只存放視圖的定義,不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。所以基本表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也隨之改變。從這個(gè)意義上講,視圖就像一個(gè)窗口,透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化。視圖一經(jīng)定義,就可以和基本表一樣被查詢,刪除。也可以在一個(gè)視圖之上再定義新的視圖,但對視圖的更新(增刪改)操作則有一定的限制。

對于視圖需要注意的點(diǎn):

(1)當(dāng)基礎(chǔ)關(guān)系發(fā)生變化后,再去訪問視圖,看到的虛擬關(guān)系也會(huì)發(fā)生相應(yīng)的變化

(2)用戶對視圖的查詢,系統(tǒng)在執(zhí)行時(shí)必須轉(zhuǎn)換為對基礎(chǔ)關(guān)系的查詢

(3)用戶對視圖的修改,系統(tǒng)在執(zhí)行時(shí)必須轉(zhuǎn)換為對基礎(chǔ)關(guān)系的修改

視圖的作用:

視圖定義在基本表之上,對視圖的一切操作最終也要轉(zhuǎn)換為對基本表的操作。

  1. 視圖能簡化用戶的操作
  2. 視圖使用戶能以多個(gè)角度看待同一數(shù)據(jù)
  3. 視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨(dú)立性
  4. 提高了數(shù)據(jù)的安全性

10. 索引的作用。如何建立索引。聚集索引、非聚集索引、唯一索引 的各自的特點(diǎn)。

用戶對數(shù)據(jù)庫最常用的操作之一就是查詢數(shù)據(jù)。在數(shù)據(jù)量比較大時(shí),搜索滿足條件的數(shù)據(jù)可能會(huì)花費(fèi)很長的時(shí)間,從而占用較多的服務(wù)器資源。為了提高數(shù)據(jù)檢索的能力,在數(shù)據(jù)庫中引入了索引的概念。數(shù)據(jù)庫中的索引類似于書籍中的目錄。在書籍中,利用目錄,用戶不必翻閱完整本書就能迅速地找到所需要的信息。在數(shù)據(jù)庫中,索引使得不需要對整個(gè)表進(jìn)行掃描,就可以在其中找到所需數(shù)據(jù)。

  1. 建立索引:

? CREATE [UNIQUE] [CLUSTERED] [NONCLUSTERED] INDEX <索引名>

? ON 表名 (<列名>[次序] [,<列名>[<次序>]]…)

  • UNIQUE:表示要?jiǎng)?chuàng)建的索引是唯一索引。此索引的每一個(gè)索引值只對應(yīng)唯一的數(shù)據(jù)記錄。唯一索引可以只包含一個(gè)列(限制該列取值不重復(fù)),也可以由多個(gè)列共同構(gòu)成(限制這些列的組合取值不重復(fù))。只有當(dāng)數(shù)據(jù)本身具有唯一性特征時(shí),指定唯一索引才有意義。實(shí)際上,當(dāng)在表上創(chuàng)建PRIMARY KEY或UNIQUE約束時(shí),系統(tǒng)會(huì)自動(dòng)在這些列上創(chuàng)建唯一索引。
  • CLUSTERED:表示要建立的索引是聚集索引。所謂聚集索引是指所有項(xiàng)的順序與表中記錄的物理順序一致
  • NONCLUSTERED:表示要建立的索引是非聚集索引。非聚集索引與書后的術(shù)語表類似。書的內(nèi)容(數(shù)據(jù))存儲(chǔ)在一個(gè)地方,術(shù)語表(索引)存儲(chǔ)在另一個(gè)地方。而且書的內(nèi)容(數(shù)據(jù))并不按術(shù)語表(索引)的順序存放,但術(shù)語表中的每個(gè)詞在書中都有確定的位置。非聚集索引類似術(shù)語表,而數(shù)據(jù)就類似一本書的內(nèi)容。非聚集索引并不改變數(shù)據(jù)的物理存儲(chǔ)順序,因此,可以在一個(gè)表上建立多個(gè)非聚集索引。就像一本書可以有多個(gè)術(shù)語表意一樣,如一本介紹園藝的書可能會(huì)包含一個(gè)植物通俗名稱的術(shù)語表和一個(gè)植物學(xué)名稱的術(shù)語表,因?yàn)檫@是讀者查找信息的最常用的兩種方法。

注:如果沒有指定索引的類型,則默認(rèn)是創(chuàng)建非聚集索引。聚集索引和非聚集索引都可以是唯一索引。因此,只要列中的數(shù)據(jù)是唯一的,就可 以在同一個(gè)表上創(chuàng)建一個(gè)唯一的聚集索引和多個(gè)唯一的非聚集索引

11. 數(shù)據(jù)庫安全性的概念。SQL語言的GRANT和REVOKE語句。

? 數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止非法用戶訪問數(shù)據(jù)庫,避免造成數(shù)據(jù)泄露,更改或破壞。

? (1)數(shù)據(jù)庫遭到破壞

? (2)數(shù)據(jù)丟失

? (3)數(shù)據(jù)不一致

? (4)數(shù)據(jù)庫管理系統(tǒng)故障

GRANT語句:

GRANT <權(quán)限名>[,<權(quán)限名>] on <對象> to <用戶1>,<用戶2>,…| PUBLIC [WITH GRANT OPTION]

例:

GRANT SELECT,UPDATE ON STUDENT TO LIMING WITH GRANT OPTION;

GRANT SELECT(Sno,Sname),UPDATE(Sname) ON STUDENT TO U5;

GRANT SELECT ON SC TO PUBLIC;

GRANT CREATE TABLE,CREATE VIEW TO LIMING;

GRANT ALL ON STUDENT TO LIFANG;

REVOKE語句:

REVOKE <權(quán)限名>[,…] ON <對象> FROM <用戶1>,<用戶2>,… | PUBLIC

例:

REVOKE UPDATE ON STUDENT FROM LIMING;

REVOKE SELECT ON SC FROM PUBLIC;

REVOKE CREATE TABLE FROM LIMING;

12. 函數(shù)依賴、屬性集閉包、運(yùn)用屬性集閉包求超碼(候選碼)。判斷2NF、3NF。

13. 關(guān)系模式分解的原則:保持函數(shù)依賴,無損連接分解。

關(guān)系模式規(guī)范化的方法是進(jìn)行模式分解,但是分解后產(chǎn)生的模式應(yīng)與原模式等價(jià);即模式分解必須遵守一定的準(zhǔn)則,不能表面上消除了操作異常,卻留下其他問題。模式分解需要滿足以下標(biāo)準(zhǔn):

(1)模式分解具有無損連接性

(2)模式分解能夠保持函數(shù)依賴

無損連接是指分解后的關(guān)系與原關(guān)系相比,既不多出信息,也不丟失信息。保持函數(shù)依賴是指在模式分解的過程中函數(shù)依賴不能丟失的特性,即模式分解不能破壞原來的語義。為了得到更高范式的關(guān)系而進(jìn)行的模式分解是否能夠既保證無損鏈接又保持函數(shù)依賴呢?答案是否定的

對于無損連接分解就是不會(huì)丟失信息的分解,判定“一分二”是否無損鏈接的充分必要條件是,將關(guān)系R分解為R1和R2,則當(dāng)以下兩個(gè)函數(shù)依賴之一能夠成立時(shí),這種分解是無損的。

R1∩R2–>R1-R2

R1∩R2–>R2-R1

有關(guān)系模式R(C,T,H,R,S),函數(shù)依賴集為F={C–>T,HR–>C,HT–>R,HS–>R}。現(xiàn)在將R分解為兩個(gè)關(guān)系,R1(C,H,S)和R2(C,T,H,R),這一分解是無損的嗎?

解:是

R1∩R2=CH

R1-R2=S

R2-R1=TR

因?yàn)镃H+=(CHTR),即CH–>TR成立

可以發(fā)現(xiàn)R1∩R2–>R2-R1,所以R分解為R1,R2是無損的。

worker(name,branch,manager)分解為w1(name,branch),b1(branch,manager)

W1∩B1=branch

W1-B1=name

B1-W1=manager

branch+=manager

W1∩B1–>manager,所以是無損連接

14. 掌握規(guī)范到3NF的方法。

**第一范式1NF:**每個(gè)屬性都是原子的關(guān)系是第一范式,也就是說關(guān)系的每個(gè)屬性都是原子屬性(屬性值不可再分)。例如,年齡,性別是原子屬性;父母是非原子屬性。

必須將非1NF的關(guān)系變?yōu)?NF的關(guān)系,關(guān)鍵的方法是將表中每個(gè)非原子的屬性轉(zhuǎn)換成原子屬性。包含多值屬性的表規(guī)范成為第一范式的關(guān)系的處理步驟如下。

第一步:將多值屬性從原表中移出

第二步:生成一個(gè)新關(guān)系,這個(gè)新關(guān)系同時(shí)還包含原來的主碼,新關(guān)系的主碼是原關(guān)系的主碼與多值屬性的組合


包含復(fù)合屬性的表規(guī)范到第一范式的處理步驟比較簡單,只要將復(fù)合屬性轉(zhuǎn)換成相應(yīng)的多個(gè)原子屬性即可

第二范式2NF:

若關(guān)系模式R(U,F)∈1NF,并且每一個(gè)非主屬性都完全函數(shù)依賴于R的候選碼。則R(U,F)∈2NF

判斷是否屬于2NF的方法是:是否存在某個(gè)非主屬性,它部份依賴候選碼,或者說依賴候選碼的一部分,存在則不屬于2NF,不存在則屬于2NF。

例如所示關(guān)系S-C-G(Sno,Cno,Cname,Grade)就不是第二范式的關(guān)系。因?yàn)椋⊿no,Cno)是主鍵,在此關(guān)系中主屬性有(Sno,Cno),非主屬性有Cname,Grade。因?yàn)镃no->Cname,所有(Sno,Cno)P>Cname,這就是非主屬性部分依賴于候選碼。

這個(gè)關(guān)系模式S-C-G(Sno,Cno,Cname,Grade)不是一個(gè)好的關(guān)系,它存在著數(shù)據(jù)冗余,以及插入異常,刪除異常,修改異常

**第三范式3NF:**若關(guān)系模式R(U,F)∈1NF,并且每一個(gè)非主屬性都非傳遞依賴于候選碼,則R(U,F)∈3NF

判斷關(guān)系是否屬于3NF的方法是:是否存在某個(gè)非主屬性,它的傳遞函數(shù)依賴于候選碼,或者函數(shù)依賴于某個(gè)非主屬性,存在則不屬于3NF,不存在則屬于3NF。

例所示關(guān)系模式worker(name,branch,manager)就不是第三范式的關(guān)系。因?yàn)閚ame是主鍵,在此關(guān)系中主屬性有name,非主屬性有branch和manager。而name–>branch,branch–>manager,所以name–>(傳遞)manager,這就是非主屬性傳遞依賴于候選碼。關(guān)系模式worker(name,branch,manager)是第二范式的關(guān)系。因?yàn)樵撽P(guān)系的候選碼只有一個(gè)屬性,其他非主屬性對候選碼都是完全函數(shù)依賴

從上面例子可以看出,關(guān)系R∈2NF,但有可能不屬于3NF。達(dá)到3NF的要求比達(dá)到2NF高。


**BC范式:(BCNF)**期末考試一定不滿足這個(gè)范式

R∈BCNF,則R∈3NF(充分)

R∈3NF,則R不一定∈BCNF(不必要)

如果R∈3NF,且只有一個(gè)候選碼,則是充分必要條件

15. 事務(wù)的四個(gè)特性,事務(wù)并發(fā)執(zhí)行的三種數(shù)據(jù)不一致。

? 事務(wù)具有四個(gè)特性:原子性(Automicity)、一致性(Consistency)、隔離性(Isoation)、持久性(Durability),簡稱為ACID特性。

  • 原子性:事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包含的所以操作(特指修改操作)要么全部做,要么全不做
  • 一致性:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。獨(dú)立執(zhí)行一個(gè)事務(wù)(無其他事務(wù)同時(shí)并發(fā)執(zhí)行)的結(jié)果必須保證數(shù)據(jù)一致性。即事務(wù)開始前,數(shù)據(jù)滿足一致性要求;事務(wù)結(jié)束后,數(shù)據(jù)雖然變化了,但仍然滿足一致性要求
  • 隔離性:一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)的事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾
  • 持久性:任何事務(wù)一旦提交了,它對數(shù)據(jù)庫的影響就必須是永久性的。無論發(fā)生什么故障,都不能取消或破壞這種影響。

***考:***錯(cuò)誤的并發(fā)調(diào)度可能產(chǎn)生的三種錯(cuò)誤,又稱為三類數(shù)據(jù)不一致性:

  1. 丟失修改
  2. 不可重復(fù)讀
  3. 讀臟數(shù)據(jù)

16. 封鎖技術(shù)、讀鎖、寫鎖。

封鎖:多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行地執(zhí)行這些事務(wù)時(shí)的結(jié)果相同,這種調(diào)度策略為可串行化的調(diào)度??纱谢遣l(fā)事務(wù)正確調(diào)度的原則。雖然以不同的順序執(zhí)行事務(wù)可能會(huì)產(chǎn)生不同的結(jié)果,但是不會(huì)將數(shù)據(jù)庫置于不一致的狀態(tài),因此都是正確的。

一個(gè)給定的并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才認(rèn)為是正確調(diào)度。并發(fā)控制的任務(wù)是:保證事務(wù)的并發(fā)調(diào)度是正確的(保證隔離性/可串行化—效果上等價(jià)于某個(gè)可串行調(diào)度),最后不會(huì)破壞數(shù)據(jù)一致性。

封鎖是實(shí)現(xiàn)并發(fā)控制的一個(gè)非常重要的技術(shù)。所謂封鎖就是事務(wù)T在對某個(gè)數(shù)據(jù)對象如表,記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù)T就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其他事務(wù)不能對此數(shù)據(jù)對象進(jìn)行某些操作。

封鎖的基本類型有兩種:排他鎖(Exclusive Locks,簡稱X鎖)和共享鎖(Share Locks,簡稱S鎖)

X鎖,又稱寫鎖,或排他鎖。一個(gè)事務(wù)對數(shù)據(jù)對象A進(jìn)行修改(寫)操作之前,給它加上X鎖,加上X鎖之后,其他任何事務(wù)都不能再對A加任何類型的鎖,直到X鎖被T釋放為止。

S鎖,又稱讀鎖,或共享鎖。一個(gè)事務(wù)對A進(jìn)行讀取操作之前,給它加上S鎖。加上S鎖后,其他事務(wù)可以對A進(jìn)行加更多的鎖。當(dāng)然,只能是另外一個(gè)S鎖,而不能是X鎖,直到S鎖被T釋放為止。

17. 一級封鎖協(xié)議、二級封鎖協(xié)議、三級封鎖協(xié)議、兩段鎖封鎖協(xié)議。每個(gè)協(xié)議何時(shí)加鎖,何時(shí)解鎖,各自解決哪些數(shù)據(jù)不一致。

事務(wù)對數(shù)據(jù)對象加鎖時(shí),還需遵循某些規(guī)則,包括是否(對讀寫操作)加鎖;何時(shí)加鎖,何時(shí)釋放。我們稱這些規(guī)則為封鎖協(xié)議。對封鎖方式規(guī)定不同的規(guī)則,就形成了不同級別的封鎖協(xié)議。不同級別的封鎖協(xié)議所能達(dá)到的系統(tǒng)一致性級別時(shí)不同的。

  1. 一級封鎖協(xié)議:一級封鎖協(xié)議的要求為若事務(wù)對數(shù)據(jù)對象A做的是修改操作時(shí),必須首先對其加X鎖(第一次READ/WRITE之前),且直到事務(wù)結(jié)束才能釋放X鎖(COMMIT或ROLLBACK后),若事務(wù)對A做的是讀取操作,則沒有任何要求(加鎖或不加鎖都可以)。因?yàn)閮蓚€(gè)事務(wù)無法分別修改同一個(gè)數(shù)據(jù),所有一級封鎖協(xié)議可解決丟失修改的問題
  2. 二級封鎖協(xié)議:再一級封鎖協(xié)議的基礎(chǔ)上,若事務(wù)對數(shù)據(jù)對象A做讀取操作,則讀操作(READ)前要求對其加S鎖,讀操作后可在任意時(shí)刻釋放S鎖。利用二級封鎖協(xié)議除了可以解決丟失修改外,還能解決讀臟數(shù)據(jù)的問題。因?yàn)闆]有事務(wù)能夠讀取其他事務(wù)正在修改,還未提交的數(shù)據(jù),所以利用二級封鎖協(xié)議可解決讀臟數(shù)據(jù)的問題
  3. 一級封鎖協(xié)議的基礎(chǔ)上,若事務(wù)對A做的是讀取操作,則要求首先對其加S鎖(第一次READ之前),且直到事務(wù)結(jié)束才能釋放S鎖(COMMIT或ROLLBACK后)。利用三級封鎖協(xié)議解決丟失修改,讀臟數(shù)據(jù),不可重復(fù)讀的問題。因?yàn)闆]有事務(wù)能夠修改其他事務(wù)正在讀取的數(shù)據(jù),所以三級封鎖協(xié)議可解決不可重復(fù)讀的問題。
封鎖協(xié)議 X鎖(對寫數(shù)據(jù)) S鎖(對只讀數(shù)據(jù)) 不丟失修改(寫) 不讀“臟”數(shù)據(jù)(讀) 可重復(fù)讀(讀)
一級 事務(wù)全程加鎖 不用加鎖
二級 事務(wù)全程加鎖 讀前加鎖,讀完后即可釋放
三級 事務(wù)全程加鎖 事務(wù)全程加鎖
  1. 兩段鎖協(xié)議:為了保證并發(fā)調(diào)度的正確性,DBMS的并發(fā)控制機(jī)制必須提供一定的手段來保證調(diào)度是可串行化的。目前DBMS普遍采用兩段鎖協(xié)議來實(shí)現(xiàn)并發(fā)調(diào)度的可串行化,從而保證調(diào)度的正確性

? 兩段鎖協(xié)議是指所有事務(wù)必須分兩個(gè)階段對數(shù)據(jù)項(xiàng)加鎖和解鎖。兩段鎖協(xié)議要求,在對任何數(shù)據(jù)進(jìn)行讀寫之前,事務(wù)首先要獲得對該數(shù)據(jù)的S或X封鎖,釋放后不能再讀,寫該數(shù)據(jù)。在釋放第一個(gè)封鎖之后,事務(wù)不再獲得任何其他封鎖,即事務(wù)分為如下兩個(gè)階段。

? 事務(wù)過程 --開始------加鎖段-------段分界-------解鎖段------->

(1)生長階段:在這個(gè)階段事務(wù)獲得所有需要的鎖,并且不釋放任何封鎖

(2)收縮階段:在這個(gè)階段的事務(wù)釋放全部的鎖,并且也不能再獲得任何新鎖

若所有事務(wù)均遵從兩段鎖協(xié)議,則對這些事務(wù)的并發(fā)調(diào)度一定是可串行化的。反過來,在一個(gè)可串行化調(diào)度中,不一定所有事務(wù)都遵從兩段鎖協(xié)議。因此,所有事務(wù)都遵從兩段鎖協(xié)議是可 串行化調(diào)度的充分而不是必要條件。

可以證明,若并發(fā)執(zhí)行的所有事務(wù)都遵守兩段鎖協(xié)議,則這些事務(wù)的任何并發(fā)調(diào)度策略都是可串行化的。但若并發(fā)事務(wù)的某個(gè)調(diào)度是可串行化的,并不意味著這些事務(wù)都遵守兩段鎖協(xié)議。

可避免而不可杜絕死鎖。

18. 數(shù)據(jù)庫系統(tǒng)的故障種類。對每種故障舉例說明。

數(shù)據(jù)庫系統(tǒng)中可能發(fā)生各種各樣的故障,大致故障可以分為以下4類:

  1. 事務(wù)內(nèi)部故障:事務(wù)內(nèi)部的故障有的可以 通過事務(wù)程序本身發(fā)現(xiàn),有的是非預(yù)期的,不能由事務(wù)程序處理。例如銀行轉(zhuǎn)賬事務(wù),這個(gè)事務(wù)把一筆金額從賬戶A轉(zhuǎn)給賬戶B,賬戶A中的余額不足,則應(yīng)該不能進(jìn)行轉(zhuǎn)賬,否則可以進(jìn)行轉(zhuǎn)賬。這個(gè)對金額的判斷就可以在事務(wù)的程序代碼中進(jìn)行。如果發(fā)現(xiàn)不能轉(zhuǎn)賬的情況,對事務(wù)進(jìn)行回滾即可
  2. 系統(tǒng)故障:系統(tǒng)故障是指造成系統(tǒng)停止運(yùn)轉(zhuǎn)和重啟的故障。例如,硬件錯(cuò)誤(CPU故障)、操作系統(tǒng)故障,突然停電等。這樣的故障會(huì)影響正在允許的所有事務(wù),但不會(huì)破壞數(shù)據(jù)庫。
  3. 介質(zhì)故障:介質(zhì)故障是因?yàn)槟撤N原因,磁盤上的數(shù)據(jù)部分或則完全丟失。一般是指相關(guān)的人員破壞或者硬件故障。例如,錯(cuò)誤的格式化,磁盤壞道,機(jī)房失火等。這類故障比前兩類故障發(fā)生的可能性小很多,但是破壞性最大
  4. 計(jì)算機(jī)病毒:計(jì)算機(jī)病毒是一種人為的故障或破壞,是一些惡作劇者研制的一種計(jì)算機(jī)程序。這種程序與其他程序不同,它像微生物學(xué)所稱的病毒一樣可以繁殖和傳播,并造成對計(jì)算機(jī)系統(tǒng)包括數(shù)據(jù)庫的危害。

19. 事務(wù)日志的作用與內(nèi)容。登記日志的文件要遵守的原則。

建立冗余數(shù)據(jù)最常用的技術(shù)就是數(shù)據(jù)轉(zhuǎn)儲(chǔ)登記日志文件。

(1)日志文件的格式與內(nèi)容

日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。不同數(shù)據(jù)庫系統(tǒng)采用的日志文件格式完全不一樣。概況起來日志文件主要有兩種格式:以記錄為單位的日志文件和以數(shù)據(jù)塊為單位的日志文件

以記錄為單位的日志文件,登記到日志文件的內(nèi)容包括:

① 登記各個(gè)事務(wù)開始的日志記錄

② 登記各個(gè)事務(wù)結(jié)束的日志記錄

③ 登記各個(gè)事務(wù)中修改操作對象的日志記錄(每次修改對應(yīng)一條記錄)

(2)日志文件的作用

日志文件再數(shù)據(jù)庫恢復(fù)中起著非常重要的作用。可以用來進(jìn)行事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù),并協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)。日志文件的具體作用是:事務(wù)故障恢復(fù)系統(tǒng)故障恢復(fù)必須用日志文件。

(3)登記日志文件

為保證數(shù)據(jù)庫是可恢復(fù)的,登記日志文件必須遵循兩條原則:

① 登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時(shí)間次序;

② 必須先寫日志文件,后寫數(shù)據(jù)庫;文章來源地址http://www.zghlxwxcb.cn/news/detail-788224.html

到了這里,關(guān)于數(shù)據(jù)庫原理與應(yīng)用期末復(fù)習(xí)大綱的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • mysql 數(shù)據(jù)庫 期末復(fù)習(xí)題庫

    mysql 數(shù)據(jù)庫 期末復(fù)習(xí)題庫

    一、選擇題 第 1 章 數(shù)據(jù)庫系統(tǒng)概述 1 . DBS 是( ? A )的簡寫。 A. 數(shù)據(jù)庫系統(tǒng) ? B. 數(shù)據(jù)庫管理系統(tǒng) ?? C. 數(shù)據(jù)庫 ?? D. 操作系統(tǒng) 2.DBMS 是 (? B?? ) 的簡寫 A. 數(shù)據(jù)庫系統(tǒng) ? B. 數(shù)據(jù)庫管理系統(tǒng) ?? C. 數(shù)據(jù)庫 ?? D. 數(shù)據(jù) 3.DB 、 DBMS 和 DBS 之間的關(guān)系是 ? (? C? ) A. DB 包含 DBMS 和

    2024年02月08日
    瀏覽(32)
  • 【數(shù)據(jù)庫系統(tǒng)概論】期末復(fù)習(xí)4

    期末復(fù)習(xí)1 期末復(fù)習(xí)2 期末復(fù)習(xí)3 數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。 數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念,但是有一定的聯(lián)系。前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)

    2024年02月02日
    瀏覽(35)
  • MySQL數(shù)據(jù)庫期末復(fù)習(xí)--這一篇就夠了

    MySQL數(shù)據(jù)庫期末復(fù)習(xí)--這一篇就夠了

    目錄 一、前言 二、一些基本概念 1、時(shí)態(tài)數(shù)據(jù)庫 2、分布式數(shù)據(jù)庫 3、面向?qū)ο髷?shù)據(jù)庫 4、移動(dòng)數(shù)據(jù)庫 三、數(shù)據(jù)庫的創(chuàng)建 1、工具 2、基本需求 3、根據(jù)上述需求畫出E-R圖 4、將E-R圖轉(zhuǎn)換成關(guān)系模式 5、建立數(shù)據(jù)表 6、每張數(shù)據(jù)表的結(jié)構(gòu) 四、視圖 1、創(chuàng)建視圖 2、查看視圖? 3、更

    2024年02月09日
    瀏覽(17)
  • 【數(shù)據(jù)庫】MySQL概念性基礎(chǔ)知識期末復(fù)習(xí)

    第一章 3 二維表結(jié)構(gòu)……數(shù)據(jù)模型—— 關(guān)系數(shù)據(jù)模型 5 描述全部數(shù)據(jù)整體邏輯結(jié)構(gòu)—— 模式 6 邏輯數(shù)據(jù)獨(dú)立性—— 模式變,外模式和應(yīng)用程序不變 7 物理數(shù)據(jù)獨(dú)立性—— 內(nèi)模式變,外模式和應(yīng)用程序不變 9 R-(R-S)—— R∩S 10 從兩個(gè)關(guān)系笛卡爾積中選取他們屬性間滿足一定條

    2024年02月02日
    瀏覽(25)
  • 大型數(shù)據(jù)庫期末總復(fù)習(xí)【SQL server 2008 基礎(chǔ)教程】

    大型數(shù)據(jù)庫期末總復(fù)習(xí)【SQL server 2008 基礎(chǔ)教程】

    Microsoft SQL Server 2008系統(tǒng)由4個(gè)主要部分組成。這4個(gè)部分被稱為4個(gè)服務(wù),這些服務(wù)分別是 數(shù)據(jù)庫引擎、分析服務(wù)、報(bào)表服務(wù)和集成服務(wù) 。這些服務(wù)之間相互存在和相互應(yīng)用,它們的關(guān)系示意圖如圖所示: 1.Microsoft SQL Server 2008系統(tǒng)提供了兩種類型的數(shù)據(jù)庫,即系統(tǒng)數(shù)據(jù)庫和用戶

    2024年02月06日
    瀏覽(93)
  • 《大數(shù)據(jù)技術(shù)原理與應(yīng)用》 期末復(fù)習(xí)

    《大數(shù)據(jù)技術(shù)原理與應(yīng)用》 期末復(fù)習(xí)

    桂林電子科技大學(xué) 大數(shù)據(jù)課程 復(fù)習(xí)筆記 考試范圍 : 教材:《大數(shù)據(jù)技術(shù)原理與應(yīng)用》第三版 林子雨 第1章:大數(shù)據(jù)概述 ?? 第2章:大數(shù)據(jù)處理架構(gòu)Hadoop ?? 第3章:分布式文件系統(tǒng)HDFS ?? 第4章:分布式數(shù)據(jù)庫HBase?? 第5章:NoSQL數(shù)據(jù)庫?? 第7章:MapReduce?? 第10章:Spark??

    2024年02月09日
    瀏覽(27)
  • 期末復(fù)習(xí)-大數(shù)據(jù)技術(shù)原理與應(yīng)用

    期末復(fù)習(xí)-大數(shù)據(jù)技術(shù)原理與應(yīng)用

    第三次信息化浪潮 信息科技為大數(shù)據(jù)時(shí)代提供技術(shù)支撐,具體是存儲(chǔ)容量增大, CPU 處理速度提高,網(wǎng)絡(luò)帶寬的提高 數(shù)據(jù)生產(chǎn)方式的變革,運(yùn)營式系統(tǒng)階段,用戶原則內(nèi)容階段,感知式系統(tǒng)階段 20 世紀(jì) 90 年代到 21 世紀(jì)初的萌芽階段, 21 世紀(jì)前 10 年的成熟期, 2010 年之后的

    2024年02月08日
    瀏覽(56)
  • 大數(shù)據(jù)技術(shù)原理與應(yīng)用期末復(fù)習(xí)(林子雨)

    大數(shù)據(jù)技術(shù)原理與應(yīng)用期末復(fù)習(xí)(林子雨)

    1. 高可靠性: 采用冗余數(shù)據(jù)存儲(chǔ)方式,即一個(gè)副本發(fā)生故障,其他副本可保證正常對外提供服務(wù) 2. 高效性: hadoop采用分布式存儲(chǔ)和分布式處理,能夠高效的處理PB級數(shù)據(jù) 3. 高可擴(kuò)展性: 可以高效穩(wěn)定地運(yùn)行在廉價(jià)的計(jì)算機(jī)集群上,可擴(kuò)展到數(shù)以千計(jì)的計(jì)算機(jī)節(jié)點(diǎn)上 4. 高容

    2024年01月21日
    瀏覽(44)
  • 數(shù)據(jù)庫相關(guān)理論知識(有目錄便于直接鎖定相關(guān)知識點(diǎn)+期末復(fù)習(xí))

    一,數(shù)據(jù)模型,關(guān)系型數(shù)據(jù)模型,網(wǎng)狀模型,層次模型 1. 數(shù)據(jù)庫模型 是用來描述和表示現(xiàn)實(shí)世界中的事物、概念以及它們之間的關(guān)系的工具, 但是并不是越專業(yè)越好,還要平衡它的模型的復(fù)雜性、通用性和成本效益等因素 。數(shù)據(jù)模型按不同的應(yīng)用層次可以分為 三個(gè)層次 ,

    2024年03月16日
    瀏覽(24)
  • 大數(shù)據(jù)技術(shù)原理與應(yīng)用(第3版)期末復(fù)習(xí)

    (單選30 判斷10 簡答10 操作30 編程20) 編程掌握: HDFS文件操作 MapReduce程序 HBase數(shù)據(jù)庫命令操作 大數(shù)據(jù)的4v特征 數(shù)據(jù)量大、處理快、數(shù)據(jù)類型多、價(jià)值密度低 大數(shù)據(jù)完全顛覆了傳統(tǒng)的思維方式: 全樣而非抽樣、 效率而非精確、 相關(guān)而非因果 第三次信息化浪潮:云計(jì)算,物

    2024年02月12日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包