1. 程式人生 > 其它 >資料庫基礎知識整理

資料庫基礎知識整理

資料庫基礎

五個基本的關係代數操作:並、差、笛卡爾積、選擇、投影

https://images2015.cnblogs.com/blog/711762/201609/711762-20160927102253766-615053468.png

完整性

  1. 實體完整性:要求每個關係(表)有且僅有一個主鍵,每一個主鍵值必須唯一,而且不允許為“空”(NULL)或重複。

主鍵

  1. 參照完整性:對於永久關係的相關表,在更新、插入或刪除記錄時,如果只改其一,就會影響資料的完整性。如刪除父表的某記錄後,子表的相應記錄未刪除,致使這些記錄稱為孤立記錄。對於更新、插入或刪除表間資料的完整性。

外來鍵

  1. 自定義完整性

事務

1、什麼是事務

事務是資料庫併發控制的基本單位,可以看作是一系列SQL語句的集合

事務必須要麼全部執行成功,要麼全部執行失敗(回滾)

比如從A轉賬到B 100元,A-100,B+100如果B執行失敗,A的操作不能憑空減少100,故進行回滾操作

2、事務的ACID四個特性:

  • 事務的原子性(Atomicity)是指一個事務要麼全部執行,要麼不執行。也就是說一個事務不可能只執行了一半就停止了。比如你從銀行取錢,這個事務可以分成兩個步驟(1)存摺減款,(2)拿到現金。不可能存摺錢少了,而錢卻沒拿出來。這兩步必須同時完成,要麼就都不完成。

  • 事務的一致性(consistency)是指事務的執行並不改變資料庫中資料的一致性。例如,完整性約束了a+b=10,一個事務改變了a,那麼b也應該隨之改變。

  • 事務的獨立性(或隔離性Isolation:隔離性指的是事務間是相互獨立的,不會互相影響)是指兩個以上的事務不會出現交錯執行的狀態。因為這樣可能會導致資料不一致。

  • 事務的永續性(Durability)是指事務執行成功以後,就係統的更新是永久的。不會無緣無故的回滾。

函式依賴

  1、主碼:又稱為主鍵、主關鍵字,注意:主碼是個能夠唯一標識一條記錄的最小屬性集(是從候選碼里人為挑選的一條)

  2、關鍵字:又稱為候選碼;

 3、候選關鍵字:候選碼去掉主碼剩下的部分即為候選關鍵字;

  4、碼=超鍵:唯一標識實體的屬性或屬性組合;

依賴基本

  這裡我選擇使用我理解的方式用盡可能通俗的方式解釋一下

完全函式依賴:碼A完全依賴碼B,則無論碼B中有多少個屬性,不能存在碼B拆除了一部分還能決定碼A的情況;

部分函式依賴:與完全函式依賴對應,就是碼A依賴碼B,把碼B拆吧拆吧還能攢出來一個決定碼A的小碼B;

傳遞函式依賴:就是碼A依賴碼B,碼C依賴碼A,

       類似這種可以接起來的情況:

       B—> A, A —>C

       如果A不決定B,那麼就滿足傳遞函式依賴(A決定B就變成直接依賴了)

關係正規化基本概念

  1NF:屬性不可拆分——所有關係資料庫中的關係都要滿足第一正規化

  2NF:在第一正規化基礎上,

     非主屬性完全依賴主鍵(主碼),即消除非主屬性部分函式依賴;

  3NF:在第二正規化基礎上,

     非主屬性不存在傳遞依賴候選鍵;

  BCNF:在第三正規化基礎上,

     主屬性也消除掉傳遞依賴,即所有屬性都不存在傳遞依賴;