數(shù)據(jù)庫(kù)管理系統(tǒng)概述
- 技術(shù)發(fā)展:人工管理->文件系統(tǒng)->數(shù)據(jù)庫(kù)->高級(jí)數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)是 在計(jì)算機(jī)內(nèi)有組織诈泼、可共享的數(shù)據(jù)集合
-
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
- 數(shù)據(jù)庫(kù)的定義和建立
- 數(shù)據(jù)庫(kù)的操作
- 數(shù)據(jù)庫(kù)的控制
- 數(shù)據(jù)庫(kù)的維護(hù)
- 故障恢復(fù)
- 數(shù)據(jù)通信
-
數(shù)據(jù)庫(kù)系統(tǒng)(DBS)
- 構(gòu)成:硬件懂拾、軟件、數(shù)據(jù)庫(kù) 和 數(shù)據(jù)庫(kù)管理員DBA
- 分類
- 集中式
- 客戶/服務(wù)器
- 并行式
- 分布式
數(shù)據(jù)庫(kù)模式
-
三級(jí)模式 [用戶模式->概念模式->內(nèi)模式->物理數(shù)據(jù)庫(kù)]
- 外/用戶模式 用戶通過(guò)外模式操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)铐达,一個(gè)應(yīng)用對(duì)應(yīng)一個(gè)外模式 [用戶視圖]
- 內(nèi)模式 描述數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式委粉,一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式 [內(nèi)部視圖]
- 概念/邏輯模式 描述數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)概念模式 [DBA視圖]
-
三個(gè)級(jí)別
- 用戶級(jí)->用戶模式 [多視圖]
- 概念級(jí)->概念模式 [一個(gè)DBA視圖]
- 物理級(jí)->內(nèi)模式 [一個(gè)內(nèi)部視圖]
-
兩級(jí)映射
- 邏輯獨(dú)立性:外模式/概念模式映射
- 物理獨(dú)立性:概念模式/內(nèi)模式映射
- 實(shí)現(xiàn)難度:邏輯獨(dú)立性 > 物理獨(dú)立性
數(shù)據(jù)模型
- 關(guān)系模型分類
-
概念數(shù)據(jù)模型 (實(shí)體關(guān)系[E-R]模型)
- 數(shù)據(jù)庫(kù)設(shè)計(jì)
-
基本數(shù)據(jù)模型 (結(jié)構(gòu)數(shù)據(jù)模型)
- DBMS實(shí)現(xiàn)
-
概念數(shù)據(jù)模型 (實(shí)體關(guān)系[E-R]模型)
-
基本數(shù)據(jù)模型
- 三要素:數(shù)據(jù)結(jié)構(gòu)娶桦、數(shù)據(jù)操作 和 完整性約束
- 層次模型 樹形結(jié)構(gòu),指針實(shí)現(xiàn)汁汗,1:n
- 網(wǎng)狀模型 有向圖結(jié)構(gòu)衷畦,m:n
- 關(guān)系模型 表格結(jié)構(gòu),嚴(yán)格數(shù)據(jù)概念
- 面向?qū)ο竽P?/strong>
-
關(guān)系模型
-
域 D 一組具有相同數(shù)據(jù)類型的值集合
- 同一個(gè)域可能對(duì)應(yīng)多個(gè)列知牌,比如 name祈争、desc 都是 varchar 域
- 每列的名字 叫做屬性
-
笛卡爾積
- D1 X D2 X ..., Dn= {(d1, d2 ..., dn) | dj∈Dj, j=1,2...,n}
- (d1, d2 ..., dn) 叫做元組(行)
- 元組中的每一個(gè)d叫做分量
-
關(guān)系
- D1 X D2 X ..., Dn 的子集叫做在域上的關(guān)系,用R(D1, D2 ..., Dn)表示角寸,R是關(guān)系名菩混,n是關(guān)系的目或者度
- 關(guān)系是一個(gè)二維表,列上的名字叫做 屬性
- 屬性能唯一標(biāo)識(shí)一個(gè)元組扁藕,稱候選碼沮峡,如果有多個(gè)候選碼,選一個(gè)作為主鍵(構(gòu)成主鍵的屬性稱為主屬性)
- 所有屬性都是候選碼亿柑,稱為全碼
- 類型
- 基本關(guān)系(基本表) 實(shí)表邢疙,實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示
- 查詢表 查詢結(jié)果返回的表
- 視圖表 虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)數(shù)據(jù)
- 五元組 R(U, D, DOM, F)
- U 是屬性名集合
- D 是U中屬性來(lái)自的域望薄,DOM 是U->D的映射
- F 是屬性之間數(shù)據(jù)的依賴關(guān)系
- R(A1, A2 ..., An) R 是關(guān)系名疟游,Ax是屬性名
-
域 D 一組具有相同數(shù)據(jù)類型的值集合
- 關(guān)系模式 是型(靜態(tài)的),關(guān)系 是值(動(dòng)態(tài)的)
- 規(guī)范化理論
-
函數(shù)依賴
- 完全依賴 X->Y成立痕支,但是X'->Y不成立颁虐,那么Y完全依賴于X
- 部分依賴 X->Y成立,但是X'->Y成立卧须,那么Y部分依賴于X
- 傳遞依賴 X->Y成立另绩,Y->X不成立儒陨,Y->Z成立,那么 Z傳遞依賴于X
- 推理規(guī)則
1)自反率 若Y?X?U板熊,則X->Y在R上成立
2)增廣律 若X->Y在R上成立框全,Z?U,則XZ->YZ在R上成立
3)傳遞律 若X->Y干签,Y->Z在R上成立津辩,則X->Z在R上成立
推理規(guī)則:
1)合并規(guī)則 若X->Y,X->Z在R上成立容劳,則X->YZ在R上成立
2)偽傳遞規(guī)則 若X->Y在R上成立喘沿,Z?Y,則X->Z在R上成立
3)分解規(guī)則 若X->Y竭贩,WY->Z在R上成立蚜印,則WX->Z在R上成立
- 在R(U,F(xiàn))中 F包含的函數(shù)依賴叫做F的閉包=F+
-
極小/最小函數(shù)依賴
- 只有一個(gè)屬性
- 不存在一個(gè)函數(shù)依賴X->A留量,使得F與F-{X-A}等價(jià)
- 不存在一個(gè)X->A的真子集Z使得F-{X-A} V {Z->A} 與F等價(jià)
-
函數(shù)依賴
- 范式
- 第一范式 1NF 所有屬性不可再分窄赋,原子性
- 第二范式 2NF 所有非主屬性完全依賴于候選鍵
- 第三范式 3NF 所有非主屬性都不傳遞依賴于候選鍵
- BCNF范式 關(guān)系R是1NF,且所有屬性都不傳遞依賴于R的候選鍵
- 關(guān)系模式分解
-
無(wú)損連接分解 R1∩R2=R1-R2 或者 R1∩R2=R2-R1
- 分解后是否保持函數(shù)依賴性
- 有損連接分解
-
無(wú)損連接分解 R1∩R2=R1-R2 或者 R1∩R2=R2-R1
數(shù)據(jù)操作
- 查詢和更新
- 集合運(yùn)算 (交楼熄,并忆绰,差,笛卡爾)
-
關(guān)系運(yùn)算
- 投影(select 指定列)
- 選擇(where)
- **連接(笛卡爾) **
- 等值連接
- 自然連接[A可岂,B集合屬性值相等的行并且保留一份屬性错敢,自由屬性保留]
-
外鏈接
- left join
- right join
- inner join
C2A64584-9385-4120-960E-A542E8FED7E4.png
- 元組演算
5491A47E-A5A7-4BF2-8047-8371C894D32A.png
- 數(shù)據(jù)庫(kù)訪問(wèn)接口(網(wǎng)絡(luò)透明性[支持各種網(wǎng)絡(luò)類型]、服務(wù)器透明性[統(tǒng)一SQL]缕粹、語(yǔ)言透明性[任何編譯語(yǔ)言])
- 專用接口 速度快稚茅,不通用
- ODBC
- 構(gòu)成
- 應(yīng)用程序、驅(qū)動(dòng)程序管理器平斩、驅(qū)動(dòng)程序亚享、數(shù)據(jù)源
- 級(jí)別
- 核心級(jí),擴(kuò)展1級(jí)双戳、擴(kuò)展2級(jí)
- 構(gòu)成
- JDBC
數(shù)據(jù)庫(kù)控制功能
-
事務(wù) 是 不可再分 的邏輯工作單位虹蒋,要么都做,要么都不做
- BEGIN TRANSACTION飒货,COMMIIT魄衅,ROLLBACK
- 關(guān)系型數(shù)據(jù)庫(kù) ACID 四特性:
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔離線(Isolation)
- 持久性(Durability)
- 并發(fā)控制
- 問(wèn)題
- 丟失更新 -> T1,T2并行修改塘辅,有一個(gè)被覆蓋
- 不一致分析(讀過(guò)時(shí)數(shù)據(jù)晃虫,不可重復(fù)讀) T1讀數(shù)據(jù)后進(jìn)行操作的中間,T2讀取后并修改了數(shù)據(jù)扣墩,T1做校驗(yàn)時(shí)發(fā)現(xiàn)前后不一致
- 依賴于未提交更新數(shù)據(jù)(讀臟數(shù)據(jù)) T1提交后哲银,T2讀取扛吞,這時(shí)候T1回滾數(shù)據(jù),T2沒有被通知到荆责,還是用舊手
- 解決方法是 加鎖
- S鎖(share共享鎖/讀鎖)
- X鎖(排他鎖)
- 封鎖協(xié)議
- 一段封鎖協(xié)議 解決丟失更新滥比,修改時(shí)加X鎖
- 二段封鎖協(xié)議 解決丟失更新,解決不一致分析/不可重復(fù)讀做院,讀時(shí)加S鎖盲泛,讀完就釋放,再做事務(wù)操作
- 三段封鎖協(xié)議 解決丟失更新键耕,解決不一致分析/不可重復(fù)讀寺滚,讀臟數(shù)據(jù) 讀時(shí)加S鎖,直到事務(wù)完成屈雄,才釋放S鎖
- 兩段鎖協(xié)議
- 會(huì)出現(xiàn)死鎖問(wèn)題
- 封鎖粒度(屬性集(列鎖)村视,元組(行鎖),關(guān)系(表鎖)酒奶,索引項(xiàng)蚁孔,數(shù)據(jù)庫(kù),物理頁(yè)/塊...)
- 粒度越細(xì)惋嚎,并發(fā)越高勒虾,開銷越大
- 粒度越粗,并發(fā)越小瘸彤,開銷越小
- 死鎖
- 問(wèn)題
- 備份與恢復(fù)
- 數(shù)據(jù)庫(kù)故障分類
- 事務(wù)內(nèi)部故障
- 系統(tǒng)范圍內(nèi)故障
- 介質(zhì)故障
- 計(jì)算機(jī)病毒
- 解決手段
- 數(shù)據(jù)備份(數(shù)據(jù)轉(zhuǎn)存[磁帶/存儲(chǔ)備份])
- 靜態(tài)備份 -> 必須停服務(wù),降低可用性
- 動(dòng)態(tài)備份 -> 無(wú)法保證數(shù)據(jù)正確性
- 增量備份
- 全量備份
- 日志文件
- 先寫日志原則笛钝,回放了所有對(duì)數(shù)據(jù)庫(kù)的操作
- 重做(redo)日志
- 數(shù)據(jù)恢復(fù)
- 不同故障的解決手段不同
- 回放日志
- 數(shù)據(jù)備份(數(shù)據(jù)轉(zhuǎn)存[磁帶/存儲(chǔ)備份])
- 數(shù)據(jù)庫(kù)故障分類
- 數(shù)據(jù)庫(kù)安全性
- DBMS提供的用戶身份識(shí)別质况,視圖,權(quán)限控制玻靡,審計(jì)
- 系統(tǒng)應(yīng)用提供
-
用戶認(rèn)證
- 密碼口令
- 強(qiáng)身份認(rèn)證(用戶證書结榄,智能卡,用戶指紋等...)
- 用戶角色 (superadmin囤捻,DBA臼朗,普通用戶)
-
數(shù)據(jù)授權(quán)
- 數(shù)據(jù)庫(kù)級(jí)別、表級(jí)蝎土、屬性級(jí)视哑、行級(jí)
- 存取控制兩原則:
- 隔離原則 用戶只能操作自己的角色/用戶分配到權(quán)限的數(shù)據(jù)
- 控制原則 用戶只能以被分配到的方法去操作數(shù)據(jù)
- 靜態(tài)(默認(rèn))/動(dòng)態(tài)(手動(dòng)) 授權(quán)
- 數(shù)據(jù)視圖 虛擬表,訪問(wèn)數(shù)據(jù)不具備獨(dú)立對(duì)象存儲(chǔ)
-
審計(jì) 事后監(jiān)督誊涯,記錄用戶的訪問(wèn)行為和系統(tǒng)狀態(tài)
- 跟蹤 不同于審計(jì)挡毅,更類似于行為分析和系統(tǒng)調(diào)試,不會(huì)記錄
- 用戶審計(jì) 由DBMS審計(jì)系統(tǒng)記錄至日志文件
- 系統(tǒng)審計(jì) 由DBA執(zhí)行暴构,內(nèi)容主要是系統(tǒng)命令及數(shù)據(jù)庫(kù)使用情況
- 數(shù)據(jù)庫(kù)完整性
-
完整性約束
- 靜態(tài)約束 語(yǔ)法跪呈、語(yǔ)義限制和數(shù)據(jù)間的邏輯約束
- 動(dòng)態(tài)約束 動(dòng)態(tài)列級(jí)約束段磨,動(dòng)態(tài)元組(行)約束,動(dòng)態(tài)關(guān)系(表)約束
-
完整性控制
- 實(shí)體完整性 主碼不為空
-
參照完整性 外碼不為空
- 刪除
- 級(jí)聯(lián)刪除
- 受限刪除
- 置空刪除
- 刪除
- 用戶定義完整性
- 觸發(fā)器(除了保證完整性耗绿,還保證安全性)
-
完整性約束
- 數(shù)據(jù)庫(kù)性能
- SQL性能優(yōu)化
- 數(shù)據(jù)庫(kù)性能優(yōu)化
- 監(jiān)控系統(tǒng)指標(biāo)
- 調(diào)整參數(shù)
- 跟蹤參數(shù)及結(jié)果苹支,是否符合預(yù)期
- 查詢優(yōu)化
數(shù)據(jù)庫(kù)設(shè)計(jì)及建模
- 數(shù)據(jù)庫(kù)設(shè)計(jì)
- 規(guī)劃 -> 需求分析 -> 概念設(shè)計(jì) -> 邏輯設(shè)計(jì) -> 物理設(shè)計(jì) -> y應(yīng)用程序設(shè)計(jì) -> 運(yùn)行維護(hù)
-
實(shí)體聯(lián)系模型(E-R圖)
- 強(qiáng)調(diào)的是語(yǔ)義
- 實(shí)體(正方形) - 屬性(橢圓) - 聯(lián)系概念上
- 一個(gè)實(shí)體E-R圖可以拆分成多個(gè)子系統(tǒng)E-R圖
- 沖突:屬性沖突、命名沖突误阻、結(jié)構(gòu)沖突
- 冗余:根據(jù)數(shù)據(jù)字典 和 數(shù)據(jù)流圖消除冗余
分布式數(shù)據(jù)庫(kù)系統(tǒng)
- 特征
- 獨(dú)立性
- 集中與自治共享結(jié)合的數(shù)據(jù)結(jié)構(gòu)
- 適當(dāng)增加數(shù)據(jù)冗余
- 目標(biāo)
- 適應(yīng)部門結(jié)構(gòu)债蜜,降低費(fèi)用
- 充分利用資源
- 提高可靠性和可用性
- 存儲(chǔ)方案
- 集中式、分割式堕绩、全復(fù)制策幼、混合式
- 數(shù)據(jù)分片
- 水平分片、垂直分片奴紧、混合分片
- 組成結(jié)構(gòu):全局外模式 -> 全局概念模式 -> 分片模式 -> 分布式
- 分布式數(shù)據(jù)庫(kù)管理系統(tǒng)
- LDBMS 局部DBMS
- GDBMS 全局DBMS
- 全局?jǐn)?shù)據(jù)字典
- 通信管理
關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)(RDBS)
- 關(guān)系型數(shù)據(jù)庫(kù)三要素
- 數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)操作
- 數(shù)據(jù)約束條件
數(shù)據(jù)倉(cāng)庫(kù)(DataWareHouse)
-
OLTP(傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù))
- 事件驅(qū)動(dòng)
-
OLAP(數(shù)據(jù)倉(cāng)庫(kù))
- 決策驅(qū)動(dòng)
- 維是核心特姐,多維數(shù)據(jù)分析根據(jù)集合
- 多維度分析與跨維度分析
- 鉆取 上鉆、下鉆
- 剩余維度為2切片黍氮,剩余維度是3切塊
- 旋轉(zhuǎn) 行列互換
- 系統(tǒng)架構(gòu)
-
基于關(guān)系型數(shù)據(jù)庫(kù) ROLAP
- 事實(shí)表(存儲(chǔ)數(shù)據(jù)和維關(guān)鍵字)
- 維度表(存儲(chǔ)維表信息)
- 模型:星型模型(事實(shí)表和維表用主外鍵關(guān)聯(lián)) 和 雪花模型(多表表示, 星型模型的擴(kuò)展)
-
基于多維數(shù)據(jù)庫(kù) MOLAP
- 模型:形成立方體(cube)結(jié)構(gòu)唐含,對(duì)立方體進(jìn)行旋轉(zhuǎn)、切片沫浆、切塊
- 基于混合數(shù)據(jù)庫(kù) HOLAP
-
基于關(guān)系型數(shù)據(jù)庫(kù) ROLAP
- BI = 數(shù)據(jù)倉(cāng)庫(kù)(DataWareHouse) + 聯(lián)機(jī)分析處理 + 數(shù)據(jù)挖掘(DataDeep)
- 特征
- 面向主題
- 集成
- 相對(duì)穩(wěn)定(非易失)
- 隨時(shí)間變化
- 分類
- 企業(yè)級(jí)倉(cāng)庫(kù)
- 數(shù)據(jù)集市 -> 特定用戶\企業(yè)數(shù)據(jù)的一個(gè)子集
- 虛擬倉(cāng)庫(kù) -> 視圖集合
- 聚集和立方
- 聚集 對(duì)數(shù)據(jù)的預(yù)處理
- 立方 是聚集的結(jié)果組合捷枯,超過(guò)3時(shí),成為超立方體
- 數(shù)據(jù)倉(cāng)庫(kù)參考框架:數(shù)據(jù)源专执、數(shù)據(jù)準(zhǔn)備去淮捆、數(shù)據(jù)倉(cāng)庫(kù)服務(wù)器、數(shù)據(jù)集市/知識(shí)挖掘庫(kù)本股、管理應(yīng)用工具
- 數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu): 數(shù)據(jù)源攀痊、數(shù)據(jù)的存儲(chǔ)和管理、OLAP服務(wù)器拄显、前端工具
- 數(shù)據(jù)倉(cāng)庫(kù)構(gòu)建步驟:規(guī)劃->需求分析->問(wèn)題分析->數(shù)據(jù)ETL->