《系統架構師》——數據庫系統

考點分佈:數據庫

 

三級模式 - 兩級映射安全

 

E-R模型:實體-關係-屬性併發

關係代數:異步

並:兩個模式中直接合併成一個模式,新模式的行數=兩個模式行數之和分佈式

交:兩個模式中全部屬性值完成相同的行函數

差:模式A 與 模式B 之差 = 模式A -(模式A 並 模式B)大數據

笛卡爾積:新模式的行數=兩個模式行數之積,新模式的列包括兩個模式的全部列spa

聯接:根據指定屬性值來聯接兩個模式,組成一個新模式。設計

投影:針對單個模式而言,即選擇指定列出來,做爲一個新模式3d

選擇:針對單個模式而言,容易與投影混淆,選擇出指定列爲指定值的行做爲一個新模式

 

 

 

 

非規範化的關係模式,可能存在數據冗餘、更新異常、插入異常和刪除異常的問題。

 

超鍵:惟一標識元組(能夠存在冗餘)

候選鍵:在超鍵的基礎上消除多餘屬性(應該就是咱們常設計的無冗餘的聯合主鍵),通常一個模式只有一個候選鍵,但也有多個候選鍵的狀況

主鍵:在候選鍵中任選一個(聯合主鍵中的其中一項)

外鍵:其它關係的主鍵

 

函數依賴:

一、徹底函數依賴:其它屬性能夠由超鍵推導,而不能由超鍵中任何一個子集推導,就稱爲徹底函數依賴,從規範上來講是好的設計。

二、部分函數依賴:超鍵中的某一個子集也能推導出其它屬性,就稱爲部分函數依賴,這是咱們須要避免的。(避免了這個就達成了2NF)

三、傳遞函數依賴:超鍵能夠推導出屬性A,屬性A也能夠推導出屬性B,則B傳遞函數依賴於超鍵。(避免了就達成了3NF)

 

 

將 E-R 模型轉換成關係模式時,一個實體都轉換成一個關係模式,1:1聯繫不用單獨轉換成關係模式, 1:n 關係能夠單獨轉換也能夠不轉換,m:n 關係單獨轉換成一個關係模式。

 

求候選鍵的方法:

一、將關係模式按函數依賴關係用有向圖表示

二、找全部入度爲0的結點,遍歷該有向圖,若能遍歷,則這些結點就是候選鍵

三、若是上一步沒法徹底遍歷,則加入一些中間結點,直至能夠遍歷全部結點,則這些結點就是候選鍵。

 

數據庫範式:逐步解決插入異步、刪除異常、數據冗餘

1NF:屬性不可拆分(其實就是避免一個屬性值包括複合數據)

2NF:消除非主屬性對候選鍵的部分依賴(知足徹底函數依賴,對候選鍵去冗餘)

3NF:消除非主屬性對候選鍵的傳遞依賴(消除傳遞依賴,非主屬性只能依賴於主屬性,不能依賴於其它非主屬性)

BCNF:消除主屬性對候選鍵的傳遞依賴(不容許某個主屬性能夠由其它主屬性或非主屬性推導,當只有一個候選鍵時,等同於3NF)

BCNF要側重說明,好比一張關係表爲 (玩家ID,暱稱,物品編號,物品數量),其中暱稱不容許重複。那 (玩家ID,物品編號) ->(暱稱,物品數量),(暱稱,物品編號)->(玩家ID,物品數量),這樣這張關係表就存在兩個候選鍵 (玩家ID,物品編號) 和 (暱稱,物品編號)了,而這裏玩家ID和暱稱做爲主屬性,是能夠被其它屬性推導出來的。這樣就不符合BCNF了。因此,BCNF只有當存在多個候選鍵時才和3NF有所區別。

 

無損分解:我的總結,判斷是否爲無損分解,先將依賴關係中全部入度爲0(即沒法被推導)的屬性做爲一個子模式(若是沒有拆分出這樣的子模式,必定是有損分解,固然有該子模式的超集也是能夠的),在這個子模式基礎上根據依賴關係,若是能推導出全部屬性就是無損分解。

 

併發控制:

封鎖協議

S鎖:共享鎖(share locks),又稱讀鎖,只能夠讀取數據,當某事務對對象加上S鎖以後,其它事務只能對該對象加S鎖,而不能加X鎖,直到全部的S鎖都被釋放。

X鎖:排它鎖(eXclusive lock),又稱寫鎖,能夠讀取和修改數據,當事務對對象加上X鎖以後,其它事務都不能對該對象加任何鎖,直到該X鎖被釋放。

數據庫完整性約束:

一、實體完整性約束

二、參照完整性約束

三、用戶自定義完整性約束

觸發器

 

數據庫安全:

 

 

數據備份:

 

分佈式數據庫的體系結構:

 

分佈式數據庫概念:

 

 

數據倉庫和數據挖掘:

 

聯邦數據庫:

 

NoSQL:

 

反規範化:

 

大數據:

相關文章
相關標籤/搜索