目錄
數據庫系統基礎知識
基本概念
DB:數據庫.是指長期儲存在計算機內的,有組織的,可共享的數據集合.
DBS:數據庫系統.由數據庫,硬件,軟件和人員組成,管理的對象是數據.
DBMS:數據庫管理系統.是一種操縱和管理數據庫的大型軟件,用於建立,使用和維護數據庫.DBMS通常分三類:關係數據庫系統RDBS,面向對象的數據庫系統OODBS,對象關係數據庫系統ORDBS.
DBA:數據庫管理員.
數據庫技術中採用分級的方法,將數據庫的結構劃分爲多個層次,最著名的是三級劃分法,將數據庫系統分爲外模式,概念模式和內模式三個層次.
數據庫的結構
數據庫結構的基礎是數據模型,使用來描述數據的一組概念和定義.
數據模型的三要素:數據結構,數據操作,數據的約束條件.
常用的數據模型
概念數據模型
概念數據模型又稱爲實體聯繫模型,它按照用戶的觀點來對數據和信息建模,主要用於數據庫設計.
概念模型主要用實體-聯繫方法表示,簡稱E-R方法.
E-R模型簡稱E-R圖,E-R圖的三個要素有:
- 實體(型):用矩形框表示,框內標註實體名稱.
- 屬性:用橢圓形表示,並用連線和實體連接起來.
- 實體之間的聯繫:用菱形框表示,框內標註聯繫名稱,用連線將菱形框分別與有關實體相連,並在連線上註明聯繫類型.
基本數據模型
基本數據模型又稱爲結構數據模型,是按照計算機系統的觀點來對數據和信息建模.主要用於DBMS的實現.
基本數據模型是數據庫系統的核心和基礎,通常由數據結構,數據操作和完整性約束三部分組成.
面向對象模型
用面向對象觀點來描述現實世界實體的邏輯結構,對象間限制,聯繫等的模型.
數據的規範化
函數依賴
函數依賴:設R(U)是屬性U上的一個關係模式,X和Y是U的子集,r是R的任一關係,如果對於r中的任意兩個元祖u和v,只要有u[X]=v[X],則稱X函數決定Y,或稱Y函數依賴於X,記爲X→Y.
關係數據庫設計理論的核心就是數據間的函數依賴.
範式
- 第一範式1NF:如果關係模式R的麼個關係r的屬性值都是不可分的原子值,那麼稱R是第一範式的模式,r是規範化的關係.
- 第二範式2NF:如果關係模式R是1NF,且每個非主屬性完全函數依賴於候選鍵(消除部分函數依賴),那麼稱R是2NF模式.
- 第三範式3NF:如果關係模式R是1NF,且每個非主屬性都不傳遞依賴於R的候選鍵(消除傳遞函數依賴),那麼稱R是3NF.
- BC範式BCNF:如果關係模式R是1NF,且每個屬性都不傳遞函數依賴於R的候選鍵,那麼稱R是BCNF模式.
BCNF⊂3NF⊂2NF⊂1NF.
事務管理
事務是用戶定義的一個數據庫操作序列,這些操作序列要麼全做,要麼全都不做,是一個不可分割的工作單位.
事務的四個特性(ACID):
- 原子性:事務的所有操作在數據庫中要麼全做,要麼全都不做.
- 一致性:事務的執行使數據庫從一個一致性狀態變成另一個一致性狀態.
- 隔離性:一個事務的執行不能被其他事務干擾.
- 持續性/永久性:指一個事務一旦提交,它對數據庫的改動必須是永久的,即使系統出現故障時也是如此.
併發控制
併發控制可以保證數據庫的完整性不收破壞,同時避免用戶得到不正確的數據.
併發控制的主要技術是封鎖,主要有兩種類型的封鎖:X封鎖(排他)和S封鎖(共享).
數據庫的備份和恢復
備份(轉儲)與恢復
備份是指通過數據轉儲和監理日誌文件的方法監理冗餘數據,這些備用數據稱爲後備副本.
恢復是指把數據庫從錯誤狀態恢復到一個已知的正確狀態的功能.
備份分類
- 靜態備份:指備份期間不允許對數據庫進行任何存取,修改活動.
- 動態備份:指備份期間允許動數據庫進行存取或修改.
- 海量備份/完全備份/全量備份:指每次備份全部數據庫.
- 差異備份/差量備份:備份上一次的全量備份後發生變化的所有數據.
- 增量備份:指每次只備份上次備份後更新過的數據.
星期日 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 |
---|---|---|---|---|---|---|
全量備份 | 增量備份 | 增量備份 | 增量備份 | 差異備份 | 增量備份 | 增量備份 |
數據庫的四類故障
數據庫的四類故障:事務故障,系統故障,介質故障,計算機病毒.
關係數據庫設計
數據庫設計:是指對一個給定的應用環境,構造最優的數據庫,建立數據庫及其應用系統,使之能有效地存儲數據,滿足各種用戶的需求.
數據庫設計的特點:從數據結構開始,並以之爲核心展開;靜態結構設計與動態結構設計分離;試探性;反覆性;多步性.
數據庫設計方法:直觀設計法,規範設計法,計算機輔助設計法,自動化設計法.
數據庫設計步驟:需求分析,概念結構設計,邏輯結構設計,物理結構設計,應用程序設計,運行維護.
分佈式數據庫系統
分佈式數據庫系統DDBS:針對地理上分散而管理上有需要不同程度集中管理的需求,而提出的一種數據管理信息系統.
分佈式數據庫系統的特點:數據的集中控制性,數據獨立性,數據冗餘可控性,場地自治性,存取有效性.
分佈式數據庫的體系結構:全局外層,全局概念層,局部概念層,局部分層.
商業智能BI
商業智能BI是企業對商業數據的蒐集,管理和分析的系統過程,目的是使企業的各級決策者獲得知識或洞察力,幫助他們做出對企業更有利的決策.一般認爲數據倉庫,聯機分析處理OLAP和數據挖掘是商業智能的三大組成部分.
數據倉庫是一個面向主題的,集成的,相對穩定且隨時間變化的數據集合,用於支持管理決策.
數據倉庫的關鍵特徵是:面向主題,集成的,非易失的,時變的.
比較項目 | 傳統數據庫 | 數據倉庫 |
---|---|---|
數據內容 | 當前值 | 歷史的,歸檔的,歸納的,計算的數據(處理過的) |
數據目標 | 面向業務操作程序,重複操作 | 面向主體域,分析應用 |
數據特性 | 動態變化,更新 | 靜態,不能直接更新,只能定時添加,更新 |
數據結構 | 高度結構化,複雜,適合操作計算 | 簡單,適合分析 |
使用頻率 | 高 | 低 |
數據訪問量 | 每個事務一般只訪問少量記錄 | 每個事務一般訪問大量記錄 |
對響應時間的要求 | 計時單位小 | 計時單位相對較大 |
OLTP與OLAP的比較:OLTP即聯機事務處理,OLAP即聯機分析處理,是數據倉庫的核心部分.區別如下:
項目 | OLTP | OLAP |
---|---|---|
用戶 | 操作人員,低層管理人員 | 決策人員,高級管理人員 |
功能 | 日常操作處理 | 分析決策 |
DB設計 | 面向應用 | 面向主題 |
數據 | 當前的,最新的,細節的,二維的分立的 | 歷史的,聚集的,多維的,集成的,統一的 |
存取 | 讀/寫數十條記錄 | 讀上百萬條記錄 |
工作單位 | 簡單的事務 | 複雜的查詢 |
用戶數 | 上千個 | 上百個 |
DB大小 | 100MB至GB級 | 100GB至TB級 |
數據挖掘與傳統數據分析的區別:數據挖掘是在沒有明確假設的前提下去挖掘信息,發現知識.數據挖掘得到的信息應具有先知,有效和可實用三個特徵.