版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)復(fù)習(xí)重點(diǎn)筆記一、數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)認(rèn)知數(shù)據(jù)庫(kù)系統(tǒng)(DBS)以數(shù)據(jù)管理為核心目標(biāo),由數(shù)據(jù)庫(kù)(DB)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、應(yīng)用程序及用戶共同構(gòu)成。DBMS作為核心組件,承擔(dān)數(shù)據(jù)的定義、操作、保護(hù)與維護(hù)職責(zé),其內(nèi)部核心模塊分為存儲(chǔ)管理器(處理數(shù)據(jù)持久化、索引、事務(wù))與查詢處理器(解析、優(yōu)化、執(zhí)行SQL語(yǔ)句)。從發(fā)展脈絡(luò)看,數(shù)據(jù)庫(kù)模型經(jīng)歷了層次模型(樹狀結(jié)構(gòu),側(cè)重1:n關(guān)聯(lián))、網(wǎng)狀模型(圖結(jié)構(gòu),支持m:n關(guān)聯(lián))、關(guān)系模型(二維表,基于集合論與謂詞邏輯)、面向?qū)ο竽P停ㄖС謴?fù)雜數(shù)據(jù)類型與繼承)到NoSQL模型(鍵值、文檔、列族、圖結(jié)構(gòu),應(yīng)對(duì)高并發(fā)或非結(jié)構(gòu)化場(chǎng)景)的演變。需理解各模型的適用場(chǎng)景與技術(shù)局限(如關(guān)系模型的join操作在超大規(guī)模數(shù)據(jù)下的性能瓶頸)。二、數(shù)據(jù)庫(kù)體系結(jié)構(gòu)(三級(jí)模式與兩級(jí)映像)數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)通過三級(jí)模式與兩級(jí)映像實(shí)現(xiàn)數(shù)據(jù)獨(dú)立性,是理解邏輯設(shè)計(jì)與物理存儲(chǔ)分離的關(guān)鍵:1.三級(jí)模式外模式(用戶視圖):面向應(yīng)用的局部數(shù)據(jù)結(jié)構(gòu),一個(gè)數(shù)據(jù)庫(kù)可對(duì)應(yīng)多個(gè)外模式(如電商系統(tǒng)的“訂單查詢視圖”“用戶管理視圖”)。通過視圖機(jī)制隱藏底層細(xì)節(jié),既提升開發(fā)效率,也增強(qiáng)數(shù)據(jù)安全性(如隱藏用戶密碼字段)。模式(概念模式):全局邏輯結(jié)構(gòu),描述所有實(shí)體、屬性及聯(lián)系(如ER模型轉(zhuǎn)換后的關(guān)系模式),是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心藍(lán)圖。內(nèi)模式(物理模式):數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)(如頁(yè)大小、索引組織方式、存儲(chǔ)引擎選擇),決定數(shù)據(jù)在磁盤或內(nèi)存中的存儲(chǔ)形式(如InnoDB的聚簇索引結(jié)構(gòu))。2.兩級(jí)映像外模式-模式映像:實(shí)現(xiàn)邏輯獨(dú)立性——當(dāng)模式(如新增字段)修改時(shí),只需調(diào)整外模式與模式的映射關(guān)系,無需修改應(yīng)用程序。模式-內(nèi)模式映像:實(shí)現(xiàn)物理獨(dú)立性——當(dāng)內(nèi)模式(如存儲(chǔ)引擎從InnoDB換為MyISAM)修改時(shí),模式保持不變,應(yīng)用程序無需感知底層存儲(chǔ)變化。三、數(shù)據(jù)模型與模式設(shè)計(jì)數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界的抽象,分為概念、邏輯、物理三層:1.概念模型(ER圖)核心要素包括實(shí)體(如“學(xué)生”“課程”)、屬性(如學(xué)生的“學(xué)號(hào)”“姓名”)、聯(lián)系(1:1、1:n、m:n,如“學(xué)生選課”是m:n聯(lián)系)。繪制ER圖時(shí)需明確聯(lián)系的基數(shù)(如“課程”與“學(xué)生”的m:n聯(lián)系)與參與度(如“課程”至少被1個(gè)學(xué)生選擇,即參與度為1)。2.邏輯模型(關(guān)系模型)關(guān)系模型以二維表(關(guān)系)為基礎(chǔ),表由元組(行)和屬性(列)組成,需重點(diǎn)掌握:碼:超碼(唯一標(biāo)識(shí)元組的屬性集)、候選碼(最小超碼)、主碼(選作標(biāo)識(shí)的候選碼)、外碼(引用其他表的主碼)。范式(NF):1NF:屬性原子性(無重復(fù)組,如“地址”字段需拆分為“省/市/區(qū)”);2NF:消除部分函數(shù)依賴(非主屬性完全依賴于主碼,如“訂單表”中“訂單金額”應(yīng)依賴于“訂單號(hào)”,而非“訂單號(hào)+商品ID”);3NF:消除傳遞函數(shù)依賴(非主屬性不依賴于其他非主屬性,如“員工表”中“部門名稱”應(yīng)通過“部門ID”關(guān)聯(lián),而非直接存儲(chǔ));BCNF:消除主屬性對(duì)候選碼的部分/傳遞依賴(如“課程-教師”關(guān)系中,若“教師→課程”且“課程→教師”,需拆分為“課程-教師”和“教師-專長(zhǎng)”兩張表)。范式分解需遵循無損連接(分解后可通過連接恢復(fù)原關(guān)系)與保持函數(shù)依賴(分解后函數(shù)依賴不丟失)原則。3.物理模型(存儲(chǔ)設(shè)計(jì))決定數(shù)據(jù)的物理組織方式:存儲(chǔ)結(jié)構(gòu):堆文件(無順序,適合批量插入)、順序文件(按主鍵排序,適合范圍查詢)、索引組織表(數(shù)據(jù)按索引順序存儲(chǔ),如InnoDB的聚簇索引)。索引類型:聚簇索引(數(shù)據(jù)與索引同結(jié)構(gòu),一張表僅一個(gè))、非聚簇索引(索引與數(shù)據(jù)分離,支持多個(gè));B+樹索引(范圍查詢高效)、哈希索引(等值查詢高效,不支持范圍)、位圖索引(低基數(shù)屬性,如性別、訂單狀態(tài))。四、存儲(chǔ)管理與索引技術(shù)高效的存儲(chǔ)與索引是數(shù)據(jù)庫(kù)性能的核心支撐:1.存儲(chǔ)結(jié)構(gòu)細(xì)節(jié)數(shù)據(jù)庫(kù)物理存儲(chǔ)以頁(yè)(Page)為基本單位(如InnoDB默認(rèn)16KB),頁(yè)包含頭部(元數(shù)據(jù),如頁(yè)號(hào)、校驗(yàn)和)、記錄區(qū)(存儲(chǔ)行數(shù)據(jù))、空閑空間(預(yù)留更新空間)。日志文件(Redo/UndoLog)獨(dú)立存儲(chǔ),保障事務(wù)的持久性與原子性。2.索引機(jī)制深度解析B+樹索引:結(jié)構(gòu):多層樹,葉子節(jié)點(diǎn)通過鏈表相連,非葉子節(jié)點(diǎn)僅存鍵值,葉子節(jié)點(diǎn)存儲(chǔ)完整數(shù)據(jù)(聚簇索引)或指向數(shù)據(jù)的指針(非聚簇索引)。操作:查找(從根節(jié)點(diǎn)到葉節(jié)點(diǎn))、插入/刪除(觸發(fā)分裂/合并,保持樹平衡)。優(yōu)勢(shì):支持范圍查詢(通過葉子節(jié)點(diǎn)鏈表遍歷)、查詢性能穩(wěn)定(樹高固定)。哈希索引:原理:將鍵映射到哈希表,沖突通過鏈表或開放尋址解決。適用場(chǎng)景:等值查詢(O(1)時(shí)間復(fù)雜度),不支持范圍、排序操作。索引設(shè)計(jì)策略:覆蓋索引:索引包含查詢所需所有列(如`SELECTid,nameFROMuserWHEREid=1`,若索引為`(id,name)`則無需回表查詢)。聯(lián)合索引:遵循“最左前綴”原則(如`(a,b,c)`索引,查詢`a`、`a,b`或`a,b,c`可命中索引,僅查詢`b`或`c`無法命中)。五、查詢處理與優(yōu)化查詢處理是將SQL轉(zhuǎn)換為高效執(zhí)行計(jì)劃的過程:1.處理流程SQL語(yǔ)句→語(yǔ)法分析(生成語(yǔ)法樹,驗(yàn)證語(yǔ)法正確性)→語(yǔ)義分析(驗(yàn)證表/列存在、權(quán)限合法)→查詢優(yōu)化(代數(shù)優(yōu)化+物理優(yōu)化)→執(zhí)行計(jì)劃(選擇連接算法、索引等執(zhí)行方式)。2.關(guān)系代數(shù)與等價(jià)變換關(guān)系代數(shù)是查詢優(yōu)化的理論基礎(chǔ),核心運(yùn)算包括:選擇(σ,如`σage>18(Student)`)、投影(π,如`πname,age(Student)`)、連接(?,如`Student?SC`)。等價(jià)變換:選擇與投影的交換(先執(zhí)行選擇可減少數(shù)據(jù)量)、連接的結(jié)合律/交換律(調(diào)整連接順序以減少中間結(jié)果集大?。?.查詢優(yōu)化策略代數(shù)優(yōu)化:通過等價(jià)變換減少運(yùn)算量(如將選擇操作下推到連接操作之前)。物理優(yōu)化:基于代價(jià)模型選擇執(zhí)行方式(如連接算法:嵌套循環(huán)連接適合小表,哈希連接適合大表且內(nèi)存充足,排序-合并連接適合已排序數(shù)據(jù))。統(tǒng)計(jì)信息:基數(shù)(表行數(shù))、選擇性(條件過濾后的數(shù)據(jù)比例)、數(shù)據(jù)分布(直方圖),是代價(jià)估算的核心依據(jù)。六、事務(wù)管理與并發(fā)控制事務(wù)是數(shù)據(jù)庫(kù)操作的基本單元,需保障ACID特性:1.事務(wù)特性與隔離級(jí)別ACID:原子性(Atomicity):事務(wù)要么全執(zhí)行,要么全回滾(由UndoLog保障);一致性(Consistency):事務(wù)前后數(shù)據(jù)滿足完整性約束(如轉(zhuǎn)賬后總金額不變);隔離性(Isolation):并發(fā)事務(wù)互不干擾(由鎖或MVCC保障);持久性(Durability):事務(wù)提交后數(shù)據(jù)永久保存(由RedoLog保障)。隔離級(jí)別(從低到高):可重復(fù)讀(RepeatableRead):解決不可重復(fù)讀,存在幻讀(同一查詢多次執(zhí)行,結(jié)果集行數(shù)變化);串行化(Serializable):事務(wù)串行執(zhí)行,無并發(fā)問題,但性能最低。2.并發(fā)控制機(jī)制鎖機(jī)制:鎖類型:共享鎖(S鎖,讀操作)、排他鎖(X鎖,寫操作);兩階段鎖協(xié)議:事務(wù)分為“增長(zhǎng)階段”(加鎖)和“縮減階段”(解鎖),保障隔離性,但可能導(dǎo)致死鎖。死鎖處理:預(yù)防:超時(shí)機(jī)制(事務(wù)等待超時(shí)報(bào)錯(cuò))、等待圖檢測(cè)(循環(huán)等待時(shí)回滾代價(jià)最小的事務(wù));解決:回滾死鎖鏈中的一個(gè)事務(wù),釋放鎖資源。MVCC(多版本并發(fā)控制):原理:為數(shù)據(jù)維護(hù)多個(gè)版本,讀操作訪問舊版本,寫操作生成新版本,通過時(shí)間戳或版本號(hào)管理可見性。優(yōu)勢(shì):讀操作不阻塞寫操作,寫操作不阻塞讀操作,提升并發(fā)性能(如InnoDB的可重復(fù)讀級(jí)別基于MVCC實(shí)現(xiàn))。七、數(shù)據(jù)庫(kù)安全與恢復(fù)數(shù)據(jù)庫(kù)需應(yīng)對(duì)安全威脅與故障恢復(fù):1.安全機(jī)制認(rèn)證:用戶身份驗(yàn)證(密碼、令牌、生物識(shí)別);授權(quán):通過`GRANT/REVOKE`語(yǔ)句分配權(quán)限(如`GRANTSELECTONtableTOuser`);視圖:隱藏敏感數(shù)據(jù)(如員工表中僅暴露“姓名”“部門”,隱藏“薪資”字段);審計(jì):跟蹤用戶操作(如記錄誰(shuí)在何時(shí)修改了訂單數(shù)據(jù))。2.恢復(fù)技術(shù)故障類型:事務(wù)故障(如除零錯(cuò)誤):通過UndoLog回滾事務(wù);系統(tǒng)故障(如斷電):通過RedoLog重做已提交事務(wù),UndoLog回滾未提交事務(wù);介質(zhì)故障(如磁盤損壞):依賴備份+日志恢復(fù)?;謴?fù)機(jī)制:日志(Redo/Undo):Redo記錄事務(wù)提交的操作,Undo記錄事務(wù)的逆操作;檢查點(diǎn)(Checkpoint):定期將內(nèi)存數(shù)據(jù)刷盤,恢復(fù)時(shí)從檢查點(diǎn)開始,減少日志回放量。備份策略:完全備份:備份全部數(shù)據(jù),恢復(fù)快但耗時(shí)久;增量備份:僅備份自上次備份后修改的數(shù)據(jù),耗時(shí)短但恢復(fù)需串聯(lián)所有增量;差異備份:備份自上次完全備份后修改的數(shù)據(jù),恢復(fù)僅需完全備份+最新差異備份。復(fù)習(xí)建議1.概念串聯(lián):將三級(jí)模式、數(shù)據(jù)模型、事務(wù)特性等概念結(jié)合實(shí)際場(chǎng)景(如電商系統(tǒng)的訂單表設(shè)計(jì)、并發(fā)下單場(chǎng)景)理解,避免死
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年安徽藝術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)附答案
- 2026年攀枝花攀西職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)及答案1套
- 2026年哈爾濱應(yīng)用職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試模擬測(cè)試卷附答案
- 2026年山西同文職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試模擬測(cè)試卷附答案
- 2026年合肥市第四十五中學(xué)校聘教師招聘?jìng)淇碱}庫(kù)及答案1套
- 2026年甘肅模擬單招試題及答案1套
- 2026年機(jī)電工培訓(xùn)考試題及一套答案
- 2026年廈門工學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試模擬測(cè)試卷附答案
- 2026貴州省盤州市第二酒廠招聘4人筆試備考試題及答案解析
- 2026年寶雞中北職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試模擬測(cè)試卷及答案1套
- 上呼吸道患者護(hù)理課件
- 衛(wèi)星互聯(lián)網(wǎng)基礎(chǔ)知識(shí)培訓(xùn)課件
- 2025年敖漢旗就業(yè)服務(wù)中心招聘第一批公益性崗位人員的112人模擬試卷含答案詳解
- 九年級(jí)化學(xué)實(shí)驗(yàn)教案全集
- 某220千伏變電站10千伏電容器開關(guān)柜更換工程的安全措施與施工方案
- 鉗工個(gè)人實(shí)習(xí)總結(jié)
- 大健康養(yǎng)肝護(hù)肝針專題課件
- 道路高程測(cè)量成果記錄表-自動(dòng)計(jì)算
- 關(guān)于醫(yī)院“十五五”發(fā)展規(guī)劃(2026-2030)
- DB31-T 1587-2025 城市軌道交通智能化運(yùn)營(yíng)技術(shù)規(guī)范
- 2025水泥廠生產(chǎn)勞務(wù)承包合同
評(píng)論
0/150
提交評(píng)論