1. 程式人生 > 其它 >2.系統架構設計師-資料庫

2.系統架構設計師-資料庫

三級模式兩級對映

資料庫設計過程

需求分析 -> 概念結構設計(ER模型) -> 邏輯結構設計(關係模式) -> 物理設計

ER模型


關係代數


投影可以理解為select、選擇可以理解為where。

聯接可以理解為inner join。

規範化理論

函式依賴

價值與用途


多個屬性組成的超鍵(學號、性別)可以唯一標識元組 -> 去掉多餘屬性稱為侯選鍵(學號) ->任選一個外來鍵成為主鍵(學號或者身份證號都可以成為主鍵,但是隻能有個一個成為主鍵)

正規化

第一正規化

不可分割

去掉高階職稱人數即可滿足第一正規化(高階職稱可以拆分為教授和副教授)

第二正規化

滿足第一正規化的情況下,每一個非主屬性完全依賴主鍵。

課程學分不完全依賴主鍵(課程學分依賴課程號)所以不滿足第二正規化,會出現資料冗餘、更新異常、插入異常、刪除異常。只需要把課程號和課程學分單獨拆出來組成一個表即可。

第三正規化


達到第二正規化,消除主屬性對侯選建的傳遞依賴。

BCNF正規化

模式分解


無損分解練習

適合一分為二的方法:交集部是主鍵,能推算出某一個關係模式的全部.

併發控制

併發產生的問題

併發產生丟失更新、不可重複度、髒讀等問題。

封鎖協議

為了解決併發產生的問題,提出了封鎖協議。

一級封鎖協議:加X排他鎖。(防止丟失更新)
二級封鎖協議:在一級基礎上,在讀取前加S共享鎖。(防止丟失更新、髒資料)
三級封鎖協議:在一級基礎上,在讀取前加S共享鎖,直到事務結束(事務中可能讀取多次)。(防止丟失更新、髒資料、不可重複讀)

資料庫完整性約束


實體完整性約束:不能為空、不能重複(主鍵)。
參照性完整性約束:要求填入的資料為對應表的主鍵的資料,可以為空(外來鍵)。
使用者自定義完整性約束:對資料進行自定義設定,如年齡、性別。

資料庫安全

資料備份



分散式資料庫體系結構


資料庫優化

資料倉庫與資料探勘

聯邦資料庫

聯邦資料庫區別於分散式資料庫,聯邦自治程度高,各個系統自治性比較高,只需要用公共標準的統一介面互動就可以了。

NoSQL


反規範化技術

大資料

如果這篇文章對你有用,麻煩關注一下本人微信公眾號~