Java基礎面試題(15)----資料庫介紹和三正規化
阿新 • • 發佈:2018-12-13
問題
- 資料庫介紹
- 資料庫遵循那些規則
- 事物的特徵
解析
1. 資料庫介紹
簡單的說,資料庫(英文Dtabase)就是一個存放資料的倉庫,這個倉庫是按照一定的資料結構來組織、儲存的。而各種資料庫之間根據不同的儲存方式,也有不同點用處。
2.資料庫分類
有一種分類方式是將資料路分成關係型資料庫和非關係型資料庫: 關係型資料庫模型是把複雜的資料結構歸結為簡單的二元關係(即二維表格形式)。常見資料庫
- 關係行資料庫:保持資料一致性方面很強,ACID理論 MySQL,Oracle
- 非關係型資料庫:高效能、高併發、對資料一致性要求不高 redis, mongdb等
3.關係資料庫三正規化
- 第一正規化 列資料不可分割 指的是資料庫表的每一列都是不可分割的基本資料項,同一列資料不能有多個值,即實體中的某個屬性不能有多個值或者重複的值
- 第二正規化 有主鍵 要求資料庫表中的每個行都必須可以被唯一的區分,為實現區分,通常需要位表加上一個列作為住鍵,是儲存各個例項的唯一標識
- 第三正規化 要求一個數據庫表中不包含一再其他表中已經包含的非關鍵字資訊(主鍵)
這些情況有時候也會例外,有時候為了提高查詢的效率,我們可以設定重複的欄位,比如訂單表和訂單詳情表,單個訂單的總價和訂單中每個商品詳情價格。
4. 事物的特徵
事務是併發控制的單位,是使用者定義的一些列操作,這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。比如銀行轉賬的業務就是個事務,不能出現這邊錢轉出去了,另一邊沒有收到的情況
5. 事務的四個特徵:
- 原子性:事物內部操作不可分割,是執行的最小單元
- 一致性:事務執行要麼都成功,要麼都失敗。如果執行失敗了可以進行事務的回滾
- 隔離性:不通過的事務之間不會相互干擾
- 永續性:表示事務開始了就不能停止。