【軟體設計師】資料庫系統
阿新 • • 發佈:2018-11-15
資料庫系統
資料庫三級模式
外模式(使用者級)
使用者與資料庫系統的介面,是使用者用到的那部分資料的描述
概念模式(概念級)
資料庫中全部資料的整體邏輯結構的描述
內模式(物理級)
資料庫在物理儲存方面的描述,包含定義所有的內部資料型別、索引、檔案的組織方式,以及資料控制方面的細節
資料獨立性
外模式-概念:保證資料的邏輯獨立性
概念-內模式:保證資料的物理獨立性
E-R圖
- E-R圖向關係模型轉換的基本方法:
- 一個實體轉換為一個關係模式,實體的屬性就是關係的屬性,實體的識別符號就是關係模式的鍵
- 如果是多個實體之間多對多的聯絡,那麼這個聯絡也要轉換為一個獨立的關係模式,且該關係模式的屬性由各實體的關鍵字和該聯絡自身的屬性組成,關鍵字由各實體的關鍵字組成
- E-R模型建立的一般步驟:
- 確定實體型別
- 確定實體間聯絡型別
- 畫出E-R圖
- 確定實體型別和聯絡型別的屬性
關係代數
元關係:N列;M個元祖:M行記錄
a. 並:R∪S={t|t∈R∨t∈S}
b. 交:R∩S={t|t∈R∧t∈S}
c. 差:R-S={t|t∈R∧t∉S}
d. 笛卡兒積:R×S={(t_r t_s ) ?|t_r∈R?t_s∈S},R×S列=A列+B列,R×S行=A行×B行
e. 投影:選擇列
f. 選擇:選擇行
g. 連線:選擇相同屬性的行,去掉重複列
規範化理論
- 函式依賴:資料依賴指資料之間存在的各種聯絡和約束
候選鍵
候選的主鍵,可以是單列鍵,也可以是複合鍵
- 求候選碼
- 關係模式碼的確定,設關係模式R<U,F>
- 首先應該找出F中所有的決定因素,即找出出現在函式依賴規則中“→”左邊的所有屬性,組成集合U1;
- 再從U1中找出一個屬性或屬性組K,運用Armstrong公理系統及推論1,使得K→U,而K真子集K′→U不成立;這樣就得到了關係模式R的一個候選碼,找遍U1屬性的所有組合,重複過程(2),最終得到關係模式R的所有候選碼
正規化
- 1NF:所有屬性都是不可分的基本資料項
- 2NF:所有非主屬性完全依賴主鍵(不存在部分依賴)
- 3NF:所有非主屬性不依賴其它非主屬性(消除傳遞依賴)
- BCNF:每個屬性都不部分依賴於候選鍵也不傳遞依賴於候選鍵
模式分解
- 保持函式依賴分解(子模式裡滿足依賴關係)
- 無損分解(可以還原):U1∩U2→U1-U2 €F+ 或U1∩U2→U2 -U1€F+
- 有損分解(不能還原)
資料庫保護
併發控制
- 概念:在多使用者共享系統中,許多事務可能同時對同一資料進行操作,稱為“併發操作”
- 併發產生的問題:丟失更新,不可重複讀,讀髒資料
- 封鎖技術:
- 共享鎖(S鎖):又稱讀鎖,若事務T對資料物件A加上S鎖,其他事務只能再對A加S鎖,而不能加X鎖,直到A上所有的S鎖解除
- 排他鎖(X鎖):又稱寫鎖。若事務T對資料物件A加上X鎖,其他事務不能再對A加任何鎖,直到T釋放A上的鎖
- 死鎖問題
完整性控制
- 實體完整性約束
- 參照完整性約束
- 使用者自定義完整性約束
- 觸發器
安全性控制
- 使用者標識和鑑定:最外層的安全保護措施,可以使用使用者賬號、口令及隨機數檢驗等方式
- 存取控制:對使用者進行授權,包含操作型別(如查詢、插入、刪除、修改等動作)和資料物件(主要是資料範圍)的許可權
- 密碼儲存和傳輸:對遠端終端資訊用密碼傳輸
- 檢視的保護:對檢視進行授權
- 審計:使用一個專用檔案或資料庫,自動將使用者對資料庫的所有操作記錄下來
資料庫恢復
- 轉儲
- 登記日誌檔案
資料倉庫與資料探勘
- 資料倉庫:面向主題,整合的,相對穩定的,反應歷史變化
- 資料探勘方法:決策樹,神經網路,遺傳演算法,關聯規則挖掘演算法
- 資料探勘分類:關聯分析,序列模式分析,分類分析,聚類分析
分散式資料庫
- 分片透明:是分佈透明性的最高層次,無需知道邏輯上訪問的表具體是如何分塊儲存的
- 複製透明:無需知道資料庫在網路中各個節點的複製情況
- 位置透明:無需知道資料存放的物理位置
- 區域性資料模型透明(邏輯透明):無需知道使用的是何種資料模型
SQL
--建立檢視的基本語法
--加入 with check option 可以保證通過檢視進行修改
create view view_name as [列...] with check option
--賦予使用者許可權的命令格式
--WITH GRANT OPTION是可選項,表示使用者可以將其許可權通過GRANT語句授權給其它使用者
GRANT 許可權ON 資料庫物件TO 使用者 WITH GRANT OPTION
Armstrong公理系統及推論如下:
自反律:若Y⊆X⊆U,則X→Y為F所邏輯蘊含
增廣律:若X→Y為F所邏輯蘊含,且Z⊆U,則XZ→YZ為F所邏輯蘊含
傳遞律:若X→Y和Y→Z為F所邏輯蘊含,則X→Z為F所邏輯蘊含
合併規則:若X→Y,X→Z,則X→YZ為F所蘊涵
偽傳遞率:若X→Y,WY→Z,則XW→Z為F所蘊涵
分解規則:若X→Y,Z⊆Y,則X→Z為F所蘊涵 ↩︎