版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫系統(tǒng)考試重點知識總結(jié)一、數(shù)據(jù)庫基礎(chǔ)概念與體系結(jié)構(gòu)(一)核心概念辨析數(shù)據(jù)庫(Database,DB)是長期存儲在計算機內(nèi)、有組織的、可共享的數(shù)據(jù)集合,其數(shù)據(jù)具有結(jié)構(gòu)化、低冗余、易擴展的特點。數(shù)據(jù)庫管理系統(tǒng)(DBMS)是管理數(shù)據(jù)庫的軟件,提供數(shù)據(jù)定義、操縱、控制及維護等功能(如MySQL、Oracle、SQLServer)。數(shù)據(jù)庫系統(tǒng)(DBS)由DB、DBMS、應(yīng)用程序、用戶組成,是軟硬件與數(shù)據(jù)的整體。(二)三級模式與兩級映像數(shù)據(jù)庫采用三級模式結(jié)構(gòu)保障數(shù)據(jù)獨立性:外模式(子模式/用戶模式):用戶或應(yīng)用程序看到的局部數(shù)據(jù)視圖,一個數(shù)據(jù)庫可對應(yīng)多個外模式(支持視圖定制)。模式(概念模式/邏輯模式):數(shù)據(jù)庫的整體邏輯結(jié)構(gòu)(如表結(jié)構(gòu)、完整性約束),一個數(shù)據(jù)庫只有一個模式。內(nèi)模式(存儲模式):數(shù)據(jù)的物理存儲方式(如索引、數(shù)據(jù)文件的組織形式),一個數(shù)據(jù)庫只有一個內(nèi)模式。兩級映像實現(xiàn)數(shù)據(jù)獨立性:外模式-模式映像:當模式改變(如增加表字段),通過修改該映像,外模式可保持不變,保障邏輯獨立性(應(yīng)用程序無需修改)。模式-內(nèi)模式映像:當內(nèi)模式改變(如存儲結(jié)構(gòu)優(yōu)化),通過修改該映像,模式可保持不變,保障物理獨立性(應(yīng)用程序無需關(guān)注存儲細節(jié))。二、數(shù)據(jù)模型與完整性約束(一)數(shù)據(jù)模型分類數(shù)據(jù)模型分為概念模型和邏輯/物理模型:概念模型:用E-R圖(實體-聯(lián)系圖)描述現(xiàn)實世界,核心元素為實體(如學生)、屬性(如學號、姓名)、聯(lián)系(如學生與課程的“選課”聯(lián)系)。聯(lián)系類型包括1:1(如班級與班長)、1:n(如部門與員工)、m:n(如學生與課程)。邏輯模型:將概念模型轉(zhuǎn)化為計算機可處理的結(jié)構(gòu),主流為關(guān)系模型(表結(jié)構(gòu),行是元組、列是屬性),此外還有層次模型(樹狀)、網(wǎng)狀模型(圖狀)、面向?qū)ο竽P停ㄖС謴?fù)雜數(shù)據(jù)類型)。(二)關(guān)系模型的完整性約束關(guān)系模型通過三類約束保障數(shù)據(jù)一致性:實體完整性:主鍵(或候選鍵)的屬性值非空且唯一(如學生表的“學號”不可重復(fù)、不可為空)。參照完整性:外鍵必須是被參照表的主鍵值(或空值)。例如,“選課表”的“課程號”需參照“課程表”的“課程號”。用戶定義完整性:自定義的業(yè)務(wù)規(guī)則(如成績需在0-100之間、姓名長度不超過20字)。三、關(guān)系代數(shù)與規(guī)范化理論(一)關(guān)系代數(shù)運算關(guān)系代數(shù)是操作關(guān)系的數(shù)學工具,核心運算包括:傳統(tǒng)集合運算:并(∪,需結(jié)構(gòu)相同)、交(∩)、差(-)、笛卡爾積(×,兩表元組組合)。專門關(guān)系運算:選擇(σ):按條件篩選元組(如`σ成績>80(學生表)`)。投影(π):選擇屬性列(如`π姓名,學號(學生表)`)。連接(?):基于公共屬性的笛卡爾積篩選,包括等值連接(屬性值相等)、自然連接(等值連接+去重公共屬性)、外連接(保留未匹配元組,如左外連接保留左表所有元組)。除(÷):解決“查詢滿足所有條件的對象”問題(如查詢選修所有課程的學生,需用學生-課程表÷課程表)。(二)規(guī)范化理論與范式規(guī)范化的目標是消除數(shù)據(jù)冗余、避免更新異常(插入、刪除、修改異常),通過函數(shù)依賴分析關(guān)系模式的優(yōu)劣。1.函數(shù)依賴:若屬性組X的取值唯一確定Y的取值,則稱X→Y(X函數(shù)決定Y)。例如,學號→姓名(學號確定則姓名唯一),(學號,課程號)→成績(學號和課程號共同決定成績)。2.候選碼與主碼:候選碼是能唯一標識元組的最小屬性組(無冗余),主碼是從候選碼中選的一個。例如,學生表中“學號”是候選碼;選課表中“(學號,課程號)”是候選碼。3.范式(NF):1NF:屬性原子性(不可再分,如“地址”不能拆分為省、市)。2NF:滿足1NF,且消除部分函數(shù)依賴(非主屬性不依賴于主碼的部分屬性)。例如,若選課表主碼是(學號,課程號),則“姓名”(依賴于學號)屬于部分依賴,需拆分出學生表。3NF:滿足2NF,且消除傳遞函數(shù)依賴(非主屬性不依賴于其他非主屬性)。例如,若學生表有學號→系號、系號→系名,則系名依賴于學號(傳遞依賴),需拆分出系表。BCNF:滿足3NF,且所有函數(shù)依賴的左部都是候選碼(解決主屬性的依賴問題)。例如,若關(guān)系模式R(學生,課程,教師),候選碼是(學生,課程)和(學生,教師),但存在教師→課程,則不滿足BCNF,需拆分。4NF:滿足BCNF,且消除多值依賴(如一個教師教多門課、住多個地址,需拆分表避免冗余)。四、SQL語言核心知識點(一)SQL分類與語法SQL(結(jié)構(gòu)化查詢語言)分為三類:DDL(數(shù)據(jù)定義語言):定義數(shù)據(jù)庫對象,如`CREATETABLE`(創(chuàng)建表)、`ALTERTABLE`(修改表)、`DROPTABLE`(刪除表)、`CREATEDATABASE`(創(chuàng)建庫)等。DML(數(shù)據(jù)操縱語言):操作數(shù)據(jù),如`INSERT`(插入)、`DELETE`(刪除)、`UPDATE`(更新)、`SELECT`(查詢)。DCL(數(shù)據(jù)控制語言):管理權(quán)限,如`GRANT`(授權(quán))、`REVOKE`(回收權(quán)限)。(二)查詢語句(SELECT)進階查詢是SQL的核心,需掌握復(fù)雜用法:連接查詢:內(nèi)連接:`SELECT*FROM表1INNERJOIN表2ON表1.列=表2.列`(只返回匹配的元組)。外連接:`LEFTJOIN`(保留左表所有元組,右表無匹配則補NULL)、`RIGHTJOIN`、`FULLJOIN`。子查詢:嵌套在查詢中的查詢,分為相關(guān)子查詢(依賴外層查詢參數(shù),如`SELECT*FROM學生WHERE成績>(SELECTAVG(成績)FROM學生)`)和不相關(guān)子查詢(獨立執(zhí)行)。分組與聚合:`GROUPBY`按列分組,`HAVING`對分組結(jié)果過濾(區(qū)別于`WHERE`對行過濾),聚合函數(shù)如`SUM()`、`AVG()`、`COUNT()`、`MAX()`。集合運算:`UNION`(合并去重)、`UNIONALL`(合并不去重)、`INTERSECT`(交集)、`EXCEPT`(差集)。(三)視圖與索引視圖:虛擬表,基于查詢結(jié)果創(chuàng)建,語法`CREATEVIEW視圖名ASSELECT...`。作用:簡化查詢、保障安全(隱藏敏感列)、邏輯獨立(應(yīng)用程序調(diào)用視圖,底層表結(jié)構(gòu)變化不影響)。索引:加速查詢的數(shù)據(jù)庫對象,分為聚簇索引(數(shù)據(jù)物理存儲順序與索引一致,一張表僅一個)和非聚簇索引(數(shù)據(jù)與索引分開存儲)。創(chuàng)建語法`CREATEINDEX索引名ON表(列)`,需注意:索引會增加插入/更新開銷,需合理設(shè)計(如頻繁查詢的列建索引,重復(fù)率高的列(如性別)不適合)。五、數(shù)據(jù)庫設(shè)計流程數(shù)據(jù)庫設(shè)計遵循生命周期法,分為五個階段:(一)需求分析通過調(diào)研(訪談、問卷)明確用戶需求,輸出數(shù)據(jù)流圖(DFD)(描述數(shù)據(jù)流動與處理)和數(shù)據(jù)字典(定義數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲的詳細信息)。(二)概念結(jié)構(gòu)設(shè)計用E-R圖建模現(xiàn)實世界,步驟包括:確定實體(如學生、課程)、屬性(如學生的學號、姓名)、聯(lián)系(如學生與課程的選課聯(lián)系)。處理聯(lián)系的屬性(如選課聯(lián)系的“成績”屬性)。優(yōu)化E-R圖(消除冗余實體/聯(lián)系,合并屬性)。(三)邏輯結(jié)構(gòu)設(shè)計將E-R圖轉(zhuǎn)化為關(guān)系模式(表結(jié)構(gòu)),需解決三類沖突:屬性沖突:同一屬性在不同實體中類型/長度不一致(如學生表“年齡”是INT,課程表“年齡”是CHAR)。命名沖突:同名異義(如“編號”在學生表指學號,在課程表指課程號)或異名同義(如“學號”和“學生編號”)。結(jié)構(gòu)沖突:同一實體在不同局部E-R圖中屬性/聯(lián)系不一致(如學生表在A部門的E-R圖有“籍貫”,B部門的沒有)。轉(zhuǎn)化規(guī)則:1:1聯(lián)系:可將一方主鍵放入另一方(如班級與班長,班長表加入班級號),或新建關(guān)系表(班級號,班長號)。1:n聯(lián)系:將“1”方主鍵放入“n”方(如部門與員工,員工表加入部門號)。m:n聯(lián)系:新建關(guān)系表,包含雙方主鍵(如學生與課程,新建選課表(學號,課程號,成績))。(四)物理設(shè)計確定數(shù)據(jù)的物理存儲結(jié)構(gòu)(如行存儲/列存儲)、索引策略(如對查詢頻繁的列建索引)、分區(qū)策略(如按時間分區(qū)存儲日志數(shù)據(jù)),目標是優(yōu)化性能。(五)實施與維護實施:用SQL語句創(chuàng)建數(shù)據(jù)庫、表、索引等,導(dǎo)入數(shù)據(jù)。維護:監(jiān)控性能、優(yōu)化結(jié)構(gòu)(如添加索引、拆分大表)、修復(fù)故障、升級版本。六、事務(wù)管理與并發(fā)控制(一)事務(wù)的ACID特性事務(wù)是數(shù)據(jù)庫的邏輯工作單元,需滿足:原子性(Atomicity):事務(wù)內(nèi)操作要么全做,要么全不做(如轉(zhuǎn)賬時,扣款和存款必須同時成功或失?。?。一致性(Consistency):事務(wù)執(zhí)行前后,數(shù)據(jù)庫從一個一致狀態(tài)到另一個一致狀態(tài)(如轉(zhuǎn)賬前后總金額不變)。隔離性(Isolation):多個事務(wù)并發(fā)執(zhí)行時,相互隔離,一個事務(wù)的中間狀態(tài)對其他事務(wù)不可見。持久性(Durability):事務(wù)提交后,修改永久保存(即使系統(tǒng)崩潰)。(二)并發(fā)問題與隔離級別多事務(wù)并發(fā)會引發(fā)三類問題:丟失修改:兩個事務(wù)同時修改同一數(shù)據(jù),后提交的覆蓋前提交的(如T1和T2同時減庫存,T1先改但T2后提交,T1的修改丟失)。臟讀:事務(wù)讀取到另一個事務(wù)未提交的修改(如T1修改了數(shù)據(jù)但未提交,T2讀取了該數(shù)據(jù),后T1回滾,T2讀到臟數(shù)據(jù))。不可重復(fù)讀:同一事務(wù)內(nèi)多次讀取同一數(shù)據(jù),結(jié)果不同(如T1第一次讀余額為100,T2修改為200并提交,T1第二次讀為200)?;米x:同一事務(wù)內(nèi)多次查詢,結(jié)果集行數(shù)不同(如T1查詢“成績>80”的學生有5人,T2插入一個成績>80的學生并提交,T1再次查詢有6人)。SQL標準定義了隔離級別(從低到高):可重復(fù)讀(RepeatableRead):避免臟讀、不可重復(fù)讀,但可能幻讀(如MySQLInnoDB默認級別)。串行化(Serializable):事務(wù)串行執(zhí)行,隔離性最高,性能最低。(三)并發(fā)控制:封鎖與MVCC1.封鎖協(xié)議:通過加鎖控制并發(fā),鎖類型包括共享鎖(S鎖)(允許多個事務(wù)讀,不允許寫)和排他鎖(X鎖)(只允許一個事務(wù)寫,不允許讀/寫)。一級封鎖協(xié)議:事務(wù)對修改的數(shù)據(jù)加X鎖,直到事務(wù)結(jié)束(解決丟失修改)。二級封鎖協(xié)議:一級+對讀取的數(shù)據(jù)加S鎖,讀完即釋放(解決臟讀)。三級封鎖協(xié)議:一級+對讀取的數(shù)據(jù)加S鎖,直到事務(wù)結(jié)束(解決不可重復(fù)讀)。2.MVCC(多版本并發(fā)控制):為數(shù)據(jù)維護多個版本,事務(wù)讀取時選擇一個版本(如InnoDB通過undo日志實現(xiàn)),避免加鎖帶來的性能損耗,同時保障隔離性。(四)死鎖處理死鎖是兩個或多個事務(wù)互相等待對方釋放鎖的狀態(tài)。處理策略:預(yù)防:破壞死鎖的四個必要條件(互斥、持有并等待、不可剝奪、循環(huán)等待),如要求事務(wù)一次性申請所有鎖。避免:用銀行家算法等判斷是否會發(fā)生死鎖,若可能則拒絕事務(wù)。檢測與恢復(fù):定期檢測死鎖(如等待圖法),發(fā)現(xiàn)后選擇一個事務(wù)回滾,釋放鎖。七、數(shù)據(jù)庫安全與恢復(fù)(一)數(shù)據(jù)庫安全保障數(shù)據(jù)的機密性、完整性、可用性,措施包括:用戶與權(quán)限管理:`CREATEUSER`創(chuàng)建用戶,`GRANT權(quán)限ON對象TO用戶`授權(quán)(如`GRANTSELECT,INSERTON學生表TO張三`),`REVOKE`回收權(quán)限。角色管理:將權(quán)限分組(如“教師角色”包含查詢/修改學生成績的權(quán)限),簡化權(quán)限分配。視圖機制:通過視圖隱藏敏感列(如學生表的“身份證號”列,只對管理員開放)。審計:記錄用戶的操作(如誰在何時修改了成績),用于追溯。(二)數(shù)據(jù)庫恢復(fù)恢復(fù)的目標是故障后恢復(fù)數(shù)據(jù)一致性,故障類型包括:事務(wù)故障:事務(wù)執(zhí)行中出錯(如代碼異常、違反約束),需撤銷(UNDO)該事務(wù)的修改(通過日志回滾)。系統(tǒng)故障:服務(wù)器崩潰(如斷電),需重做(REDO)已提交的事務(wù)(通過日志重新執(zhí)行),撤銷未提交的事務(wù)。介質(zhì)故障:磁盤損壞,需結(jié)合數(shù)據(jù)轉(zhuǎn)儲(備份)和日志恢復(fù)?;謴?fù)技術(shù):日志文件:記錄事務(wù)的開始、提交、修改操作,用于UNDO/REDO。檢查點:定期記錄數(shù)據(jù)庫狀態(tài),恢復(fù)時從檢查點開始掃描日志,減少恢復(fù)時間。數(shù)據(jù)轉(zhuǎn)儲:分為全量轉(zhuǎn)儲(備份整個數(shù)據(jù)庫)、增量轉(zhuǎn)儲(備份自上次轉(zhuǎn)儲后修改的數(shù)據(jù))、差量轉(zhuǎn)儲(備份自上次全量轉(zhuǎn)儲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年開發(fā)項目融資合同
- 2025年新型數(shù)字貨幣交易平臺可行性研究報告
- 2025年無人機航空服務(wù)項目可行性研究報告
- 2025年低碳環(huán)保產(chǎn)品市場發(fā)展可行性研究報告
- 紙品購銷合同范本
- 中美創(chuàng)業(yè)協(xié)議書
- 羊皮購銷合同范本
- 2025年跨境電商產(chǎn)業(yè)園區(qū)發(fā)展項目可行性研究報告
- 高考全國甲卷英語試題題庫(含答案)
- 成都軌道項目經(jīng)理項目面試題庫及答案
- 項目經(jīng)理年底匯報
- 新生兒戒斷綜合征評分標準
- 【公開課】絕對值人教版(2024)數(shù)學七年級上冊+
- T/CI 312-2024風力發(fā)電機組塔架主體用高強鋼焊接性評價方法
- 藥品檢驗質(zhì)量風險管理
- 中國古橋欣賞課件
- 2025年硅酸乙酯-32#項目可行性研究報告
- 超星爾雅學習通《心理、行為與文化(北京大學)》2025章節(jié)測試附答案
- 《煤礦安全生產(chǎn)責任制》培訓課件2025
- 《臨床中藥學實訓》課程教學大綱
- 慢性牙周炎講解
評論
0/150
提交評論