ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分散式資料庫為核心的一組軟體產品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的資料庫之一。下面是關於oracle資料庫開發面試題,希望大家認真閱讀!
1、對資料庫SQL2005、ORACLE熟悉嗎?
SQL2005是微軟公司的資料庫產品。是一個RDBMS資料庫,一般應用在一些中型資料庫的應用,不能跨平臺。
ORACLE是ORACLE公司的資料產品,支援海量資料儲存,支援分散式布暑,支援多使用者,跨平臺,資料安全完整性控制性能優越,是一個ORDBMS,一般用在大型公司。
2、能不能設計資料庫?如何實現資料庫匯入與匯出的更新
使用POWERDISINE工具的使用,一般滿足第三正規化就可以了。EXP與IMP資料庫的邏輯匯入與匯出
3、如何只顯示重複資料,或不顯示重複資料
顯示重複:select * from tablename group by id having count(*)>1
不顯示重複:select * from tablename group by id having count(*)=1
4、什麼是資料庫的對映
就是將資料庫的表與欄位對應到模型層類名與屬性的過程.
5、寫分頁有哪些方法,你一般用什麼方法?用SQL語句寫一個分頁?
如何用儲存過程寫分頁?
在SQLSERVER中使用TOP分頁,在ORACLE中用ROWNUM,或分析函式ROW_NUMBER
使用TOP:
select top 20,n.* from tablename n minus select top 10,m.* from tablename m
使用分析函式:
select * from
(select n.*,row_number() over(order by columnname) num from tablename n)
where num>=10 and num <=20;
使用過程時,只要將分頁的範圍用兩個引數就可以實現。在ORACLE中,要將過程封裝在包裡,還要用動態遊標變數才能實現資料集的返回。
6、ORACLE中左連線與右連線
左連線:LEFT JOIN 右連線:RIGHT JOIN
select mn,mn from tablename1 n left join tablename2 m
on mnname=mnname
用WHERE實現:
select mn,mn from tablename1 n, tablename2 m
where mnname(+)=mnname
7、什麼是反射、序列化、反序列化?事務有幾種級別?
反射是在程式執行時動態訪問DDL的一種方式。序列化是將物件對二進位制、XML等方式直接向檔案的儲存。反序列化是將儲存到檔案的物件取出的過程。事務的級別的三種:頁面級、應用程式級、資料庫級。
8、資料測試如何測試?
在PLSQL裡對過程或函式可能通過專用的測試工具,通過對
9、用事務的時候,如果在業務邏輯層中,呼叫資料庫訪問層中的方法,訪問層中有很多類,類又有很多方法,每個方法都要實現,那麼如何處理?
通用資料訪問層的實現
10、什麼時候會用到觸發器
A安全管理、B日誌管理、C複雜業務邏輯實現
11、如何在資料庫中顯示樹控制?
用父ID與子ID來實現
12、如何實現資料庫的優化?
A、調整資料結構的設計。這一部分在開發資訊系統之前完成,程式設計師需要考慮是否使用ORACLE資料庫的分割槽功能,對於經常訪問的資料庫表是否需要建立索引等。
B、調整應用程式結構設計。這一部分也是在開發資訊系統之前完成,程式設計師在這一步需要考慮應用程式使用什麼樣的體系結構,是使用傳統的Client/Server兩層體系結構,還是使用Browser/Web/Database的三層體系結構。不同的'應用程式體系結構要求的資料庫資源是不同的。
C、調整資料庫SQL語句。應用程式的執行最終將歸結為資料庫中的SQL語句執行,因此SQL語句的執行效率最終決定了ORACLE資料庫的效能。ORACLE公司推薦使用ORACLE語句優化器(Oracle Optimizer)和行鎖管理器(row-level manager)來調整優化SQL語句。
D、調整伺服器記憶體分配。記憶體分配是在資訊系統執行過程中優化配置的,資料庫管理員可以根據資料庫執行狀況調整資料庫系統全域性區(SGA區)的資料緩衝區、日誌緩衝區和共享池的大小;還可以調整程式全域性區(PGA區)的大小。需要注意的是,SGA區不是越大越好,SGA區過大會佔用作業系統使用的記憶體而引起虛擬記憶體的頁面交換,這樣反而會降低系統。
E、調整硬碟I/O,這一步是在資訊系統開發之前完成的。資料庫管理員可以將組成同一個表空間的資料檔案放在不同的硬碟上,做到硬碟之間I/O負載均衡。
F、調整作業系統引數,例如:執行在UNIX作業系統上的ORACLE資料庫,可以調整UNIX資料緩衝池的大小,每個程序所能使用的記憶體大小等引數。