開發(fā)者必備之常見面試題整理——數(shù)據(jù)庫篇

常見的數(shù)據(jù)庫面試題有哪些

(一)什么是存儲過程?有哪些優(yōu)缺點氛悬?

存儲過程是一些預編譯的SQL語句则剃。

更加直白的理解:存儲過程可以說是一個記錄集耘柱,它是由一些T-SQL語句組成的代碼塊,這些T-SQL語句代碼像一個方法一樣實現(xiàn)一些功能(對單表或多表的增刪改查)棍现,然后再給這個代碼塊取一個名字调煎,在用到這個功能的時候調用他就行了。

存儲過程是一個預編譯的代碼塊己肮,執(zhí)行效率比較高

一個存儲過程替代大量T_SQL語句 士袄,可以降低網絡通信量,提高通信速率

可以一定程度上確保數(shù)據(jù)安全


(二)索引是什么谎僻?有什么作用以及優(yōu)缺點娄柳?

索引是對數(shù)據(jù)庫表中一或多個列的值進行排序的結構,是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結構

你也可以這樣理解:索引就是加快檢索表中數(shù)據(jù)的方法戈稿。數(shù)據(jù)庫的索引類似于書籍的索引西土。在書籍中,索引允許用戶不必翻閱完整個書就能迅速地找到所需要的信息鞍盗。在數(shù)據(jù)庫中需了,索引也允許數(shù)據(jù)庫程序迅速地找到表中的數(shù)據(jù),而不必掃描整個數(shù)據(jù)庫般甲。

MySQL數(shù)據(jù)庫幾個基本的索引類型:普通索引肋乍、唯一索引、主鍵索引敷存、全文索引

索引加快數(shù)據(jù)庫的檢索速度

索引降低了插入墓造、刪除、修改等維護任務的速度

唯一索引可以確保每一行數(shù)據(jù)的唯一性

通過使用索引锚烦,可以在查詢的過程中使用優(yōu)化隱藏器觅闽,提高系統(tǒng)的性能

索引需要占物理和數(shù)據(jù)空間?


(三)什么是事務?

事務(Transaction)是并發(fā)控制的基本單位涮俄。所謂的事務蛉拙,它是一個操作序列,這些操作要么都執(zhí)行彻亲,要么都不執(zhí)行孕锄,它是一個不可分割的工作單位。事務是數(shù)據(jù)庫維護數(shù)據(jù)一致性的單位苞尝,在每個事務結束時畸肆,都能保持數(shù)據(jù)一致性。


(四)數(shù)據(jù)庫的樂觀鎖和悲觀鎖是什么宙址?

數(shù)據(jù)庫管理系統(tǒng)(DBMS)中的并發(fā)控制的任務是確保在多個事務同時存取數(shù)據(jù)庫中同一數(shù)據(jù)時不破壞事務的隔離性和統(tǒng)一性以及數(shù)據(jù)庫的統(tǒng)一性轴脐。

樂觀并發(fā)控制(樂觀鎖)和悲觀并發(fā)控制(悲觀鎖)是并發(fā)控制主要采用的技術手段。

悲觀鎖:假定會發(fā)生并發(fā)沖突豁辉,屏蔽一切可能違反數(shù)據(jù)完整性的操作

樂觀鎖:假設不會發(fā)生并發(fā)沖突令野,只在提交操作時檢查是否違反數(shù)據(jù)完整性舀患。


(五) 使用索引查詢一定能提高查詢的性能嗎徽级?為什么

通常,通過索引查詢數(shù)據(jù)比全表掃描要快.但是我們也必須注意到它的代價.

索引需要空間來存儲,也需要定期維護, 每當有記錄在表中增減或索引列被修改時,索引本身也會被修改. 這意味著每條記錄的INSERT,DELETE,UPDATE將為此多付出4,5 次的磁盤I/O. 因為索引需要額外的存儲空間和處理,那些不必要的索引反而會使查詢反應時間變慢.使用索引查詢不一定能提高查詢性能,索引范圍查詢(INDEX RANGE SCAN)適用于兩種情況:

基于一個范圍的檢索,一般查詢返回結果集小于表中記錄數(shù)的30%

基于非唯一性索引的檢索


(六)簡單說一說drop低匙、deletetruncate的區(qū)別

SQL中的drop旷痕、delete强重、truncate都表示刪除绞呈,但是三者有一些差別

delete和truncate只刪除表的數(shù)據(jù)不刪除表的結構

速度,一般來說:?drop> truncate >delete?

delete語句是dml,這個操作會放到rollback segement中,事務提交之后才生效;

如果有相應的trigger,執(zhí)行的時候將被觸發(fā).?truncate,drop是ddl, 操作立即生效,原數(shù)據(jù)不放到rollback segment中,不能回滾. 操作不觸發(fā)trigger.?


(七)drop、deletetruncate分別在什么場景之下使用间景?

不再需要一張表的時候佃声,用drop

想刪除部分數(shù)據(jù)行時候,用delete倘要,并且?guī)蟱here子句

保留表而刪除所有數(shù)據(jù)的時候用truncate


(八) 超鍵圾亏、候選鍵、主鍵封拧、外鍵分別是什么志鹃?

超鍵:在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。一個屬性可以為作為一個超鍵泽西,多個屬性組合在一起也可以作為一個超鍵曹铃。超鍵包含候選鍵和主鍵。

候選鍵:是最小超鍵尝苇,即沒有冗余元素的超鍵铛只。

主鍵:數(shù)據(jù)庫表中對儲存數(shù)據(jù)對象予以唯一和完整標識的數(shù)據(jù)列或屬性的組合。一個數(shù)據(jù)列只能有一個主鍵糠溜,且主鍵的取值不能缺失淳玩,即不能為空值(Null)。

外鍵:在一個表中存在的另一個表的主鍵稱此表的外鍵非竿。


(九)什么是視圖蜕着?以及視圖的使用場景有哪些?

視圖是一種虛擬的表,具有和物理表相同的功能承匣”统耍可以對視圖進行增,改韧骗,查嘉抒,操作,試圖通常是有一個表或者多個表的行或列的子集袍暴。對視圖的修改不影響基本表些侍。它使得我們獲取數(shù)據(jù)更容易,相比多表查詢政模。

只暴露部分字段給訪問者岗宣,所以就建一個虛表,就是視圖淋样。

查詢的數(shù)據(jù)來源于不同的表耗式,而查詢者希望以統(tǒng)一的方式查詢,這樣也可以建立一個視圖趁猴,把多個表查詢結果聯(lián)合起來刊咳,查詢者只需要直接從視圖中獲取數(shù)據(jù),不必考慮數(shù)據(jù)來源于不同表所帶來的差異


(十)說一說三個范式躲叼。

第一范式(1NF):數(shù)據(jù)庫表中的字段都是單一屬性的芦缰,不可再分。這個單一屬性由基本類型構成枫慷,包括整型让蕾、實數(shù)、字符型或听、邏輯型探孝、日期型等。

第二范式(2NF):數(shù)據(jù)庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數(shù)依賴(部分函數(shù)依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況)誉裆,也即所有非關鍵字段都完全依賴于任意一組候選關鍵字顿颅。?

第三范式(3NF):在第二范式的基礎上,數(shù)據(jù)表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函數(shù)依賴則符合第三范式足丢。所謂傳遞函數(shù)依賴粱腻,指的是如 果存在"A → B → C"的決定關系,則C傳遞函數(shù)依賴于A斩跌。因此绍些,滿足第三范式的數(shù)據(jù)庫表應該不存在如下依賴關系: 關鍵字段 → 非關鍵字段 x → 非關鍵字段y

需要面試題匯總可以加一下QQ:1547737063即可免費獲取

附加java開發(fā)的資料(面試資源與經驗總結,Dubbo耀鸦、Redis柬批、設計模式、Netty、zookeeper氮帐、Spring cloud嗅虏、分布式、高并發(fā)等架構技術視頻教程資料,架構思維導圖上沐,以及面試資料皮服,了解最新的學習動態(tài);了解最新的阿里奄容、京東招聘資訊)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末冰更,一起剝皮案震驚了整個濱河市产徊,隨后出現(xiàn)的幾起案子昂勒,更是在濱河造成了極大的恐慌,老刑警劉巖舟铜,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戈盈,死亡現(xiàn)場離奇詭異,居然都是意外死亡谆刨,警方通過查閱死者的電腦和手機塘娶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痊夭,“玉大人刁岸,你說我怎么就攤上這事∷遥” “怎么了虹曙?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長番舆。 經常有香客問我酝碳,道長,這世上最難降的妖魔是什么恨狈? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任疏哗,我火速辦了婚禮,結果婚禮上禾怠,老公的妹妹穿的比我還像新娘返奉。我一直安慰自己,他們只是感情好吗氏,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布芽偏。 她就那樣靜靜地躺著,像睡著了一般牲证。 火紅的嫁衣襯著肌膚如雪哮针。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音十厢,去河邊找鬼等太。 笑死,一個胖子當著我的面吹牛蛮放,可吹牛的內容都是我干的缩抡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼包颁,長吁一口氣:“原來是場噩夢啊……” “哼瞻想!你這毒婦竟也來了?” 一聲冷哼從身側響起娩嚼,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蘑险,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后岳悟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佃迄,經...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年贵少,在試婚紗的時候發(fā)現(xiàn)自己被綠了呵俏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡滔灶,死狀恐怖普碎,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情录平,我是刑警寧澤麻车,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站萄涯,受9級特大地震影響绪氛,放射性物質發(fā)生泄漏。R本人自食惡果不足惜涝影,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一枣察、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧燃逻,春花似錦序目、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姆怪,卻和暖如春叛赚,著一層夾襖步出監(jiān)牢的瞬間澡绩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工俺附, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肥卡,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓事镣,卻偏偏與公主長得像步鉴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子璃哟,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容