關(guān)于數(shù)據(jù)庫常見筆試面試題
數(shù)據(jù)庫學(xué)習(xí)的過程是使一個(gè)問題由模糊到清晰,再由清晰到模糊的過程。而每次的改變都代表著你又學(xué)到了一個(gè)新的知識(shí)點(diǎn)。下面是小編整理的關(guān)于數(shù)據(jù)庫常見筆試面試題,歡迎大家參考!
數(shù)據(jù)庫基礎(chǔ)
1. 數(shù)據(jù)抽象:物理抽象、概念抽象、視圖級(jí)抽象,內(nèi)模式、模式、外模式
2. SQL語言包括數(shù)據(jù)定義、數(shù)據(jù)操縱(Data Manipulation),數(shù)據(jù)控制(Data Control)
數(shù)據(jù)定義:Create Table,Alter Table,Drop Table, Craete/Drop Index等
數(shù)據(jù)操縱:Select ,insert,update,delete,
數(shù)據(jù)控制:grant,revoke
3. SQL常用命令:
CREATE TABLE Student(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(50) NOT NULL);//建表
CREATE VIEW view_name AS
Select * FROM Table_name;//建視圖
Create UNIQUE INDEX index_name ON TableName(col_name);//建索引
INSERT INTO tablename {column1,column2,…} values(exp1,exp2,…);//插入
INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);//插入視圖實(shí)際影響表
UPDATE tablename SET name=’zang 3’ condition;//更新數(shù)據(jù)
DELETE FROM Tablename WHERE condition;//刪除
GRANT (Select,delete,…) ON (對象) TO USER_NAME [WITH GRANT OPTION];//授權(quán)
REVOKE (權(quán)限表) ON(對象) FROM USER_NAME [WITH REVOKE OPTION] //撤權(quán)
列出工作人員及其領(lǐng)導(dǎo)的名字:
Select E.NAME, S.NAME FROM EMPLOYEE E S
WHERE E.SUPERName=S.Name
4. 視圖:
5. 完整性約束:實(shí)體完整性、參照完整性、用戶定義完整性
6. 第三范式:
1NF:每個(gè)屬性是不可分的`。 2NF:若關(guān)系R是1NF,且每個(gè)非主屬性都完全函數(shù)依賴于R的鍵。例SLC(SID#, CourceID#, SNAME,Grade),則不是2NF; 3NF:若R是2NF,且它的任何非鍵屬性都不傳遞依賴于任何候選鍵。
7. ER(實(shí)體/聯(lián)系)模型
8. 索引作用
9. 事務(wù):是一系列的數(shù)據(jù)庫操作,是數(shù)據(jù)庫應(yīng)用的基本邏輯單位。事務(wù)性質(zhì):原子性、
? 原子性。即不可分割性,事務(wù)要么全部被執(zhí)行,要么就全部不被執(zhí)行。
? 一致性或可串性。事務(wù)的執(zhí)行使得數(shù)據(jù)庫從一種正確狀態(tài)轉(zhuǎn)換成另一種正確狀態(tài)
? 隔離性。在事務(wù)正確提交之前,不允許把該事務(wù)對數(shù)據(jù)的任何改變提供給任何其他事務(wù),
? 持久性。事務(wù)正確提交后,其結(jié)果將永久保存在數(shù)據(jù)庫中,即使在事務(wù)提交后有了其他故障,事務(wù)的處理結(jié)果也會(huì)得到保存。
10. 鎖:共享鎖、互斥鎖
兩段鎖協(xié)議:階段1:加鎖階段 階段2:解鎖階段
11. 死鎖及處理:事務(wù)循環(huán)等待數(shù)據(jù)鎖,則會(huì)死鎖。
死鎖處理:預(yù)防死鎖協(xié)議,死鎖恢復(fù)機(jī)制
12. 存儲(chǔ)過程:存儲(chǔ)過程就是編譯好了的一些sql語句。
1.存儲(chǔ)過程因?yàn)镾QL語句已經(jīng)預(yù)編繹過了,因此運(yùn)行的速度比較快。
2. 可保證數(shù)據(jù)的安全性和完整性。通過存儲(chǔ)過程可以使沒有權(quán)限的用戶在控制之下間接地存取數(shù)據(jù)庫,從而保證數(shù)據(jù)的安全。通過存儲(chǔ)過程可以使相關(guān)的動(dòng)作在一起發(fā)生,從而可以維護(hù)數(shù)據(jù)庫的完整性。
3.可以降低網(wǎng)絡(luò)的通信量。存儲(chǔ)過程主要是在服務(wù)器上運(yùn)行,減少對客戶機(jī)的壓力。
4:存儲(chǔ)過程可以接受參數(shù)、輸出參數(shù)、返回單個(gè)或多個(gè)結(jié)果集以及返回值?梢韵虺绦蚍祷劐e(cuò)誤原因
5:存儲(chǔ)過程可以包含程序流、邏輯以及對數(shù)據(jù)庫的查詢。同時(shí)可以實(shí)體封裝和隱藏了數(shù)據(jù)邏輯。
13. 觸發(fā)器: 當(dāng)滿足觸發(fā)器條件,則系統(tǒng)自動(dòng)執(zhí)行觸發(fā)器的觸發(fā)體。
觸發(fā)時(shí)間:有before,after.觸發(fā)事件:有insert,update,delete三種。觸發(fā)類型:有行觸發(fā)、語句觸發(fā)
14.內(nèi)聯(lián)接,外聯(lián)接區(qū)別?
內(nèi)連接是保證兩個(gè)表中所有的行都要滿足連接條件,而外連接則不然。
在外連接中,某些不滿條件的列也會(huì)顯示出來,也就是說,只限制其中一個(gè)表的行,而不限制另一個(gè)表的行。分左連接、右連接、全連接三種
【關(guān)于數(shù)據(jù)庫常見筆試面試題】相關(guān)文章:
4.NIIT認(rèn)證數(shù)據(jù)庫面試題及答案
5.oracle數(shù)據(jù)庫開發(fā)面試題2017