數據庫面試題:2012年常見的數據庫面試題
1. 數據抽象:物理抽象、概念抽象、視圖級抽象,內模式、模式、外模式
2. SQL語言包括數據定義、數據操縱(Data Manipulation),數據控制(Data Control)
數據定義:Create Table,Alter Table,Drop Table, Craete/Drop Index等
數據操縱:Select ,insert,update,delete,
數據控制: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,…);//插入視圖實際影響表
UPDATE tablename SET name=’zang 3’ condition;//更新數據
DELETE FROM Tablename WHERE condition;//刪除
GRANT (Select,delete,…) ON (對象) TO USER_NAME [WITH GRANT OPTION];//授權
REVOKE (權限表) ON(對象) FROM USER_NAME [WITH REVOKE OPTION] //撤權
列出工作人員及其領導的名字:
Select E.NAME, S.NAME FROM EMPLOYEE E S
WHERE E.SUPERName=S.Name
4. 視圖:
5. 完整性約束:實體完整性、參照完整性、用戶定義完整性
6. 第三范式:
1NF:每個屬性是不可分的。 2NF:若關系R是1NF,且每個非主屬性都完全函數依賴於R的鍵。例SLC(SID#, CourceID#, SNAME,Grade),則不是2NF; 3NF:若R是2NF,且它的任何非鍵屬性都不傳遞依賴於任何候選鍵。
7. ER(實體/聯系)模型
8. 索引作用
9. 事務:是一系列的數據庫操作,是數據庫應用的基本邏輯單位。事務性質:原子性、
原子性。即不可分割性,事務要麼全部被執行,要麼就全部不被執行。
一致性或可串性。事務的執行使得數據庫從一種正確狀態轉換成另一種正確狀態
隔離性。在事務正確提交之前,不允許把該事務對數據的任何改變提供給任何其他事務,
持久性。事務正確提交後,其結果將永久保存在數據庫中,即使在事務提交後有了其他故障,事務的處理結果也會得到保存。
10. 鎖:共享鎖、互斥鎖
兩段鎖協議:階段1:加鎖階段 階段2:解鎖階段
11. 死鎖及處理:事務循環等待數據鎖,則會死鎖。
死鎖處理:預防死鎖協議,死鎖恢復機制
12. 存儲過程:存儲過程就是編譯好了的一些sql語句。
a.存儲過程因為SQL語句已經預編繹過了,因此運行的速度比較快。
b. 可保證數據的安全性和完整性。通過存儲過程可以使沒有權限的用戶在控制之下間接地存取數據庫,從而保證數據的安全。通過存儲過程可以使相關的動作在一起發生,從而可以維護數據庫的完整性。
c.可以降低網絡的通信量。存儲過程主要是在服務器上運行,減少對客戶機的壓力。
d:存儲過程可以接受參數、輸出參數、返回單個或多個結果集以及返回值。可以向程序返回錯誤原因
e:存儲過程可以包含程序流、邏輯以及對數據庫的查詢。同時可以實體封裝和隱藏了數據邏輯。
13. 觸發器: 當滿足觸發器條件,則系統自動執行觸發器的觸發體。
觸發時間:有before,after.觸發事件:有insert,update,delete三種。觸發類型:有行觸發、語句觸發
14.內聯接,外聯接區別?
內連接是保證兩個表中所有的行都要滿足連接條件,而外連接則不然。
在外連接中,某些不滿條件的列也會顯示出來,也就是說,只限制其中一個表的行,而不限制另一個表的行。分左連接、右連接、全連接三種。
更多關於數據庫的知識點,請登入數據庫常見問題知識講解; http://./sql.aspx