資料庫面試

2021-09-25 04:51:10 字數 1916 閱讀 6965

1,第一正規化   (原子性)

2,第二正規化,消除非主屬性對主碼的部分依賴,(每乙個非主屬性都完全依賴於主鍵)

3,第三正規化,消除傳遞依賴

經實踐,id=8

三,如何獲取當前資料庫版本?

原子性(atomicity)、一致性(consistency)、隔離性(isolation)、永續性(durability)

原子性:事物中,多個操作,不可分割,要麼成功,要麼失敗

一致性:指在事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。這是說資料庫事務不能破壞關係資料的完整性以及業務邏輯上的一致性。

隔離性 : 多個事務併發訪問時,事務之間是隔離的,乙個事務不應該影響其它事務執行效果。隔離級別一般做到read commited

char是一種固定長度型別,適應於手機號,身份證號碼等等固定長度,vachar是邊長的,適合用在長度可變的屬性。

內連線 (inner join )顯示符合條件的記錄,即只顯示有效數值

select xs.學號, xs.姓名 ,xscj.xs_kc.成績 from xscj.xsqk  xs inner join xscj.xs_kc on

xs.學號=xscj.xs_kc.學號 ;

結果只顯示了選了課的學生的成績,沒選課的沒顯示出來

外連線(left(outer)join) 左外連線,用於顯示符合條件的資料行以及左邊表中不符合條件的資料行。此時右邊的資料行會以null顯示。

select xs.學號, xs.姓名 ,xscj.xs_kc.成績 from xscj.xsqk  xs left join xscj.xs_kc on

xs.學號=xscj.xs_kc.學號 ;

沒選課的學生都顯示出來了,沒有選課的學生成績會以null顯示

右連線(right (outer) join) 右外連線,用於顯示符合條件的資料行以及右邊表中不符合條件的資料行。此時左邊資料行會以null顯示。

select xs.學號, xs.姓名 ,xscj.xs_kc.成績 from xscj.xsqk  xs right join xscj.xs_kc on

xs.學號=xscj.xs_kc.學號 ;

所有含有成績的學生都會顯示出來。因為都含有成績,所以坐表不會有空的。

事物的隔離級別

型別髒讀

不可重複讀

幻讀未提交讀(read uncommitted)是是

是已提交讀(read committed)否是

是可重複讀(repeatable read)否否

序列化(serializable)否否

否髒讀:讀到事物未提交的資料。(萬一回滾,資料就是無效的了)

不可重複讀:兩次讀之間有別的事物修改。

幻讀:兩次讀之間有別的事物增刪。

為什麼出現髒讀:因為select操作沒有規矩

為什麼出現不可重複讀:因為update操作沒有規矩 

為什麼出現幻讀:因為insert和delete沒有規矩

樂觀鎖:

update product set count=20 where productid = 2 and count=21

通過版本號

讀取資料,記錄tempstamp

修改資料

檢查和提交資料

通過樂觀鎖,tempstamp,通過版本號

面試資料庫

一步步分析為什麼b 樹適合作為索引的結構 面試官問你b樹和b 樹,就把這篇文章丟給他 演算法和資料結構 十 平衡查詢樹之b樹 單純地看比較次數的話,二叉查詢樹和b樹差不多,甚至可能二叉查詢樹比較次數更少。在把磁碟裡的資料載入到記憶體中的時候,是以頁為單位來載入的,而我們也知道,節點與節點之間的資料是...

面試資料庫方面

拆分資料庫有以下優點 1.便於資料備份,拆分後的資料庫,只需要備份後端資料庫就行了。2.便於程式公升級與維護,當主程式功能改進時,只需要替換前端程式就行了。垂直 縱向 拆分 是指按功能模組拆分,比如分為訂單庫 商品庫 使用者庫.這種方式多個資料庫之間的表結構不同。水平 橫向 拆分 將同乙個表的資料進...

資料庫面試知識

1.資料庫的正規化 正規化 英文名稱是 normal form,它是英國人 e.f.codd 關聯式資料庫的老祖宗 在上個世紀70年代提出關聯式資料庫模型後總結出來的,正規化是關聯式資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可尋的共有8種正規化,依次是 1nf...