1. 程式人生 > 其它 >持久化與持久層

持久化與持久層

1、持久化

資料持久化

  • 持久化就是將程式的資料在持久狀態和瞬時狀態轉化的過程
  • 記憶體:斷電即失
  • 資料庫(jdbc),io檔案持久化
  • 生活:罐頭

為什麼需要持久化?

  • 有一些物件,不能讓它丟失
  • 記憶體太貴

理解:

  • 1.在一定週期內保持不變就是持久化,持久化是針對時間來說的。
  • 2.資料庫中的資料就是持久化了的資料,只要你不去刪除或修改。
  • 3.比如在IE瀏覽器中一次Session會話中Session物件變數也是不變的,是Session容器中持久化。
  • 4.物件持久化的方式有很多種,根據週期不同有,page,Session,Application。
  • 5.物件序列化機制需要將物件的狀態儲存到檔案中,而後能夠通過讀入物件狀態來重新構造物件,恢復程式狀態,
  • 6.物件序列化的過程是物件持久化的方法之一,把物件儲存到檔案中。

2、持久層

dao層 server層 controller層

    1. 將記憶體中的資料儲存到關係型資料庫的過程稱為持久化。
    1. 持久化層的構成

事務(ACID)

  • A:atomicity原子性。一個事務是一個不可分割的工作單位,事務中包括的操作要麼都做,要麼都不做。
  • C: consistency一致性。事務必須是使資料庫從一個一致狀態變到另一個一致性狀態。
  • I: isolation隔離性。一個失誤的執行不能被其他事務干擾。即一個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。
  • D: durability永續性。永續性也稱永久性,指一個事務一旦提交,它對資料庫中的資料的改變就應該是永久性的。
    資料的安全性(遵守約束規則)
    完整性
    資料完整性指資料的精準性和可靠性。它是防止資料庫中存在不符合語義規定的資料和防止因錯誤資訊的輸入輸出造成無效操作或錯誤資訊而提出的。資料完整性分為四類:實體完整性、域完整性、參照完整性、使用者自定義完整性。
  • 物件關係對映(O/R Mapping)的規則
    實體類對映表,實體類的屬性對映表的欄位。
    實體類物件對映表的記錄。
    實體物件的關聯關係對映表的關聯關係。
    三大正規化
    1NF:屬性不能分割
    2NF:在1NF的基礎上,所有屬性都依賴於主鍵屬性(主鍵約束)
    3NF:在2NF的基礎上,將不依賴於主鍵的屬性分離並設定關鍵約束(外來鍵約束)