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

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

個(gè)人總結(jié),僅供參考,歡迎加好友一起討論

架構(gòu) - 數(shù)據(jù)庫(kù)系統(tǒng)

考點(diǎn)摘要

  • 數(shù)據(jù)庫(kù)模式(★)
  • 分布式數(shù)據(jù)庫(kù)(★★★)
  • 數(shù)據(jù)庫(kù)設(shè)計(jì)階段(★★)
  • 概念結(jié)構(gòu)設(shè)計(jì) - ER模型(★)
  • 邏輯結(jié)構(gòu)設(shè)計(jì) - 關(guān)系模式(★★)
  • 關(guān)系代數(shù)(★★★★)
  • 規(guī)范化理論(★★★★★)
  • 并發(fā)控制(★)
  • 數(shù)據(jù)庫(kù)的安全性(★)
  • 數(shù)據(jù)庫(kù)備份與恢復(fù)技術(shù)(★)

第二版新教材上對(duì)應(yīng)2.3.3及6,主要考點(diǎn)在6,這里一起合并總結(jié)了。新教材主要改動(dòng)在數(shù)據(jù)設(shè)計(jì),但是個(gè)人認(rèn)為改動(dòng)不是很大,僅供參考。

數(shù)據(jù)庫(kù)系統(tǒng)模式

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)
【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

三層模式(三個(gè)級(jí)別)
外模式
用戶模式,子模式
外模式(子模式、用戶模式)用以描述用戶看到或使用的那部分?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu),用戶根據(jù)外模式用數(shù)據(jù)操作語(yǔ)句或應(yīng)用程序去操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)
對(duì)應(yīng)視圖,外部視圖,多個(gè)外部視圖,用戶級(jí)別
概念模式
模式
概念模式是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖
一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)概念模式
數(shù)據(jù)庫(kù)概念視圖,數(shù)據(jù)庫(kù)中的關(guān)系表,概念級(jí)別
內(nèi)模式
存儲(chǔ)模式
內(nèi)模式定義的是存儲(chǔ)記錄的類型、存儲(chǔ)域的表示以及存儲(chǔ)記錄的物理順序,指引元、索引和存儲(chǔ)路徑等數(shù)據(jù)的存儲(chǔ)組織
一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式
數(shù)據(jù)庫(kù)內(nèi)部視圖,涉及存儲(chǔ)結(jié)構(gòu),有索引和文件,物理級(jí)別
兩層映像
外模式 - 概念模式 關(guān)系表變化,不用修改應(yīng)用程序
概念模式 - 內(nèi)模式 存儲(chǔ)結(jié)構(gòu)變化,不用修改應(yīng)用程序
兩個(gè)獨(dú)立性
邏輯獨(dú)立性 當(dāng)模式改變時(shí)(例如增加新的關(guān)系,新的屬性,改變屬性的數(shù)據(jù)類型等),有數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式/模式的映像做相應(yīng)的改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫(xiě)的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的邏輯獨(dú)立性。
數(shù)據(jù)庫(kù)的視圖和基本表之間
物理獨(dú)立性 當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了,有數(shù)據(jù)庫(kù)管理員對(duì)模式/內(nèi)模式映射做相應(yīng)的改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的物理獨(dú)立性。
基本表與存儲(chǔ)文件之間
三種關(guān)系
基本關(guān)系 又稱基本表或者基表,實(shí)際存在的表,實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示
查詢表 查詢結(jié)構(gòu)對(duì)應(yīng)的表
視圖表 由基表或其他視圖表導(dǎo)出的表,本身不獨(dú)立存儲(chǔ),數(shù)據(jù)庫(kù)只存放它的定義,常稱為虛表

數(shù)據(jù)庫(kù)視圖

數(shù)據(jù)庫(kù)視圖:它一個(gè)虛擬表(邏輯上的表),其內(nèi)容由查詢定義(僅保存SQL查詢語(yǔ)句)。同真實(shí)的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并沒(méi)有真正存儲(chǔ)這些數(shù)據(jù),而是通過(guò)查詢?cè)急韯?dòng)態(tài)生成所需要的數(shù)據(jù)。

視圖的優(yōu)點(diǎn)

  1. 視圖能簡(jiǎn)化用戶操作
  2. 視圖使用戶能以多種角度看待同一數(shù)據(jù)
  3. 視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性
  4. 視圖可以對(duì)機(jī)密數(shù)據(jù)提供安全保護(hù)

物化視圖:它不是傳統(tǒng)意義上虛擬視圖,是實(shí)體化視圖,其本身會(huì)存儲(chǔ)數(shù)據(jù)。同時(shí)當(dāng)原始表中的數(shù)據(jù)更新時(shí),物化視圖也會(huì)更新。

數(shù)據(jù)模型(基本數(shù)據(jù)模型)

基本數(shù)據(jù)模型是按照計(jì)算機(jī)系統(tǒng)的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,主要用于DBMS的實(shí)現(xiàn)?;緮?shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)。常用的基本數(shù)據(jù)模型有層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P汀?/p>

數(shù)據(jù)模型三要素:

  • 數(shù)據(jù)結(jié)構(gòu)(靜態(tài))
  • 數(shù)據(jù)操作(動(dòng)態(tài))
  • 數(shù)據(jù)的約束條件

數(shù)據(jù)庫(kù)完整性約束

完整性約束一共分為三種:實(shí)體完整性約束,參照完整性約束,用戶自定義完整性約束。

實(shí)體完整性 約束主鍵 關(guān)系中的每一個(gè)元組對(duì)應(yīng)一個(gè)實(shí)體,在關(guān)系中用主關(guān)鍵字來(lái)唯一標(biāo)識(shí)一個(gè)實(shí)體,實(shí)體具有獨(dú)立性,實(shí)體的主屬性不能取空值
參照完整性 約束外鍵 用于約定兩個(gè)關(guān)系之間的聯(lián)系
用戶定義完整性 限定取值區(qū)間 約束是用戶定義某個(gè)具體數(shù)據(jù)庫(kù)所涉及的數(shù)據(jù)必須滿足的約束條件,是由具體應(yīng)用環(huán)境來(lái)決定的
觸發(fā)器 腳本編程 用于加強(qiáng)數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則等。它也是保證數(shù)據(jù)完整性的一種方法

典型例題:某數(shù)據(jù)庫(kù)中有員工關(guān)系E(員工號(hào),姓名,部門(mén),職稱,月薪),產(chǎn)品關(guān)系P(產(chǎn)品號(hào),產(chǎn)品名稱,型號(hào),尺寸,顏色),倉(cāng)庫(kù)關(guān)系W(倉(cāng)庫(kù)號(hào),倉(cāng)庫(kù)名稱,地址,負(fù)責(zé)人),庫(kù)存關(guān)系Q(倉(cāng)庫(kù)號(hào),產(chǎn)品號(hào),產(chǎn)品數(shù)量)。

若數(shù)據(jù)庫(kù)設(shè)計(jì)中要求:

①倉(cāng)庫(kù)關(guān)系W中的“負(fù)責(zé)人”引用員工關(guān)系E的員工號(hào)

②庫(kù)存關(guān)系Q中的“倉(cāng)庫(kù)號(hào),產(chǎn)品號(hào)”唯一標(biāo)識(shí)Q中的每一個(gè)記錄

③員工關(guān)系E中的職稱為“工程師”的月薪不能低于3500元?jiǎng)t

①②③依次要滿足的完整性約束是:參照完整性,實(shí)體完整性,用戶定義完整性

關(guān)系模型

關(guān)系 可以理解為一張二維表,每個(gè)關(guān)系都具有一個(gè)關(guān)系名,就是通常說(shuō)的表名
元祖 可以理解為二維表中的一行,在數(shù)據(jù)庫(kù)中經(jīng)常被稱為記錄
屬性 可以理解為二維表中的一列,在數(shù)據(jù)庫(kù)中經(jīng)常被稱為字段
屬性的取值范圍,也就是數(shù)據(jù)庫(kù)中某一列的取值限制
關(guān)鍵字 一組可以唯一標(biāo)識(shí)元組的屬性,數(shù)據(jù)庫(kù)中常稱為主鍵,由一個(gè)或多個(gè)列組成
關(guān)系模式 旨對(duì)關(guān)系的描述。其格式為:關(guān)系名(屬性1,屬性屬性N),在數(shù)據(jù)庫(kù)中成為表結(jié)構(gòu)
目或者度 關(guān)系模式中屬性的個(gè)數(shù)
候選碼(候選鍵) 唯一標(biāo)識(shí)元組,且無(wú)冗余
主碼(主鍵) 候選碼任選一個(gè)
主屬性和非主屬性 組成候選碼的屬性就是主屬性,其它的就是非主屬性
外碼(外鍵) 其它關(guān)系的主鍵
全碼(All-Key) 關(guān)系模式的所有屬性組是這個(gè)關(guān)系的候選碼

關(guān)系代數(shù)

S1∪S2 合并兩個(gè)關(guān)系模式去重復(fù)列
S1∩S2 取S1和S2兩個(gè)關(guān)系都有的部分
S1-S2 在S1中有但不在S2中的,以S1為準(zhǔn)去掉S1和S2公共部分
笛卡爾積 S1×S2 記錄的條數(shù)是S1記錄條數(shù) * S2記錄條數(shù)
投影 δ1=4(R) 是針對(duì),篩選符合條件的記錄(行/元祖),比如選擇1=4意思是選出第一列和第四列數(shù)據(jù)相同的內(nèi)容來(lái)
選擇 π3,1(S1) 的投影,選取關(guān)系模式中某些需要的列,它是一種垂直操作
連接 R?S 等值連接,關(guān)系R、S取兩者笛卡爾積中屬性值相等的行/元組
等值連接要求R、S中有相同的屬性,需要列出全部關(guān)系中的列
自然連接,一種特殊的等值連接,它要求比較的屬性列必須是相同的屬性組,并且把結(jié)果中重復(fù)屬性去掉。注意與笛卡爾積的區(qū)別
外連接,外連接是建立在自連接基礎(chǔ)上
左外連接 R左外S,以R為基準(zhǔn),S中沒(méi)有的用null代替
右外連接 R右外S,以S為基準(zhǔn),R中沒(méi)有的用null代替
全外連接 R全外S,分別以R和S為基準(zhǔn),分別在S和R中沒(méi)有的用null代替
另外一些符號(hào):∧邏輯與(and)????∨邏輯或(or)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)
【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

規(guī)范化理論

非規(guī)范化的關(guān)系模式,可能存在的問(wèn)題包括:數(shù)據(jù)冗余、更新異常(修改操作一致性問(wèn)題)、插入異常、刪除異常。

候選鍵、主鍵、外鍵、主屬性,非主屬性

候選鍵

唯一標(biāo)識(shí)元祖,且無(wú)冗余。和主鍵區(qū)別候選鍵都可以做主鍵,人為選擇其中一個(gè)做了主鍵,這些鍵都叫候選鍵

例:關(guān)系式S(SidSno,Sdept,Sage)

比如Sid和Sno都可以做為主鍵,人為可選擇Sid或Sno都可以,Sid和Sno稱為候選鍵

主鍵

Sno→Sdept,Sno→Sage,Sno是主鍵(也叫主碼)

若有關(guān)系式SC(Sno,Cno,Grade)中,(Sno,Cno)是主鍵(復(fù)合主鍵/聯(lián)合主鍵)

外鍵

關(guān)系模式R中某屬性集不是R的主鍵,是關(guān)系模式S的主鍵,這個(gè)屬性集模式R外鍵

例:關(guān)系式SC(SnoCno,Grade)

Sno不是主鍵,但它是S(Sno,Sdept,Sage)的主鍵,則Sno是關(guān)系模式SC的外鍵。

主屬性,非主屬性

包含在任何一個(gè)主鍵中(主鍵中的屬性),稱為主屬性,否則為非主屬性。

例如:S(Sno,Sdept,Sage),Sno是主鍵,也是主屬性,Sdept,Sage是非主屬性。

求候選鍵

  • 將關(guān)系模式的函數(shù)依賴關(guān)系用“有向圖”的方式表示
  • 找入度為0的屬性,并以該屬性集合為起點(diǎn),嘗試遍歷有向圖,若能正常遍歷圖中所有結(jié)點(diǎn),則該屬性集即為關(guān)系模式的候選鍵
  • 若入度為0的屬性集不能遍歷圖中所有結(jié)點(diǎn),則需要嘗試性的將一些中間結(jié)點(diǎn)(既有入度,也有出度的結(jié)點(diǎn))并入入度為0的屬性集中,直至該集合能遍歷所有結(jié)點(diǎn),集合為候選鍵

典型例題1:給定關(guān)系R(A1,A2,A3,A4)上的函數(shù)依賴集F={A1—A2,A3—A2,A2—A3,A2—A4},R的候選關(guān)鍵字為?

解:參考下面”有向圖“,找入度為0的屬性起點(diǎn)集合,所以候選關(guān)鍵字是:(A1)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

典型例題2:關(guān)系模式P(A,B,C,D,E,F(xiàn),G,H,l,J)滿足下列函數(shù)依賴:FD={ABD→E,AB→G,B→F,C→J,CJ→l,G→H},求候選碼?

解:參考下面”有向圖“,找入度為0的屬性起點(diǎn)集合,所以候選關(guān)鍵字是:(ABCD)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

典型例題3:關(guān)系R(A,B,C)滿足下列函數(shù)依賴:F{B→C,B→A,A→BC},關(guān)系R的候選關(guān)鍵字為?

解:參考下面”有向圖“,找入度為0的屬性起點(diǎn)集合,如果沒(méi)有找尋中間結(jié)點(diǎn),所以候選關(guān)鍵字是:(A)或者(B)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

函數(shù)依賴

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

Armstrong公理

設(shè)關(guān)系式R(U,F(xiàn)),U是關(guān)系模式R的屬性集,F(xiàn)是U上一組函數(shù)依賴,如下推理規(guī)則:
自反律 若Y?X?U,則X→Y為F所蘊(yùn)含[?屬于,包含于]
增廣律 若X→Y為F所蘊(yùn)含,且Z?U,則XZ→YZ為F所蘊(yùn)含
傳遞律 若X→Y,Y→Z為F所蘊(yùn)含,則X→Z為F所蘊(yùn)含
根據(jù)以上,再推出以下規(guī)則:
合并規(guī)則 若X→Y,X→Z,則X→YZ為F所蘊(yùn)含
偽傳遞規(guī)則 若X→Y,WY→Z,則XW→Z為F所蘊(yùn)含
分解規(guī)則 若X→Y,Z?Y,則X→Z為F所蘊(yùn)含

數(shù)據(jù)庫(kù)范式

范式:符合某一種級(jí)別的關(guān)系模式的集合

第一范式,第二范式,第三范式,BC范式,第四范式,第五范式

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

第一范式(1NF)

在關(guān)系模式R中,當(dāng)且僅當(dāng)所有域只包含原子值,即每一個(gè)屬性都是不可再分的數(shù)據(jù)項(xiàng),則稱關(guān)系模式R是第一范式。

第二范式(2NF)

1NF的基礎(chǔ)上,每一個(gè)非主屬性完全依賴于主鍵,不存在部分依賴

例如:R(學(xué)號(hào),姓名,班級(jí),課程,成績(jī))

函數(shù)依賴:{學(xué)號(hào)→姓名,學(xué)號(hào)→班級(jí),(學(xué)號(hào),課程號(hào))→成績(jī)}

主鍵:(學(xué)號(hào),課程號(hào)),姓名,班級(jí)部分依賴于主鍵,不屬于2NF

需將其分解為:R1(學(xué)號(hào),姓名,班級(jí)),R2(學(xué)號(hào),課程,成績(jī))

第三范式(3NF)

2NF的基礎(chǔ)上,消除非主屬性對(duì)主鍵/主碼的傳遞函數(shù)依賴,也就是主鍵直接推出非主屬性。

例如: Store(商店,商品,經(jīng)營(yíng)部,經(jīng)理)

函數(shù)依賴:(商店,商品)→經(jīng)營(yíng)部,(商店,經(jīng)營(yíng)部)→經(jīng)理

由于有傳遞依賴不滿足3NF,將其分解為:R1(商店,商品,經(jīng)營(yíng)部)、R2(商店,經(jīng)營(yíng)部,經(jīng)理)

BC范式(BCNF)

R屬于BCNF當(dāng)且僅當(dāng)其F中每個(gè)依賴的決定因素必定包含R的某個(gè)候選鍵。

(如果要考這個(gè)范式,我認(rèn)了,不要這1分了)

保持函數(shù)依賴與是否無(wú)損分解

保持函數(shù)依賴

設(shè)數(shù)據(jù)庫(kù)模式ρ={R1,R2,…,Rk}是關(guān)系模式R的一個(gè)分解,F(xiàn)是R上的函數(shù)依賴集,p中每個(gè)模式Ri上的FD集是Fi。如果{F1,F(xiàn)2,…,F(xiàn)k}與F是等價(jià)的(即相互邏輯蘊(yùn)涵),那么稱分解ρ保持FD。

典型例題1:有關(guān)系模式R(A,B,C),F(xiàn)={A→B,B→C},將其拆分為:R1(A,B) ,R2(B,C),是否保持函數(shù)依賴?(T)

解:判斷是否保持函數(shù)依賴,分解了2個(gè)關(guān)系,依賴關(guān)系分別代入R1和R2,有缺失的就是不保持關(guān)系,否則保持

典型例題2:有關(guān)系模式R(A,B,C),F(xiàn)= {A→B,B→C,A→C},將其拆分為:R1(A,B),R2(B,C),是否保持函數(shù)依賴?(T)

解:雖然分解的關(guān)系滿足A→B和B→C,通過(guò)“傳遞律”A→C

典型例題3:有關(guān)系模式R(A,B,C) ,F(xiàn)={A→B,B→C,A→C},將其拆分為:R1(A,B),R2 (A,C),是否保持函數(shù)依賴?(F)

解:缺少B→C

典型例題4:有關(guān)系模式R(A,B,C,D,E) ,F(xiàn)= {A→B,D→E},將其拆分為:R1 (A,B,C),R2 (D,E),是否保持函數(shù)依賴?(T)

解:保持

無(wú)損連接分解

指將一個(gè)關(guān)系模式分解成若干個(gè)關(guān)系模式后,通過(guò)自然聯(lián)接和投影等運(yùn)算仍能還原到原來(lái)的關(guān)系模式。

如何判斷保持函數(shù)依賴

注:判斷是否保持函數(shù)依賴,除了基本的直接推導(dǎo),還需要注意利用”Armstrong公理“的間接推導(dǎo)也成立

如何判斷否無(wú)損分解

個(gè)人總結(jié):

分解為2個(gè)關(guān)系的情況下:

  • 選獲取R1∩R2交集R,再獲取R1-R2差集C1,以及R2-R1差集C2
  • 判斷“R→C1”或者”R→C2”,也就是交集分別推導(dǎo)差集
  • 有一個(gè)成立就是無(wú)損分解
  • 換一種說(shuō)法,把R扔進(jìn)任意一個(gè)R1或者R2中,看看能推出來(lái)吧

分解為3個(gè)關(guān)系

  • 使用二維表形式
  • 二維表中有一行全部推導(dǎo)出就是無(wú)損分解
  • 具體操作詳見(jiàn)例題

數(shù)據(jù)庫(kù)設(shè)計(jì)

基于DBS生存期的數(shù)據(jù)庫(kù)設(shè)計(jì)分成五個(gè)階段:
規(guī)劃階段 (非必須階段)建立數(shù)據(jù)庫(kù)的必要性、可行性
需求分析 收集需求,理解需求,數(shù)據(jù)字典,數(shù)據(jù)流圖,需求說(shuō)明書(shū)/需求規(guī)格說(shuō)明書(shū)
概念(結(jié)構(gòu))設(shè)計(jì) 建立概念模型,E-R模型
建立與DBMS無(wú)關(guān)的概念模型
邏輯(結(jié)構(gòu))設(shè)計(jì) 建立邏輯模型,依據(jù)轉(zhuǎn)換規(guī)則和規(guī)范化理論,它的產(chǎn)出物是關(guān)系模式
將概念模型轉(zhuǎn)化為某個(gè)特定的DBMS上的邏輯模型
物理(結(jié)構(gòu))設(shè)計(jì) 建立物理模式,結(jié)合數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS,硬件和OS特征

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

E-R模型

概念數(shù)據(jù)模型(實(shí)體-聯(lián)系模型,E-R模型),是按照用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,主要用戶數(shù)據(jù)庫(kù)設(shè)計(jì)。概念模型主要用實(shí)體 - 聯(lián)系方法表示,也就是E-R模型。

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

E-R圖中包括三個(gè)要素:

  • 實(shí)體(用矩形框表示,框內(nèi)標(biāo)注實(shí)體名稱)
  • 屬性(用橢圓形表示,并用連線與實(shí)體連接起來(lái))
  • 實(shí)體之間的聯(lián)系(用菱形框表示,框內(nèi)標(biāo)注聯(lián)系名稱,并用連線將菱形框分別與有關(guān)實(shí)體相連,并在連線上注明聯(lián)系類型)。

需求分析

需求分析的目標(biāo)是通過(guò)調(diào)查研究,了解用戶的數(shù)據(jù)和處理要求,并按照一定格式整理成需求規(guī)格說(shuō)明書(shū)。

需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。

調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”,數(shù)據(jù)字典的內(nèi)容:數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)加工(處理過(guò)程)

數(shù)據(jù)庫(kù)的元數(shù)據(jù)交由數(shù)據(jù)字典來(lái)進(jìn)行管理,常用的加工描述方法有結(jié)構(gòu)化語(yǔ)言、判定表和判定樹(shù)。

概念結(jié)構(gòu)設(shè)計(jì)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

在需求分析階段產(chǎn)生的需求說(shuō)明書(shū)的基礎(chǔ)上,按照特定的方法將它們抽象為一個(gè)不依賴于任何DBMS的數(shù)據(jù)模型,即概念模型(E-R圖/局部E-R >>> 全局E-R圖)。

集成的方法:

  • 多個(gè)局部E-R圖一次集成
  • 逐步集成,用累加的方式一次集成兩個(gè)局部E-R

集成產(chǎn)生的沖突及解決辦法:

  • 屬性沖突,包括屬性域沖突和屬性取值沖突

    屬性域沖突(例:不同學(xué)校編碼方式不同)

    屬性值沖突(例:重量有的采用千克,有的是克)

  • 命名沖突,包括同名異義和異名同義

  • 結(jié)構(gòu)沖突,包括同一對(duì)象在不同應(yīng)用中具有不同的抽象,以及同一實(shí)體在不同局部E-R圖中所包含的屬性個(gè)數(shù)和屬性排列次序不完全相同。(例:職工在某一應(yīng)用中是實(shí)體,在另一個(gè)應(yīng)用中變成了屬性)

邏輯結(jié)構(gòu)設(shè)計(jì)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

邏輯設(shè)計(jì)也稱為邏輯結(jié)構(gòu)設(shè)計(jì),其任務(wù)是將概念模型轉(zhuǎn)化為某個(gè)特定的DBMS上的邏輯模型(層次模型、網(wǎng)狀模型、關(guān)系模型)。

  • E-R圖向關(guān)系模式的轉(zhuǎn)換:

    E-R圖的實(shí)體轉(zhuǎn)換為關(guān)系

    E-R的屬性轉(zhuǎn)換為關(guān)系的屬性

    E-R圖的關(guān)鍵字轉(zhuǎn)換為關(guān)系的關(guān)鍵字

  • 關(guān)系模式的規(guī)范化

  • 確定完整性約束(保證數(shù)據(jù)的正確性)

    實(shí)體完整性約束

    參照完整性約束

    用戶自定義完整性約束

    觸發(fā)器

  • 用戶視圖的確定(提高數(shù)據(jù)的安全性和獨(dú)立性)

    根據(jù)數(shù)據(jù)流圖確定處理過(guò)程使用的視圖

    根據(jù)用戶類別確定不同用戶使用的視圖

  • 應(yīng)用程序設(shè)計(jì)

物理設(shè)計(jì)

  • 確定數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)與存取方法
  • 設(shè)計(jì)存儲(chǔ)記錄結(jié)構(gòu),包括記錄的組成、數(shù)據(jù)項(xiàng)的類型和長(zhǎng)度,以及邏輯記錄到 存儲(chǔ)記錄的映射
  • 確定數(shù)據(jù)存儲(chǔ)安排
  • 設(shè)計(jì)訪問(wèn)方法,為存儲(chǔ)在物理設(shè)備上的數(shù)據(jù)提供存儲(chǔ)和檢索的能力
  • 進(jìn)行完整性和安全性的分析與設(shè)計(jì)
  • 數(shù)據(jù)庫(kù)程序設(shè)計(jì)

反規(guī)范化

由于規(guī)范化會(huì)使表不斷的拆分,從而導(dǎo)致數(shù)據(jù)表過(guò)多,這樣雖然減少了數(shù)據(jù)冗余,提高了增,刪,改的速度,但會(huì)增加查詢的工作量。系統(tǒng)需要進(jìn)行多次連接,才能進(jìn)行查詢操作,使得系統(tǒng)效率大大下降。反規(guī)范化說(shuō)白了就是以空間換時(shí)間。

增加冗余列 增加冗余列是指在多個(gè)表中具有相同的列,它常用來(lái)在查詢時(shí)避免連接操作。例如:以規(guī)范化設(shè)計(jì)的理念,學(xué)生成績(jī)表中不需要字段“姓名”,因?yàn)椤靶彰弊侄慰梢酝ㄟ^(guò)學(xué)號(hào)查詢到,但在反規(guī)范化設(shè)計(jì)中,會(huì)將“姓名”字段加入表中。這樣查詢一個(gè)學(xué)生的成績(jī)時(shí),不需要與學(xué)生表進(jìn)行連接操作,便可得到對(duì)應(yīng)的“姓名”。
增加派生列
增加派生性的冗余列
增加派生列指增加的列可以通過(guò)表中其他數(shù)據(jù)計(jì)算生成。它的作用是在查詢時(shí)減少計(jì)算量,從而加快查詢速度。例如:訂單表中,有商品號(hào)、商品單價(jià)、采購(gòu)數(shù)量,我們需要訂單總價(jià)時(shí),可以通過(guò)計(jì)算得到總價(jià),所以規(guī)范化設(shè)計(jì)的理念是無(wú)須在訂單表中設(shè)計(jì)“訂單總價(jià)”字段。但反規(guī)范化則不這樣考慮,由于訂單總價(jià)在每次查詢都需要計(jì)算,這樣會(huì)占用系統(tǒng)大量資源,所以在此表中增加派生列“訂單總價(jià)”以提高查詢效率。
重新組表 重新組表指如果許多用戶需要查看兩個(gè)表連接出來(lái)的結(jié)果數(shù)據(jù),則把這兩個(gè)表重新組成一個(gè)表來(lái)減少連接而提高性能。
分割表 水平分割 根據(jù)一列或多列數(shù)據(jù)的值把數(shù)據(jù)行放到兩個(gè)獨(dú)立的表中。水平分割通常在下面的情況下使用。情況1:表很大,分割后可以降低在查詢時(shí)需要讀的數(shù)據(jù)和索引的頁(yè)數(shù),同時(shí)也降低了索引的層數(shù),提高查詢效率。情況2:表中的數(shù)據(jù)本來(lái)就有獨(dú)立性,例如表中分別記錄各個(gè)地區(qū)的數(shù)據(jù)或不同時(shí)期的數(shù)據(jù),特別是有些數(shù)據(jù)常用,而另外一些數(shù)據(jù)不常用。情況3:需要把數(shù)據(jù)存放到多個(gè)介質(zhì)上。
垂直分割 把主碼和一些列放到一個(gè)表,然后把主碼和另外的列放到另一個(gè)表中。如果一個(gè)表中某些列常用,而另外一些列不常用,則可以采用垂直分割,另外垂直分割可以使得數(shù)據(jù)行變小,一個(gè)數(shù)據(jù)頁(yè)就能存放更多的數(shù)據(jù),在查詢時(shí)就會(huì)減少I(mǎi)/O次數(shù)。其缺點(diǎn)是需要管理冗余列,查詢所有數(shù)據(jù)需要連接操作。

事務(wù)管理(4個(gè)特征)

數(shù)據(jù)庫(kù)系統(tǒng)DBMS運(yùn)行的基本工作單位是事務(wù),事務(wù)相當(dāng)于操作系統(tǒng)中的進(jìn)程,是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作序列要么全做要么全不做,是一個(gè)不可分割的工作單位。

事務(wù)通常以BEGIN TRANSACTION語(yǔ)句開(kāi)始,以ROLLBACK(事務(wù)回滾)或者COMMIT(事務(wù)提交)語(yǔ)句結(jié)束。

事務(wù)的4個(gè)屬性(4個(gè)特性):
原子性 操作,操作序列(事務(wù))要么全做,要么全不做
一致性 數(shù)據(jù),數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài),變到另一個(gè)一致性狀態(tài)
隔離性 執(zhí)行,一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾
持續(xù)性 變化,一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)的改變是永久的,即便系統(tǒng)出現(xiàn)了故障

數(shù)據(jù)庫(kù)安全

措施 說(shuō)明
用戶標(biāo)識(shí)和鑒定 最外層的安全保護(hù)措施,可以使用用戶帳戶、口令及隨機(jī)數(shù)檢驗(yàn)等方式
存取控制 對(duì)用戶進(jìn)行授權(quán),包括操作類型(如查找、插入、刪除、修改等動(dòng)作)和數(shù)據(jù)對(duì)象(主要是數(shù)據(jù)范圍)的權(quán)限。(Grant和Revoke)
密碼存儲(chǔ)和傳輸 對(duì)遠(yuǎn)程終端信息用密碼傳輸
視圖的保護(hù) 對(duì)視圖進(jìn)行授權(quán)
審計(jì) 使用一個(gè)專用文件或數(shù)據(jù)庫(kù),自動(dòng)將用戶對(duì)數(shù)據(jù)庫(kù)的所有操作記錄下來(lái)

并發(fā)控制

產(chǎn)生的問(wèn)題

并發(fā)產(chǎn)生的問(wèn)題:
丟失更新
不可重復(fù)讀問(wèn)題
讀出“臟”數(shù)據(jù)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

排他X鎖與共享S鎖

處理并發(fā)控制的主要方法是采用封鎖技術(shù)。

處理并發(fā)控制的主要方法是采用封鎖技術(shù)排他型封鎖(X鎖)和共享型封鎖(S鎖)
排他型封鎖
簡(jiǎn)稱X鎖
如果事務(wù)T對(duì)數(shù)據(jù)A(可以是數(shù)據(jù)項(xiàng)、記錄、數(shù)據(jù)集,乃至整個(gè)數(shù)據(jù)庫(kù))實(shí)現(xiàn)了X封鎖,那么只允許事務(wù)T讀取和修改數(shù)據(jù)A,其他事務(wù)要等事務(wù)T解除X封鎖以后,才能對(duì)數(shù)據(jù)A實(shí)現(xiàn)任何類型的封鎖??梢?jiàn)X封鎖只允許一個(gè)事務(wù)獨(dú)鎖某個(gè)數(shù)據(jù),具有排他性
共享型封鎖
簡(jiǎn)稱S鎖
X封鎖只允許一個(gè)事務(wù)獨(dú)鎖和使用數(shù)據(jù),要求太嚴(yán)。需要適當(dāng)放寬,例如可以允許并發(fā)讀,但不允許修改,這就產(chǎn)生了S封鎖概念。S封鎖的含義是:如果事務(wù)T對(duì)數(shù)據(jù)A實(shí)現(xiàn)了S封鎖,那么允許事務(wù)T讀取數(shù)據(jù)A,但不能修改數(shù)據(jù)A,在所有S封鎖解除之前絕不允許任何事務(wù)對(duì)數(shù)據(jù)A實(shí)現(xiàn)X封鎖
X鎖 寫(xiě)鎖 排他鎖 事務(wù)T對(duì)數(shù)據(jù)A加上X鎖時(shí),只允許事務(wù)T讀取和修改數(shù)據(jù)A,其他事務(wù)不能再對(duì)A加任何鎖,直到T釋放A上的鎖
S鎖 讀鎖 共享鎖 事務(wù)T對(duì)數(shù)據(jù)A加上S鎖時(shí),其他事務(wù)只能再對(duì)數(shù)據(jù)A加S鎖,而不能加X(jué)鎖,直到T釋放A上的S鎖

封鎖協(xié)議

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

丟失更新 兩個(gè)事務(wù)T1和T2同時(shí)讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果將破壞T1的結(jié)果,T1的修改被丟失
對(duì)T1加X(jué)鎖(寫(xiě)鎖),那么T2只能在T1解鎖后讀
讀贓數(shù)據(jù) T1修改了某一個(gè)數(shù)據(jù),T2讀取了同一個(gè)數(shù)據(jù),T1由于某種原因被撤銷,則T2讀到的數(shù)據(jù)就是贓數(shù)據(jù)
修改時(shí)加排他鎖,直到事務(wù)提交后才釋放,讀取時(shí)加共享鎖,讀取完釋放T1讀取數(shù)據(jù)時(shí)加上共享鎖后,不允許任何事物操作該數(shù)據(jù),只能讀取
不可重復(fù)讀 T1讀取某一數(shù)據(jù),T2讀取某一數(shù)據(jù),并進(jìn)行修改,T1為了對(duì)讀取值進(jìn)行校對(duì)再讀取時(shí),得到不同結(jié)果
T1加X(jué)鎖(寫(xiě)鎖)后,T2對(duì)同一數(shù)據(jù)加X(jué)鎖(寫(xiě)鎖),這樣T1的鎖解開(kāi)后,才可以調(diào)用T2
一級(jí)封鎖協(xié)議 事務(wù)T1在修改A之前必須先對(duì)其加X(jué)鎖,直到事務(wù)結(jié)束才釋放
可防止丟失修改
二級(jí)封鎖協(xié)議 在一級(jí)封鎖協(xié)議加上事務(wù)T1在讀取數(shù)據(jù)A之前先對(duì)其加S鎖,讀完后即可釋放S鎖
可防止丟失修改,可防止讀臟數(shù)據(jù)
三級(jí)封鎖協(xié)議 在一級(jí)封鎖協(xié)議加上事務(wù)T1在讀取數(shù)據(jù)R之前先對(duì)其加S鎖,直到事務(wù)結(jié)束時(shí)才釋放
可防止丟失修改,可防止讀臟數(shù)據(jù),防止數(shù)據(jù)重復(fù)讀
兩段鎖協(xié)議 分為封鎖階段(擴(kuò)展)和釋放階段(收縮)。封鎖階段只能加鎖、擴(kuò)展階段只能解鎖
可串行化的,可能發(fā)生死鎖

數(shù)據(jù)庫(kù)備份

數(shù)據(jù)庫(kù)備份按照不同方式可分為多種,這里按照備份內(nèi)容分為物理備份和邏輯備份兩類

冷備份(靜態(tài)備份)

  • 將數(shù)據(jù)庫(kù)正常關(guān)閉,在停止?fàn)顟B(tài)下將數(shù)據(jù)庫(kù)文件全部備份(復(fù)制)下來(lái)
  • 優(yōu)點(diǎn):非常快速的備份方法(只需備份文件);容易歸檔(簡(jiǎn)單復(fù)制即可),容易恢復(fù)到某個(gè)時(shí)間點(diǎn)上(只需將文件再?gòu)?fù)制回去),能與歸檔方法相結(jié)合,做數(shù)據(jù)庫(kù)“最佳狀態(tài)”的恢復(fù),低度維護(hù),高度安全
  • 缺點(diǎn):?jiǎn)为?dú)使用時(shí),只能提供到某一時(shí)間點(diǎn)上的恢復(fù);在實(shí)施備份的全過(guò)程中,數(shù)據(jù)庫(kù)必須要作備份而不能做其他工作,若磁盤(pán)空間有限只能復(fù)制到磁盤(pán)等其他外部存儲(chǔ)設(shè)備上,速度會(huì)很慢;不能按表或按用戶恢復(fù)

熱備份(動(dòng)態(tài)備份)

  • 利用備份軟件,在數(shù)據(jù)庫(kù)正常運(yùn)行的狀態(tài)下,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件備份出來(lái)
  • 優(yōu)點(diǎn):可在表空間或數(shù)據(jù)庫(kù)文件級(jí)備份,備份的時(shí)間短,備份時(shí)數(shù)據(jù)庫(kù)仍可使用;可達(dá)到秒級(jí)恢復(fù),可對(duì)幾乎所有數(shù)據(jù)庫(kù)實(shí)體做恢復(fù),恢復(fù)是快速的
  • 缺點(diǎn):不能出錯(cuò),否則后果嚴(yán)重,若熱備份不成功所得結(jié)果不可用于時(shí)間點(diǎn)的恢復(fù);因難于維護(hù),所有要特別小心,不允許以失敗告終

按照備份容量分為物理備份和邏輯備份兩類。

完全備份

  • 將數(shù)據(jù)庫(kù)的內(nèi)容全部備份
  • 不足之處在于,各個(gè)全備份磁帶中的備份數(shù)據(jù)存在大量的重復(fù)信息;另外,由于每次需要備份的數(shù)據(jù)量相當(dāng)大,因此備份所需時(shí)間較長(zhǎng)

增量備份

  • 只備份上次完全、增量或差異備份以來(lái)修改的數(shù)據(jù)
  • 因此備份的數(shù)據(jù)量不大,備份所需的時(shí)間很短。但增量備份的數(shù)據(jù)恢復(fù)是比較麻煩的。必須具有上一次全備份和所有增量備份磁帶(一旦丟失或損壞其中的一盤(pán)磁帶,就會(huì)造成恢復(fù)的失?。?,并且它們必須沿著從全量備份到依次增量備份的時(shí)間順序逐個(gè)反推恢復(fù),因此這就極大地延長(zhǎng)了恢復(fù)時(shí)間

差異備份

  • 備份自上次完全備份后發(fā)生變化的所有數(shù)據(jù)
  • 差異備份在避免了另外兩種備份策略缺陷的同時(shí),又具備了它們各自的優(yōu)點(diǎn)。首先,它具有了增量備份需要時(shí)間短、節(jié)省磁盤(pán)空間的優(yōu)勢(shì);其次,它又具有了全量備份恢復(fù)所需磁帶少、恢復(fù)時(shí)間短的特點(diǎn)。系統(tǒng)管理員只需要兩盤(pán)磁帶,即全備份磁帶與災(zāi)難發(fā)生前一天的差異備份磁帶,就可以將系統(tǒng)恢復(fù)

數(shù)據(jù)庫(kù)故障與恢復(fù)

故障關(guān)系 故障原因 解決辦法
事務(wù)故障 可預(yù)期故障 本身邏輯 在程序中預(yù)先設(shè)置Rollback語(yǔ)句
不可預(yù)期故障 算術(shù)溢出,違反存儲(chǔ)保護(hù) 由DBMS的恢復(fù)子系統(tǒng)通過(guò)日志,撤銷事務(wù)對(duì)數(shù)據(jù)庫(kù)的修改,回退到事務(wù)初始狀態(tài)
系統(tǒng)故障 系統(tǒng)停止運(yùn)轉(zhuǎn) 通常使用檢查點(diǎn)法(系統(tǒng)重啟時(shí)自動(dòng)完成)
介質(zhì)故障 外存被破壞 一般使用日志重做業(yè)務(wù)
撤銷事務(wù)(UNDO):故障發(fā)生時(shí)未完成的事務(wù),放入U(xiǎn)ndo撤銷。
重做事務(wù)(REDO):故障發(fā)生前已提交的事務(wù),放入Redo重做。

分布式數(shù)據(jù)庫(kù)

概念

大量的數(shù)據(jù)在網(wǎng)絡(luò)上傳輸是不合適的,在此背景下才需要有分布式數(shù)據(jù)庫(kù)。由一組數(shù)據(jù)組成的,這組數(shù)據(jù)分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同計(jì)算機(jī)上,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)具有獨(dú)立處理的能力(成為場(chǎng)地自治),它可以執(zhí)行局部應(yīng)用,同時(shí)每個(gè)節(jié)點(diǎn)也能通過(guò)網(wǎng)絡(luò)通信子系統(tǒng)執(zhí)行全局應(yīng)用,這就是分布式數(shù)據(jù)庫(kù)的概念。

分布式數(shù)據(jù)庫(kù)物理上面是隔離的,邏輯層面上是一個(gè)完整的整體的數(shù)據(jù)庫(kù)。數(shù)據(jù)都存在局部的數(shù)據(jù)庫(kù)中,通過(guò)分布模式,整合在一起。

【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)

特點(diǎn)

  • 數(shù)據(jù)的分布性,分布式數(shù)據(jù)庫(kù)中的數(shù)據(jù)分布于網(wǎng)絡(luò)中的各個(gè)結(jié)點(diǎn),它既不同于傳統(tǒng)的集中式數(shù)據(jù)庫(kù),也不同于通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)共享的集中式數(shù)據(jù)庫(kù)系統(tǒng)。
  • 集中與自治共享結(jié)合的控制結(jié)構(gòu),各局部的DBMS可以獨(dú)立地管理局部數(shù)據(jù)庫(kù),具有自治的功能。同時(shí),系統(tǒng)又設(shè)有集中控制機(jī)制,協(xié)調(diào)各局部DBMS的工作,執(zhí)行全局應(yīng)用。
  • 適當(dāng)增加數(shù)據(jù)冗余度,在不同的場(chǎng)地存儲(chǔ)同一數(shù)據(jù)的多個(gè)副本,可以提高系統(tǒng)的可靠性和可用性,同時(shí)也能提高系統(tǒng)性能。
  • 提高系統(tǒng)的可用性,即當(dāng)系統(tǒng)中某個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),因?yàn)閿?shù)據(jù)有其他副本在非故障場(chǎng)地上,對(duì)其他所有場(chǎng)地來(lái)說(shuō),數(shù)據(jù)仍然是可用的,從而保證數(shù)據(jù)的完備性。
  • 全局的一致性(可串行性和可恢復(fù)性),主要表現(xiàn)在數(shù)據(jù)在邏輯上的統(tǒng)一性和數(shù)據(jù)在管理上的統(tǒng)一性兩個(gè)方面。分布式數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)網(wǎng)絡(luò)技術(shù)把局部的、分散的數(shù)據(jù)庫(kù)構(gòu)成一個(gè)在邏輯上單一的數(shù)據(jù)庫(kù),從而呈現(xiàn)在用戶面前的就如同是一個(gè)統(tǒng)一的、集中式的數(shù)據(jù)庫(kù)。這就是數(shù)據(jù)在邏輯上的統(tǒng)一性,因此,它不同于由網(wǎng)絡(luò)互聯(lián)的多個(gè)獨(dú)立數(shù)據(jù)庫(kù)。分布式數(shù)據(jù)庫(kù)是由分布式數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理和維護(hù)的,這種管理上的統(tǒng)一性又使它不同于一般的分布式文件系統(tǒng)。
  • 透明性,用戶在使用分布式數(shù)據(jù)庫(kù)時(shí),與使用集中式數(shù)據(jù)庫(kù)一樣,無(wú)須知道其所關(guān)心的數(shù)據(jù)存放在哪里,存儲(chǔ)了幾次。用戶需要關(guān)心的僅僅是整個(gè)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。
分布式數(shù)據(jù)庫(kù)(與集中式數(shù)據(jù)庫(kù)對(duì)比優(yōu)缺點(diǎn))
堅(jiān)固性好 由于分布式數(shù)據(jù)庫(kù)系統(tǒng)是由多個(gè)位置上的多臺(tái)計(jì)算機(jī)構(gòu)成的,在個(gè)別結(jié)點(diǎn)或個(gè)別通信鏈路發(fā)生故障的情況下,它仍然可以降低級(jí)別繼續(xù)工作,如果采用冗余技術(shù),還可以獲得一定的容錯(cuò)能力。因此,系統(tǒng)的堅(jiān)固性好,即系統(tǒng)的可靠性和可用性好。
可擴(kuò)充性好 可根據(jù)發(fā)展的需要增減結(jié)點(diǎn),或?qū)ο到y(tǒng)重新配置,這比用一個(gè)更大的系統(tǒng)代替一個(gè)已有的集中式數(shù)據(jù)庫(kù)要容易得多。
可改善性能 在分布式數(shù)據(jù)庫(kù)中可按就近分布,合理地冗余的原則來(lái)分布各結(jié)點(diǎn)上的數(shù)據(jù),構(gòu)造分布式數(shù)據(jù)庫(kù),使大部分?jǐn)?shù)據(jù)可以就近訪問(wèn),避免了集中式數(shù)據(jù)庫(kù)中的瓶頸問(wèn)題,減少了系統(tǒng)的響應(yīng)時(shí)間,提高了系統(tǒng)的效率,而且也降低了通信費(fèi)用。
自治性好 數(shù)據(jù)可以分散管理,統(tǒng)一協(xié)調(diào),即系統(tǒng)中各結(jié)點(diǎn)的數(shù)據(jù)操縱和相互作用是高度自治的,不存在主從控制,因此,分布式數(shù)據(jù)庫(kù)較好地滿足了一個(gè)單位中各部門(mén)希望擁有自己的數(shù)據(jù),管理自己的數(shù)據(jù),同時(shí)又想共享其他部門(mén)有關(guān)數(shù)據(jù)的要求。
雖然分布式數(shù)據(jù)庫(kù)系統(tǒng)與集中式數(shù)據(jù)庫(kù)相比有不少優(yōu)點(diǎn),但同時(shí)也需要解決一些集中式數(shù)據(jù)庫(kù)所沒(méi)有的問(wèn)題。首先,異構(gòu)數(shù)據(jù)庫(kù)的集成問(wèn)題是一項(xiàng)比較復(fù)雜的技術(shù)問(wèn)題,目前還很難用一個(gè)通用的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)解決這一問(wèn)題。其次,如果數(shù)據(jù)庫(kù)設(shè)計(jì)得不好,數(shù)據(jù)分布不合理,以致遠(yuǎn)距離訪問(wèn)過(guò)多,尤其是分布連接操作過(guò)多,不但不能改善性能,反而會(huì)使性能降低。

分布透明性

分片透明 指用戶不必關(guān)心數(shù)據(jù)是如何分片的,它們對(duì)數(shù)據(jù)的操作在全局關(guān)系上進(jìn)行,即如何分片對(duì)用戶是透明的。
分布透明性的最高層次
復(fù)制透明 用戶不用關(guān)心數(shù)據(jù)庫(kù)在網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的復(fù)制情況,被復(fù)制的數(shù)據(jù)的更新都由系統(tǒng)自動(dòng)完成。
位置透明 是指用戶不必知道所操作的數(shù)據(jù)放在何處,不必了解片段的存儲(chǔ)場(chǎng)地,即數(shù)據(jù)分配到哪個(gè)或哪些站點(diǎn)存儲(chǔ)對(duì)用戶是透明的。
邏輯透明
局部數(shù)據(jù)模型透明性
最低層次的透明性,該透明性提供數(shù)據(jù)到局部數(shù)據(jù)庫(kù)的映像,即用戶不必關(guān)心局部DBMS支持哪種數(shù)據(jù)模型、使用哪種數(shù)據(jù)操縱語(yǔ)言,數(shù)據(jù)模型和操縱語(yǔ)言的轉(zhuǎn)換是由系統(tǒng)完成的。因此,局部映像透明性對(duì)異構(gòu)型和同構(gòu)異質(zhì)的分布式數(shù)據(jù)庫(kù)系統(tǒng)是非常重要的。

2PC事務(wù)

2PC事務(wù)提交的兩個(gè)階段

  • 表決階段,目的是形成一個(gè)共同的決定
  • 執(zhí)行階段,目的是實(shí)現(xiàn)這個(gè)協(xié)調(diào)者的決定

兩條全局提交規(guī)則文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-490455.html

  • 只要有一個(gè)參與者撤銷事務(wù),協(xié)調(diào)者就必須做出全局撤銷決定
  • 只有所有參與者都同意提交事務(wù),協(xié)調(diào)者才能做出全局提交決定

到了這里,關(guān)于【新版】系統(tǒng)架構(gòu)設(shè)計(jì)師 - 數(shù)據(jù)庫(kù)系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包