資料庫系統
資料庫系統
三級模式
兩級對映:
物理資料庫:一般表現為一個檔案
內模式:管理資料如何儲存(如何優化/儲存格式)
概念模式:資料空中的表
外模式:檢視(將表的部分資訊展示給使用者)
資料庫設計過程
E-R模型
整合的方法:
多個區域性E-R圖一次整合。
逐步整合,用累加的方式一次整合兩個區域性E-R.
整合產生的衝突及解決辦法:
①屬性衝突: 包括屬性域衝突和屬性取值衝突。
②命名衝突:包括同名異義和異名同義。
③結構衝突:包括同一物件在不同應用中具有不同的抽象,以及同一實體在不同區域性E-R圖中所包含的屬性個數和屬性排列次序不完全相同。
E-R模型轉關係模式注意點:
①一個實體型轉換為一個關係模式
②聯絡有三種1:1、1:n、m:n
I、當1:1時可以將聯絡單獨做一個關係模式,也可以將聯絡記錄到與它相關的任何一個實體裡面當一個屬性。
II、當1:n的可以將聯絡單獨做一個關係模式、或只能加入到n的那個實體裡面噹噹一個屬性。
III、當m:n的時候就只能轉為一個關係模式
③三個以上實體間的一個多元聯絡,聯絡只能轉為一個關係模式。
關係代數
對A、B兩個集合進行討論
①並(∪):A、B合併,重複的只顯示一次。
②交(∩):提出A、B公共部分。
③差(-):去掉被減集合的公佈部分,即A-B=A-(A∩B)。
④笛卡爾積(X):每個A的欄位都要和B的拼接
eg: A:
x | Y |
---|---|
x1 | y1 |
x2 | y2 |
B:
X | Y |
---|---|
X3 | y3 |
x4 | y4 |
AxB:
A.X | A.Y | B.X | B.Y |
---|---|---|---|
x1 | y1 | x3 | y3 |
x1 | y1 | x4 | y4 |
x2 | y2 | x3 | y3 |
x2 | y2 | x4 | y4 |
⑤投影(選列的一種操作):選擇某一列顯示出來。
eg:Πx(A):
x |
---|
x1 |
x2 |
⑥選擇(選行的一種操作):選擇某一行顯示出來。
eg:σx=x1(A):
x | Y |
---|---|
x1 | y1 |
⑦聯結:連線後,若相同的列名就保留一個。(帶列明的連線是等值連線,沒帶列明的是自然連線)
eg:A⋈B:
x | Y |
---|---|
x1 | y1 |
x2 | y2 |
X3 | y3 |
x4 | y4 |
規範化理論
規範化的概念
規範化就是消除資料冗餘、更新異常,插入異常、刪除異常。
函式依賴
如Y=X2,我們可以通過X的值得到Y的值,那麼就就稱X函式決定Y,或Y函式依賴於X,記為X→Y。
①部分函式依賴:我們可以通過AB來確定C,但是我們發現用A/B也可以確定C(依賴於主鍵的一部分)。
②傳遞函式依賴:A可以確定B,B可以確定C,則A可以確定C,但不能逆著確定。
care:候選鍵可以有多個,但是主鍵只能有一個,外來鍵是用於關聯查詢
求候選鍵
圖示法:把一個關係模式化成圖形,將屬性畫作節點,然後標出屬性之間的依賴關係,找出入度為0的節點(如果沒有的話就找即有入度也有出度的節點),然後通過這個結點遍歷全部節點,如果可以遍歷他就是候選鍵。
正規化
當正規化級別越來越高的同時,資料的密度越小,效能會降低,一般第三正規化就夠了。(越高階的正規化,越將資料表拆分的越細)
1NF:在關係模式中,當且僅當所有域只含原子值(每個分量都是不可再分的資料項)
2NF:在滿足1NF的基礎上,每個非主屬性完全依賴主鍵(不存在部分依賴)。
3NF:在滿足1NF的基礎上,沒有非主屬性傳遞依賴。
BCNF:列出一個關係模式中的所有依賴情況,若左邊部分都含有候選鍵則為BCNF。
模式分解
①保持函式依賴:分解前後的函式依賴不變(冗餘函式依賴如果能夠推匯出來也是可以的)。
②無損分解:可以還原
③無損聯接分解:通過連線操作可以還原回原來的表格
④判斷無損分解的公式法(比較多用於一分為二中)
將R分為R1和R2,F是R的函式依賴集
記R1∩R2=A,R1-R2=B,R2-R1=C
若A→B或A→C出現在F中,則為無損。
⑤表法
將分分裂的內容列為下面的表格:
總表應該有的屬性
關係模式名稱1
然後將所有的關係模式帶入到1中,如果可以替換成功就是無損。
反規範化
①為何需要反規範化:
由於規範化會使表不斷的拆分。從而導致資料表過多。這樣雖然減少了資料冗餘,提高了增、刪、改的速度,但會增加查詢的工作量。系統需要進行多次連線,才能進行查詢操作。使得系統效率大大下降
技術手段(規範化的反面):
增加派生性冗餘列
增加冗餘列
重新組表
分割表
care:其實用空間換時間的做法
併發控制
①基本概念:
事務:將多個操作封裝起來看作一個整體
事務特性:原子性(不可拆分)、一致性(類似於能量守恆)、隔離性、持續性
③併發產生的問題:
i、丟失更新:一個使用者的操作事務如果和另外一個使用者的操作事務相同,會將先進行的一方覆蓋掉。
ii、不可重複讀:一個使用者在兩次讀一個事務的時候,中間插入了另外一個使用者對這個事務的寫操作,就會使得第二次讀的時候的資料發生了改變。
iii、讀“髒”資料:一個使用者讀到的資料是另外一個使用者的臨時值。
④封鎖協議:
1級封鎖協議。事務T在修改資料R之前必須先對其加X鎖,直到事務結束才釋放。可防止丟失修改
2級封鎖協議。一級封鎖協議加上事務T在讀取資料R之前先對其加S鎖,讀完後即可釋放S鎖。可防止丟失修改,還可防止讀“髒”資料
3級封鎖協議。一級封鎖協議加上事務T在讀取資料R之前先對其加S鎖,直到事務結束才釋放。可防止丟失修改、防止讀“髒”資料與防止資料重複讀
care:
可序列化:通過加鎖解鎖兩個階段使併發事務<font color=blue>排隊</font>做
兩段鎖協議,可序列化的,可能發生死鎖。
X是排它鎖,只能T讀取修改。
S是共享鎖,只能讀,不能修改。
資料庫
資料庫的完整性約束
①實體完整性約束:給資料表定義主鍵(不可為空/重複)
②參照完整性約束:外來鍵
③使用者自定義完整性約束:使用者設定某一個值的具體要求
④觸發器:遇到複雜的要求,寫指令碼來約束資料庫資料的要求。
資料庫安全
措施 | 說明 |
---|---|
使用者標識和鑑定 | 認證身份,最外層的安全保護措施,可以使用使用者賬戶、口令及隨機數檢驗等方式 |
存取控制 | 對使用者進行授權,包括操作型別(如增刪改查)和資料物件(資料範圍)的許可權 |
密碼儲存和傳輸 | 對遠端終端資訊用密碼傳輸 |
檢視的保護 | 對檢視進行授權 |
審計 | 使用一個專用檔案或資料庫,自動將使用者對資料庫的所在操作記錄下來 |
資料備份
①分類方式1:
冷備份也稱為靜態備份,是將資料庫正常關閉,在停止狀態下,將資料庫的檔案全部備份(複製)下來。
熱備份也稱為動態備份,是利用備份軟體,在資料庫正常執行的狀態下,將資料庫中的資料檔案備份出來。
優點 | 缺點 | |
---|---|---|
冷備份 | 非常快速的備份方法(只需複製檔案) ;容易歸檔(簡單複製即可) ;容易恢復到某個時間點上(只需將檔案再複製回去) ;能與歸檔方法相結合,做資料庫"最佳狀態"的恢復;低度維護,高度安全 | 單獨使用時,只能提供到某一時間點上的恢復;在實施備份的全過程中,資料庫必須要作備份而不能做其他工作;若磁碟空間有限 只能複製到磁帶等其他外部儲存裝置上,速度會很慢;不能按表或按使用者恢復 |
熱備份 | 可在表空間或資料庫檔案級備份,備份的時間短;備份時資料庫仍可使用;可達到秒級恢復(恢復到某- -時間點上) ;可對幾乎所有資料庫實體做恢復;恢復是快速的 | 不能出錯,否則後果嚴重;若熱備份不成功所得結果不可用於時間點的恢復;因難於維護,所以要特別小心,不允許“以失敗告終” |
②分類方式2:
Ⅰ、完全備份:備份所有資料
Ⅱ、差量備份:僅備份上一次完全備份之後變化的資料
Ⅲ、增量備份:備份上次備份之後變化的資料(恢復很麻煩,如果出錯,就要全面的重新恢復)
(1)靜態海量轉儲:在系統中無執行事務時進行,每次轉儲全部資料庫。
(2)靜態增量轉儲:在系統中無執行事務時進行,每次只轉儲上一次轉儲後更新過的資料。
(3)動態海量轉儲:轉儲期間允許對資料庫進行存取或修改,每次轉儲全部資料庫。
(4)動態增量轉儲:轉儲期間允許對資料庫進行存取或修改,每次只轉儲上一次轉儲後更新過的資料。
Ⅳ、日誌檔案:事務日誌是針對資料庫改變所做的記錄,它可以記錄針對資料庫的任何操作,並將記錄結果儲存在獨立的檔案中
資料庫故障與恢復
故障關係 | 故障原因 | 解決方法 |
---|---|---|
事務本身的可預期故障 | 本身邏輯 | 再程式中預先設定Rollback語句 |
事務本身的不可預期故障 | 算術溢位、違反儲存保護 | 由DBMS的恢復子系統通過日誌,撤銷事務對資料的修改,回退到事務初始狀態 |
系統故障 | 系統停止運轉 | 通常使用檢查點法 |
分質故障 | 外存被破壞 | 一般使用日誌重做業務 |
資料倉庫與資料探勘
①資料倉庫(特殊資料庫)特點
面向主題
整合的
相對穩定的(非易失的)
②反映歷史變化(隨著時間變化)
清理:資料格式統一、冗餘資料去除
重新整理:新增
資料集市:小的資料倉庫
③資料探勘:發現人類無法發現的資料分析(類似於大資料)
Ⅰ、方法:
決策樹
神經網路
遺傳演算法
關聯規則挖掘演算法
Ⅱ分類:
關聯分析:挖掘出隱藏在資料間的相互關係。
序列模式分析:側重點是分析資料間的前後關係(因果關係)。
分類分析:為每個記錄賦予一個標記再按標記分類。
聚類分析:分類分析法的逆過程。
大資料:對海量資料的處理
比較維度 | 傳統資料 | 大資料 |
---|---|---|
資料量 | GB或TB級 | PB級以上 |
資料分析需求 | 現有資料的分析與檢測 | 深度分析(關聯分析、迴歸分析) |
硬體平臺 | 高階伺服器 | 叢集平臺 |
特點:
高度可擴充套件性
高效能
高度容錯
支援異構環境
較短的分析延遲
易用且開放的介面
較低成本
下相容性